Обновление Journal#
Локальный скрипт модуля MCT. Используется для служебной настройки, миграции, очистки или восстановления данных, связанных с объектами модуля.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Скрипт привязан к объектам конкретного модуля и требует проверки на целевой базе. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.
Тип: JEXL-скрипт
var nvCount = sql(`
select
count(j.id ) as "nCount"
from mct_journal j
join btk_objecttype ot on j.idobjecttype = ot.id
where coalesce(cast(j.jobjattrs_dz ->> 'bProcessed' as numeric), 0) = 0
and ot.scode in ('InitMatList', 'WorkSpSheet', 'PkMatSheet')
`).asSingle().nCount;
var nvIter = nvCount / 100 + 1;
for (i : (1 .. nvIter)){
var ropList = sql(`
select
j.id
from mct_journal j
join btk_objecttype ot on j.idobjecttype = ot.id
where coalesce(cast(j.jobjattrs_dz ->> 'bProcessed' as numeric), 0) = 0
and ot.scode in ('InitMatList', 'WorkSpSheet', 'PkMatSheet')
order by j.id
limit 100
`).batchObjLoad(Mct_JournalApi, "id");
for (rop : ropList){
Mct_JournalPkg.updateJournal(rop);
Mct_JournalApi.setAttrValue(rop, "bProcessed", 1B);
}
commit();
}