Jexl Update OS Material List#
Локальный скрипт модуля MCT. Используется для служебной настройки, миграции, очистки или восстановления данных, связанных с объектами модуля.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Скрипт привязан к объектам конкретного модуля и требует проверки на целевой базе. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.
Тип: JEXL-скрипт
var nvCount = sql(`
select count(distinct osv.gid ) as "nCount"
from mct_ordersheet os
join mct_ordersheetver osv on osv.idmctdocument = os.id and osv.idstatemc = 300
join mct_ordersheetverdet d on d.idordersheetver = osv.id
join mct_journal j on j.gidsrcver = osv.gid
join mct_materiallist ml on ml.idjournal = j.id
where (os.bnotformingneed = 1
or d.bpurchnotreq = 1)
and ml.bNotFormNeed is null
`).asSingle().nCount;
var nvIter = nvCount / 100 + 1;
for (i : (1 .. nvIter)){
sql(`
select distinct
osv.gid as "gid"
from mct_ordersheet os
join mct_ordersheetver osv on osv.idmctdocument = os.id and osv.idstatemc = 300
join mct_ordersheetverdet d on d.idordersheetver = osv.id
join mct_journal j on j.gidsrcver = osv.gid
join mct_materiallist ml on ml.idjournal = j.id
where (os.bnotformingneed = 1
or d.bpurchnotreq = 1)
and ml.bNotFormNeed is null
order by osv.gid
limit 100`).foreach(function(f){
Mct_JournalPkg.fillByOrderSheet(f.gid);
});
commit();
}