Инициализация документа параметрами селекционного экрана отчета#
Используется, чтобы передать значения фильтров селекционного экрана отчета в атрибуты создаваемого документа, например бизнес-объект или период. Скрипт обеспечивает корректную инициализацию документа при запуске маршрута согласования из отчетной формы.
Место применения: Настройки системы > Отчеты > Настройка отчетных форм > [Отчетная форма] > Редактировать > Тип документа создаваемого по отчету > [Документ] > Поле "Процедура установки атрибутов документа".
Тип: JEXL-скрипт
var rop = Wf_DocApi.load(idDoc); // Загружаем объект WF_Doc как переменную
var ropRpt = Rpt_EntityExecApi.load(idEntityExec); // Создаем объект селекционного экрана в кэше
var jsonString = ropRpt.jParams.toString(); // Получаем набор параметров
var json = toJObject(jsonString); // Записываем полученные параметры в json
var jData = Wf_DocApi.getJData(rop); // Передаем json с параметрами в Wf_Doc
var idBisObj = json.getLong("flt_idbisobj"); // Из Json параметров получаем значение конкретного атрибута строкой
/*
// Возможность получения данных в т.ч. запросом
var idacceptmnemo = json.getString("flt_idaccept");
var sql_text = `select id from bs_employee be where smnemocode_dz = '` + idacceptmnemo + `' and be.sposition = '` + idacceptpos + `'`;
*/
// Установка значений
Wf_DocApi.setidBisObj(rop, idBisObj);
// Wf_DocApi.setidBisObj(rop, json.getLong("flt_idBisObj")); // Альтернативный вариант сеттера
// Wf_DocApi.setObjAttrValue(rop, 'nYear', json.getLong("flt_nyear")); Сеттер для Json атрибута