Наборы значений#

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

На вкладке Структура набора
Настраивается условие универсального фильтра которое задает какие значения попадают в текущий набор значений

На вкладке Структура
Можно задать подчиненные наборы значений значения которых будут добавлены к текущему в запросах

Работа с наборами значений#

Универсальный фильтр#

Набор значений можно задать как значение для ссылочных атрибутов в УФ

Код#

Методы подбора значений находятся в 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)