Наборы значений#
Наборы значений находятся в Приложение "Настройка системы" -> Настройки и сервисы -> Наборы значений.

На вкладке Структура набора настраивается условие универсального фильтра, которое задает какие значения попадают в текущий набор значений.
На вкладке Структура можно задать подчиненные наборы значений, значения которых будут добавлены к текущему в запросах.
Работа с наборами значений#
Универсальный фильтр#
Набор значений можно задать как значение для ссылочных атрибутов в УФ:

Код#
Методы подбора значений находятся в ru.bitec.app.btk.valueset.Btk_ValueSetApi.
ru.bitec.app.btk.valueset.Btk_ValueSetApi#getValueSetSQL(id, bWithStructure)#
Возвращает SQL строку типа:
SELECT t.id FROM Bs_Goods t
WHERE upper(t.sName) = upper('ИМПОРТНЫЙ ТМЦ')
UNION
SELECT t.id FROM Bs_Goods t
WHERE upper(t.sName) like upper('t'||'%')
UNION
... -- И так все наборы значений входящие в структуру переданного
Параметры:
id- идентификатор набора значений.bWithStructure- добавлять вложенные наборы значений.
ru.bitec.app.btk.valueset.Btk_ValueSetApi#getValueSetGidSQL(id, bWithStructure)#
Тоже что и ru.bitec.app.btk.valueset.Btk_ValueSetApi#getValueSetSQL только gid вместо id.
ru.bitec.app.btk.valueset.Btk_ValueSetApi#getWhereCondition(id, tableName)#
Возвращает WHERE условие для переданного набора значений.
Параметры:
id- идентификатор набора значений;tableName- алиас для фильтруемой таблицы.
Печатные формы#
Нужно добавить условие набора в параметры ПФ.
Через процедуру дополнительных параметров
Подробнее см. Процедура получения дополнительных параметров печати для ПФ
propertyMap.update("myCondition", Btk_ValueSetApi.getValueSetStructureSQL(Btk_ValueSetApi.findByMnemoCode("Import_Goods")))
Jasper#
Добавить параметр в отчет
<parameter name="myCondition" class="java.lang.String"/>
SELECT *
FROM Bs_Goods t
WHERE t.id IN ($P!{myCondition})
Шаблоны отчетов(DOCX, XLXS, TXT)#
SELECT *
FROM Bs_Goods t
WHERE t.id IN (&myCondition)