Перейти к основному содержанию
`Ctrl`+`K`

# Обновление 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();
    }