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

# Обновление OS Journal

Локальный скрипт модуля MCT. Используется для служебной настройки, миграции, очистки или восстановления данных, связанных с объектами модуля.

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

Внимание

Скрипт привязан к объектам конкретного модуля и требует проверки на целевой базе. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.

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

    var nvCount = sql(`
    	select
    		count(*) as "nCount"
    	from mct_ordersheetver sv
    	join mct_ordersheet s on sv.idmctdocument = s.id
    	where sv.idstatemc = 300
    	and exists (
    		select 1
    		from mct_ordersheetverdet svp
    		where svp.idordersheetver  = sv.id
    		and svp.nqty > 0
    		and svp.idgoods is not null
    	)
    	`).asSingle().nCount;
    var nvIter = nvCount / 100 + 1;
    for (i : (1 .. nvIter)){
    	var nvOffset = (i-1) * 100
    	var sel =  sql(`
    		select
    			sv.gid
    			,sv.id
    		from mct_ordersheetver sv
    		join mct_ordersheet s on sv.idmctdocument = s.id
    		where sv.idstatemc = 300
    		and exists (
    			select 1
    			from mct_ordersheetverdet svp
    			where svp.idordersheetver  = sv.id
    			and svp.nqty > 0
    			and svp.idgoods is not null
    		)
    		order by sv.id
    			`
    			+ "offset " + nvOffset + " limit 100")
    	sel.batchObjLoad(Mct_OrderSheetVerApi, "id");
    	sel.foreach(function(r){
    		Mct_JournalPkg.fillByOrderSheet(r.gid);
    	});
    	commit();
    }