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

Фильтрация накладывается при показе диалога с запрашиваемыми параметрами в блоке 42 типового маршрута TestTM.

При выполнении задания появляются два запрашиваемых параметра: NewApprover типа «Запись справочника» и NewApproverFilter типа «Строка», который содержит ИД записей справочника через запятую. Параметр типа «Строка» скрывается, его значение (фильтр) накладывается на параметр NewApprover.

XML

 

<!-- В веб-модуле MyExt для карточки заданий использовать JavaScript-файл myext.js -->

<Extension name="MyExt" title="My_Extension" jsfile="/js/myext.js">
<Cards>
  <Card type="Job" jsfile="/js/myext.js" />
  </Card>
</Cards>
</Extension>

JS

 

(function (global) {
 WA.ready(function () {
  switch (WA.getLocation()) {
    case 'job':
      // Карточка задания.
      // Вычисления по фильтрации запрашиваемых параметров.
      var afterShowFunc = {
        "AfterShow": function (callback) {
          // Фильтрация параметра NewApprover,

          // данные для фильтрации в параметре NewApproverFilter.
           setFilterOnAskableParams("NewApprover", "NewApproverFilter");
          return false;
        }
      };
      var jobEvents = {
        "TestTM": {
           blocks: {
            "42": afterShowFunc
          }
        }
      }
       WebAccess.setEvents(jobEvents);
       WebAccess.Job.loadEvents(jobEvents);
      break;
    case 'reference':
      // Карточка записи справочника.
      break;
  }
});
})(window);
 
function setFilterOnAskableParams(paramName, filterParamName) {
var jaskDialog = $('#ask');
var jFilterParam = jaskDialog.find('input#askpar' + filterParamName);
var jParam = jaskDialog.find('input#askpar' + paramName);
// Скрыть параметр для фильтрации.
 jFilterParam.parents('tr').hide();
var filterParam = jFilterParam.val();
if (filterParam !== "") {
   jParam.data('filter', '[ИД] in {' + filterParam + '}');
}

}

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