БИБЛИОТЕКА ДЛЯ РАБОТЫ С ФИЛЬТРАМИ


ПРОЦЕДУРЫ


SelectFltObject (iTableName, iFieldFltStr, iFieldValueFltStr, iFieldBlockStr) - процедура формирования таблицы tmprecid  с записями браузера, без его непосредственного вывода.

  • iTableName - класс метасхемы по которому формируется браузер, тип CHAR;
  • iFieldFltStr - список кодов параметров предустанавливаемого фильтра, с разделителем CHR(1), тип CHAR;
  • iFieldValueFltStr - список значений соответствующих кодов полей предустанавливаемого фильтра, перечисленных в ipCodeLstChar с разделителем CHR(1), тип CHAR;
  • iFieldBlockStr - список блокируемых для изменения кодов параметров фильтра, тип CHAR.

Как мы можем видеть, набор параметров данной процедуры аналогичен набору параметров процедуры вызова браузера объектов метасхемы browseld.p. Это закономерно, ведь данная процедура аналогична процедуре вызова браузера, с той лишь разницей, что сам браузер визуально не отображается, а все его записи переносятся во временную таблицу tmprecid, как если бы они были отмечены в браузере. В данном случае не совсем понятно назначение входного параметра iFieldBlockStr, так как браузер визуально не отображается, а следовательно и полей, которые необходимо заблокировать для изменения - нет. 

Основным применением данной процедуры я вижу в формировании временной таблицы tmprecid с записями объектов браузера построенного на основе пользовательской настройки, или проще говоря - пользовательского фильтра. Вам наверняка приходилось работать со стандартными транзакциями обрабатывающими объекты по фильтру, который в свою очередь указывается в доп. реквизите самой транзакции. Именно такой функционал может легко быть реализован с помощью данной процедуры.

{globals.i}
{tmprecid.def}
{intrface.get flt}

DEF INPUT PARAM iFltPar AS CHAR NO-UNDO.

RUN SelectFltObject in h_flt ("loan_allocat",

                              "UserConf",
                              iFltPar,
                              "").
FOR EACH tmprecid:
...
END.

{intrface.del}

В представленном выше примере таблица tmprecid будет содержать ссылки на кредитные договора отобранные по пользовательскому фильтру. При этом сам пользовательский фильтр передается строкой во входном параметре iFltPar, которая представляет собой набор значений параметров пользовательской настройки с разделителем запятая: <ВВЕЛ>,<ПРОЦЕДУРА>,<ОПИСАНИЕ>,<КОД ПАРАМЕТРА>.


TestRecord (iTable, iSurrogate, iUserConfig, OUTPUT oResult) - процедура проверки соответствия записи указанной пользовательской настройки фильтра.

  • iTable - таблица проверяемой записи, тип CHAR;
  • iSurrogate - суррогат проверяемой записи, тип CHAR;
  • iUserConfig - параметры пользовательской настройки, тип CHAR;
  • oResult - результат сравнения, тип LOGICAL.

 

Вы здесь: Главная ИБС Бисквит БАЗОВЫЙ БИБЛИОТЕКИ ИНТЕРФЕЙСОВ БИБЛИОТЕКА ДЛЯ РАБОТЫ С ФИЛЬТРАМИ