Создание связи между хозяйственными операциями и документами денежного потока

Создание связи между хозяйственными операциями и документами денежного потока#

Создает записи в коллекции Bts_DocLink для отображения авансового отчета на закладке Связанные документы в интерфейсах хозяйственных операций. Скрипт показывает пример создания связей между документами через коллекцию Bts_DocLink.

Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт

Тип: JEXL-скрипт

var bvDone = false;
while (!bvDone) {
 let l = sql(`select ar.gid as gidsrc, coalesce(td.gid, cf.giddoc) as gidrec
      from pm_advrepcashflow cf
      join pm_advrep ar on ar.id = cf.idadvrep
      left join act_trans t on t.gid = cf.giddoc
      left join act_transdoc td on td.id = t.idtransdoc
      left join bts_doclink dl on dl.gidsrc = ar.gid and dl.gidrec = coalesce(td.gid, cf.giddoc)
     where ar.gid is not null and cf.giddoc is not null and dl.id is null
     limit 100`).asList();
  for(w:l){
    Bts_DocLinkApi.register(w.gidsrc, w.gidrec);
  }
  if (l.isEmpty()) {
    bvDone = true;
  } else {
    session.commit();
  }
}