Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

В системе DIRECTUM можно использовать ISBL-событие для настройки сложных критериев поиска для управляемых папок, аналогично папкам поиска. Событие настраивается при нажатии на вкладке Главная в группе Настройка на кнопку Событие в карточке справочника Управляемые папки. При нажатии откроется редактор вычислений. Подробнее см. раздел «Редактор вычислений».

Событие может использоваться вместе с критериями управляемых папок. Подробнее см. раздел «Создание управляемой папки».

В результате настройки в управляемую  папку будут попадать те объекты, которые удовлетворяют заданным критериям.

Пример

Постановка задачи

Создать папку, в которую будут автоматически помещаться задания по типовым маршрутам, указанным в критериях. Папка необходима, чтобы пользователи обрабатывали такие задания в потоке. Для этого проверим наличие в системе типовых маршрутов, используемых в критериях управляемой папки «На контроле». Если типовые маршруты есть, добавим их в SQL-запрос поиска.

Программный код

 

  // Получить ИД типовых маршрутов "Контроль исполнения поручения",

  // "Продление срока исполнения" из установок

  // RMProlongationDeadlineStandardRouteCode,

  // RRCAssignmentsControlStandardRouteCode

  RouteNamesList = CreateList()

  RouteNamesList.Add('ProlExDate'; 'RMProlongationDeadlineStandardRouteCode')

  RouteNamesList.Add('RMExАCntrl'; 'RRCAssignmentsControlStandardRouteCode') 

    // Проверить наличие типовых маршрутов в системе

  RoutesID = CreateStringList()

  while not RouteNamesList.EOF

    Value = RouteNamesList.Value

    StandardRouteCode = GetConstant(Value;; '')

    if not Assigned(StandardRouteCode)

      StandardRouteCode = RouteNamesList.Names(RouteNamesList.IndexOf(Value))

    endif

    StandardRouteID = References.SYSREF_STANDARD_ROUTES.ObjectInfoByCode(StandardRouteCode).ID 

    if Assigned(StandardRouteID)

      RoutesID.Add(StandardRouteID)

    endif

    RouteNamesList.Next 

  Endwhile

  // Добавить типовые маршруты в критерии поиска

  Criteria = Sender.SearchCriteria

  Criteria.AddWhere = Format('(Tasks.StandardRoute in (%s) or (Tasks.State = "C" and Tasks.WorkflowRouteType = "S"))'; RoutesID.DelimitedText)

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }