| Предыдущая тема :: Следующая тема | 
	
	
		| Автор | Сообщение | 
	
		| nata Участник
 
 
 Вступление в Клуб: 07.09.2009
 
 | 
			
				|  Ср Июл 31, 2013 13:01   Статус документа финансового распоряжения |   |  
				| Полезность: Нет оценки 
 |  
				| Добрый день! Помогите. пожалуйста. Стоит задача в преставлении создать столбец в котором хранится статус документа определенного финансового распоряжения.
 В нужном столбце представления. Параметр Источник данных пишем
 
 (select count(*) from Z#PATTERN_DISTR a2, Z#FIN_ORDER a1
 where
 a1.C_PRODUCT = a1_1.id
 and a1.C_PATTERN_DOC_REF=a2.id
 and (a2.C_PATTERN_CODE = 'BL_CRED_OUT'))
 это мы выбрали финансовые распоряжения бизнес операции.
 как по фин распоряжению дальше выбрать документы с определенным статус затык.
 |  | 
	
		|  | 
	
		| Alexsey Эксперт
 
 
 Вступление в Клуб: 06.09.2007
 
 | 
			
				|  Ср Июл 31, 2013 13:21   Re: Статус документа финансового распоряжения |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | nata пишет: |  	  | Добрый день! Помогите. пожалуйста. Стоит задача в преставлении создать столбец в котором хранится статус документа определенного финансового распоряжения.
 В нужном столбце представления. Параметр Источник данных пишем
 
 
  	  | Код: |  	  | (select count(*) from Z#PATTERN_DISTR a2, Z#FIN_ORDER a1 where
 a1.C_PRODUCT = a1_1.id
 and a1.C_PATTERN_DOC_REF=a2.id
 and (a2.C_PATTERN_CODE = 'BL_CRED_OUT'))
 | 
 это мы выбрали финансовые распоряжения бизнес операции.
 как по фин распоряжению дальше выбрать документы с определенным статус затык.
 | 
 
 
  	  | Код: |  	  | (select count(*) from Z#PATTERN_DISTR a2, Z#FIN_ORDER a1 where
 a1.C_PRODUCT = a1_1.id
 and a1.C_PATTERN_DOC_REF=a2.id
 and (a2.C_PATTERN_CODE = 'BL_CRED_OUT'))
 -- Здесь указываем статус например "Исполнен"
 and a1.STATE_ID = 'PROV'
 | 
 
 И для чего такой сложный запрос, если необходимо вытащить статус документа во вьюху?
 Для этого:
 1. В простом представлении достаточно вытащить поле "Cостояние".
 2. В PL+ вывести %statename.
 _________________
 всегда есть как минимум 2 выхода
 |  | 
	
		|  | 
	
		| nata Участник
 
 
 Вступление в Клуб: 07.09.2009
 
 | 
			
				|  Ср Июл 31, 2013 13:30    |   |  
				| Полезность: Нет оценки 
 |  
				| Нам нужен статус платежного документа |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Ср Июл 31, 2013 13:39    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | nata пишет: |  	  | Нам нужен статус платежного документа | 
 
 Так вам собственно и рассказали, как его вывести (проведён, ликвидирован, к кассиру и т.д.).
 Или что вы имеете в виду под статусом документа?
 |  | 
	
		|  | 
	
		| Alexsey Эксперт
 
 
 Вступление в Клуб: 06.09.2007
 
 | 
			
				|  Ср Июл 31, 2013 13:40    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | nata пишет: |  	  | Нам нужен статус платежного документа | 
 Как вы это себе представляете? На фин. распоряжениях порожденные документы это массив, причем документов верхнего уровня. Можно конечно извратиться. Только что-то мне подсказывает, что распоряжение не перейдет в конечное состояние  пока все документы не будут проведены. Из чего следует, что документ перешли в конечное состояние "Проведен" и были исполнены. Так что на мой взгляд стоит проговорить целесообразность данной доработки с бизнесом.
 _________________
 всегда есть как минимум 2 выхода
 |  | 
	
		|  | 
	
		| nata Участник
 
 
 Вступление в Клуб: 07.09.2009
 
 | 
			
				|  Ср Июл 31, 2013 14:08    |   |  
				| Полезность: Нет оценки 
 |  
				| Нам нужно контролировать состояние документов в продукте. А так финасовое распоряжение исполнено когда документ проведен. А если документ внешний, то тогда возникает статус в РЦ, а здесь уже задержки в обработке. Документов в РЦ много и пока обработается нужный для бизнеса тоже много времени уходит. поэтому стоит задача: Чтобы пользователь , обработавший сделку, уже видел что он необходимые для него телодвижения сделал. И не просматривал финансовые распоряжения.
 |  | 
	
		|  | 
	
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Ср Июл 31, 2013 14:40    |   |  
				| Полезность: Нет оценки 
 |  
				| Ну как вариант - сделать в представлении в фин-распоряжениях  колонку, в которой селект будет смотреть массив плат. документов папки ФР , если все в статусах ('проведен','оплачен') тогда выводим ОК иначе " не ОК" , например case или decode. 
 щас код некогда писать, на работе завал ...
 |  | 
	
		|  | 
	
		| Alexsey Эксперт
 
 
 Вступление в Клуб: 06.09.2007
 
 | 
			
				|  Ср Июл 31, 2013 15:02    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | nata пишет: |  	  | Нам нужно контролировать состояние документов в продукте. А так финасовое распоряжение исполнено когда документ проведен. А если документ внешний, то тогда возникает статус в РЦ, а здесь уже задержки в обработке. Документов в РЦ много и пока обработается нужный для бизнеса тоже много времени уходит. поэтому стоит задача: Чтобы пользователь , обработавший сделку, уже видел что он необходимые для него телодвижения сделал. И не просматривал финансовые распоряжения.
 | 
 Насколько я знаю, задержки в обработке документов в статусе РЦ, при включенной автообработке, возникают, когда документ требует  либо дополнительного утверждения, либо в документе возникла какая-либо ошибка.
 Опять же хочу отметить что есть множество промежуточных состояний документа, например: "Проконтролировать", "На подтверждение", которые настраиваются в справочниках или продукте "Обслуживание счетов банка".
 Как писал уважаемый Vtar проще сделать флаг "ОК" и "не Ок", только как это поможет от промежуточных состояний?
 В общем тут надо сначала продумать как следует доработку, учесть все подводные камни и только потом реализовывать.
 _________________
 всегда есть как минимум 2 выхода
 |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Ср Июл 31, 2013 15:15    |   |  
				| Полезность: Нет оценки 
 |  
				| Как вариант - выводите максимальный статус из папки документов по данному фин.распоряжению. Тогда пользователь будет видеть прошел он или висит в статусе "в РЦ".
 И дальше пусть действует как у вас принято или забивает (т.к. от него более не требуется) или подталкивает сотрудников РЦ
 |  | 
	
		|  | 
	
		| nata Участник
 
 
 Вступление в Клуб: 07.09.2009
 
 | 
			
				|  Ср Июл 31, 2013 15:22    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | yaffil пишет: |  	  | Как вариант - выводите максимальный статус из папки документов по данному фин.распоряжению. Тогда пользователь будет видеть прошел он или висит в статусе "в РЦ".
 И дальше пусть действует как у вас принято или забивает (т.к. от него более не требуется) или подталкивает сотрудников РЦ
 | 
 
 А как вывести максимальный статус из папки документо по финансовому распоряжению?
 |  | 
	
		|  | 
	
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Ср Июл 31, 2013 15:48    |   |  
				| Полезность: Нет оценки 
 |  
				| Используя case или decode для присвоения рейтинга вашим состояниям (например 0 самый низкий (статус не обработано), 10 самый высокий (статус проведён)). Какие переходы у вас настроены, знаете только вы. Но, в принципе, они все описаны в доке, например для кредитов Глава 6-08 (Работа с финансовыми распоряжениями и платежными документами).pdf
 |  | 
	
		|  | 
	
		| Random Эксперт
 
 
 Вступление в Клуб: 27.06.2011
 
 | 
			
				|  Чт Авг 01, 2013 07:12    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | nata пишет: |  	  |  	  | yaffil пишет: |  	  | Как вариант - выводите максимальный статус из папки документов по данному фин.распоряжению. Тогда пользователь будет видеть прошел он или висит в статусе "в РЦ".
 И дальше пусть действует как у вас принято или забивает (т.к. от него более не требуется) или подталкивает сотрудников РЦ
 | 
 
 А как вывести максимальный статус из папки документо по финансовому распоряжению?
 | 
 
 Можно не максимальный, а все (ну или по набору состояний)
 
  	  | Код: |  	  | select id, wm_concat(text) from (
 select i1.id, j1.state_id||':'||count(1) text
 from Z#MAIN_DOCUM j1, Z#DOC_IN_FOLD i2, Z#FOLDER_PAY i1
 where   i1.C_DOCS_IN_FOLD=i2.collection_id
 and i2.C_DOCUMENT = j1.ID
 group by i1.id, j1.state_id
 order by i1.id, j1.state_id
 )
 group by id
 | 
 |  | 
	
		|  | 
	
		| devor Профи
 
 
 Вступление в Клуб: 13.02.2012
 
 | 
			
				|  Чт Авг 01, 2013 11:02    |   |  
				| Полезность: 1 
 |  
				|  	  | Random пишет: |  	  | 
 Можно не максимальный, а все (ну или по набору состояний)
 
  	  | Код: |  	  | select id, wm_concat(text) from (
 select i1.id, j1.state_id||':'||count(1) text
 from Z#MAIN_DOCUM j1, Z#DOC_IN_FOLD i2, Z#FOLDER_PAY i1
 where   i1.C_DOCS_IN_FOLD=i2.collection_id
 and i2.C_DOCUMENT = j1.ID
 group by i1.id, j1.state_id
 order by i1.id, j1.state_id
 )
 group by id
 | 
 
 | 
 wm_concat - очень плохо, недокументированная функция..
 В Oracle 11 есть халяльно-кошерно-православный LISTAGG
 
 
 
  	  | Код: |  	  | select id, LISTAGG(text, ';')
 WITHIN GROUP (order by id)
 from (
 select i1.id, j1.state_id||':'||count(1) text
 from Z#MAIN_DOCUM j1, Z#DOC_IN_FOLD i2, Z#FOLDER_PAY i1
 where   i1.C_DOCS_IN_FOLD=i2.collection_id
 and i2.C_DOCUMENT = j1.ID
 group by i1.id, j1.state_id
 order by i1.id, j1.state_id
 )
 group by id
 | 
 |  | 
	
		|  | 
	
		| nata Участник
 
 
 Вступление в Клуб: 07.09.2009
 
 | 
			
				|  Чт Авг 01, 2013 16:56    |   |  
				| Полезность: Нет оценки 
 |  
				| Не получается вывести в продукте статус документа финансового распоряжения. Т.е. статус платежного документа мы хотели вывести в продукте.
 Финансовое распоряжение выбираем с определенной бизнес операцией, другие не интересуют.
 По данной бизнес операции формируется один документ.
 Вот статус обратки данного документа необходимо вывести.
 Совсем запуталась....
 |  | 
	
		|  | 
	
		| Ghost Профи
 
 
 Вступление в Клуб: 24.11.2007
 
 | 
			
				|  Чт Авг 01, 2013 17:39    |   |  
				| Полезность: Нет оценки 
 |  
				| Наташа, привет! А что за продукт? Может есть проще вариант чем вычислять статус документа. |  | 
	
		|  | 
	
		|  |