как задать команду поиска в массиве представления по фильтру
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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
|
roker пишет: | В любом фильтре можно поставить галочку доп. условие и прописать командами типа like, or, and, sysdate, trim... условия поиска. Думал, может в языке платформы уже есть какая-то команда, которая отправит анализировать реквизиты в массиве.
| Команды эти есть, но они видят только те реквизиты, которые выведены в строке . В Вашем случае у Вас в строку выведен ID массива, что там внутри, команды не увидят. |
|
 |
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 '%налог%') |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|