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

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