# Наборы значений Наборы значений находятся в `Приложение "Настройка системы"` -> `Настройки и сервисы` -> `Наборы значений` ![](img/220/valueSet.jpg) На вкладке `Структура набора` \ Настраивается условие универсального фильтра которое задает какие значения попадают в текущий набор значений На вкладке `Структура` \ Можно задать подчиненные наборы значений значения которых будут добавлены к текущему в запросах ## Работа с наборами значений ### Универсальный фильтр Набор значений можно задать как значение для ссылочных атрибутов в УФ ![](img/220/uf.jpg) ### Код Методы подбора значений находятся в `ru.bitec.app.btk.valueset.Btk_ValueSetApi` #### `ru.bitec.app.btk.valueset.Btk_ValueSetApi#getValueSetSQL(id, bWithStructure)` Возвращает SQL строку типа ```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 - Алиас для фильтруемой таблицы ### Печатные формы Нужно добавить условие набора в параметры ПФ Через процедуру дополнительных параметров \ Подробнее см. [Процедура получения дополнительных параметров печати для ПФ](../060_reports/115_Отчеты.md#процедура-получения-дополнительных-параметров-печати-для-пф) ```javascript propertyMap.update("myCondition", Btk_ValueSetApi.getValueSetStructureSQL(Btk_ValueSetApi.findByMnemoCode("Import_Goods"))) ``` #### Jasper Добавить параметр в отчет ```xml ``` ```sql SELECT * FROM Bs_Goods t WHERE t.id IN ($P!{myCondition}) ``` #### Шаблоны отчетов(DOCX, XLXS, TXT) ```sql SELECT * FROM Bs_Goods t WHERE t.id IN (&myCondition) ```