| 
 
  
	| как задать команду поиска в массиве представления по фильтру 
 
 |  
	
		| Предыдущая тема :: Следующая тема |  
		| Автор | Сообщение |  
		| roker Участник
 
 
 Вступление в Клуб: 01.03.2013
 
 | 
			
				|  Пт Мар 01, 2013 09:50   как задать команду поиска в массиве представления по фильтру |   |  
				| Полезность: Нет оценки 
 |  
				| Поскажите, пожалуйста, есть ли в ЦФТ-Банк (IBSO) команда для задания дополнительного условия в фильтре представлений, которая бы мониторила искомое значение в массиве представления? 
 К примеру, в представлении П имеется 3 реквизита: А, В, С
 
 Реквизит С является ссылкой на массив с реквизитами: D, E
 
 Можно ли задать фильтр в Представлении П поиска экземпляров по значениям в реквизитах А и Е???
 
 Заранее благодарен за помощь!
 |  |  
		|  |  
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Пт Мар 01, 2013 10:22    |   |  
				| Полезность: 1 
 |  
				| Простой фильтр так не умеет, массив можно отфильтровать только по условию "пусто/не пусто". 
 Для Вашего случая возможно, поможет доработка
 
 -ОПЕРАЦИИ-фильтра (которая уже сможет "залезть" внутрь массива по ссылке )
 
 - или  модифицировать представление, развернув массив
 |  |  
		|  |  
		| roker Участник
 
 
 Вступление в Клуб: 01.03.2013
 
 | 
			
				|  Пт Мар 01, 2013 10:46    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | vtar пишет: |  	  | Простой фильтр так не умеет, массив можно отфильтровать только по условию "пусто/не пусто". 
 Для Вашего случая возможно, поможет доработка
 
 -ОПЕРАЦИИ-фильтра (которая уже сможет "залезть" внутрь массива по ссылке )
 
 - или  модифицировать представление, развернув массив
 | 
 
 Я не из ИТ-отдела. Доработки займут какое-то время, в основном это связано с согласованиями, оформлением всяких заявок, тех. заданий и пр.. В любом фильтре можно поставить галочку доп. условие и прописать командами типа like, or, and, sysdate, trim... условия поиска. Думал, может в языке платформы уже есть какая-то команда, которая отправит анализировать реквизиты в массиве.
 
 Спасибо за советы!
 |  |  
		|  |  
		| Andry Участник - экстремал
 
 
 Вступление в Клуб: 14.01.2009
 
 | 
			
				|  Пт Мар 01, 2013 11:58    |   |  
				| Полезность: 1 
 |  
				|  	  | roker пишет: |  	  | В любом фильтре можно поставить галочку доп. условие и прописать командами типа like, or, and, sysdate, trim... условия поиска. Думал, может в языке платформы уже есть какая-то команда, которая отправит анализировать реквизиты в массиве. 
 Спасибо за советы!
 | 
 В представление скрыто выводится реквизит аттрибута C, и используя это значение можно на чистом SQL написать условие-подзапрос по типу массива по условию collection_id = ref3
 |  |  
		|  |  
		| yaffil Профи
 
 
 Вступление в Клуб: 18.08.2011
 
 | 
			
				|  Пт Мар 01, 2013 12:02    |   |  
				| Полезность: 1 
 |  
				| Фильтр - это тупо наложение доп условия на срез, который у тебя в представлении. И но не умеет ходить по ссылкам и переходам. 
 Если вам не критично, то можете сделать расширение и вытащить значения реквизитов в массиве на представление и накладывать фильтр. Но количество записей увеличится, на количество записей в массиве по каждой строке.
 |  |  
		|  |  
		| vtar Эксперт
 
 
 Вступление в Клуб: 20.03.2009
 
 | 
			
				|  Пт Мар 01, 2013 12:07    |   |  
				| Полезность: 1 
 |  
				| Команды эти есть, но они видят только те реквизиты, которые выведены в строке . В Вашем случае у Вас в строку выведен ID массива, что там внутри, команды не увидят. 	  | roker пишет: |  	  | В любом фильтре можно поставить галочку доп. условие и прописать командами типа like, or, and, sysdate, trim... условия поиска. Думал, может в языке платформы уже есть какая-то команда, которая отправит анализировать реквизиты в массиве. 
 | 
 |  |  
		|  |  
		| roker Участник
 
 
 Вступление в Клуб: 01.03.2013
 
 | 
			
				|  Пт Мар 01, 2013 12:25    |   |  
				| Полезность: Нет оценки 
 |  
				| Всем спасибо! придется выводить реквизиты в представление. |  |  
		|  |  
		| Andry Участник - экстремал
 
 
 Вступление в Клуб: 14.01.2009
 
 | 
			
				|  Пт Мар 01, 2013 12:57    |   |  
				| Полезность: 1 
 |  
				| Жаль, я думал что в доп. свойстве фильтра можно писать что-то вроде 
  	  | Код: |  	  | exists (SELECT * from Z#PATTERN  P where P.COLLECTION_ID = REF4 and P.C_CODE = 'УЧЕТ_НАЧ_ПРЦ_1') | 
 (должно было работать в "Бизнес-операции (полный список)")
 |  |  
		|  |  
		| Vlad Участник
 
 
 Вступление в Клуб: 23.06.2007
 
 | 
			
				|  Пт Мар 01, 2013 14:00    |   |  
				| Полезность: 2 
 |  
				|  	  | Andry пишет: |  	  | Жаль, я думал что в доп. свойстве фильтра можно писать что-то вроде 
  	  | Код: |  	  | exists (SELECT * from Z#PATTERN  P where P.COLLECTION_ID = REF4 and P.C_CODE = 'УЧЕТ_НАЧ_ПРЦ_1') | 
 (должно было работать в "Бизнес-операции (полный список)")
 | 
 
 Можно такие условия писать, под владельцем точно будут работать. У обычных пользователей нет прав на таблицы, надо использовать представления. Как пример доп. условие на представление "Подробная форма" в фин счетах:
 
 substr(C_1, 1,4) in ('4081', '4082', '4230', '4260')
 and (select count(*) from ibs.VW_CRIT_AC_FIN_OPEN acf where acf.ref11 = VW_CRIT_AC_FIN.ref3) > 0
 |  |  
		|  |  
		| roker Участник
 
 
 Вступление в Клуб: 01.03.2013
 
 | 
			
				|  Вт Мар 05, 2013 08:49    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | Vlad пишет: |  	  |  	  | Andry пишет: |  	  | Жаль, я думал что в доп. свойстве фильтра можно писать что-то вроде 
  	  | Код: |  	  | exists (SELECT * from Z#PATTERN  P where P.COLLECTION_ID = REF4 and P.C_CODE = 'УЧЕТ_НАЧ_ПРЦ_1') | 
 (должно было работать в "Бизнес-операции (полный список)")
 | 
 
 Можно такие условия писать, под владельцем точно будут работать. У обычных пользователей нет прав на таблицы, надо использовать представления. Как пример доп. условие на представление "Подробная форма" в фин счетах:
 
 substr(C_1, 1,4) in ('4081', '4082', '4230', '4260')
 and (select count(*) from ibs.VW_CRIT_AC_FIN_OPEN acf where acf.ref11 = VW_CRIT_AC_FIN.ref3) > 0
 | 
 
 не силен в синтаксисе, подскажи, как можно попробовать задать условие поиска, если в Представлении (задаю стандартеные условия поиска) + в реквизите С_31 ссылка на массив "Папка платежей" называется кажется ibs.VW_CRIT_FOLDER_PAY, !!!здесь поиск элементов по названию бизнес-операции по условию С_3 like '%налог%'.
 Справочник бизнес-операций называется ibs.VW_CRIT_PATTERN_DOC
 |  |  
		|  |  
		| Vlad Участник
 
 
 Вступление в Клуб: 23.06.2007
 
 | 
			
				|  Вт Мар 05, 2013 12:23    |   |  
				| Полезность: Нет оценки 
 |  
				|  	  | roker пишет: |  	  | не силен в синтаксисе, подскажи, как можно попробовать задать условие поиска, если в Представлении (задаю стандартеные условия поиска) + в реквизите С_31 ссылка на массив "Папка платежей" называется кажется ibs.VW_CRIT_FOLDER_PAY, !!!здесь поиск элементов по названию бизнес-операции по условию С_3 like '%налог%'.
 Справочник бизнес-операций называется ibs.VW_CRIT_PATTERN_DOC
 | 
 Насколько я понял задачу, в папках платежей можно искать обычным фильтром, без использования доп. параметров, по наименованию бизнес операции. Но если хочется через доп. параметры, то синтаксис будет такой:
 ibs.VW_CRIT_FOLDER_PAY.REF4 in (select  bo.id from ibs.VW_CRIT_PATTERN_DOC bo where lower(bo.C_3) like '%налог%')
 |  |  
		|  |  
		|  |  
  
	| 
 
 | Вы не можете начинать темы Вы не можете отвечать на сообщения
 Вы не можете редактировать свои сообщения
 Вы не можете удалять свои сообщения
 Вы не можете голосовать в опросах
 
 |  |