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

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

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

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

Внимание

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

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

var nvCount = sql(`
	select 
		count(*) as "nCount"
	from mct_specificationver sv 
	join mct_specification s on sv.idmctdocument = s.id 
	left join mct_objecttype mot on mot.idbtkobjecttype = s.idobjecttype 
	where sv.idstatemc = 300 
	and coalesce(mot.bisprjdoc, 0) = 0
	`).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_specificationver sv 
		join mct_specification s on sv.idmctdocument = s.id 
		left join mct_objecttype mot on mot.idbtkobjecttype = s.idobjecttype 
		where sv.idstatemc = 300 
		and coalesce(mot.bisprjdoc, 0) = 0
		order by sv.id 
			`
			+ "offset " + nvOffset + " limit 100")
	sel.batchObjLoad(Mct_SpecificationVerApi, "id");
	sel.foreach(function(r){ 
		Mct_JournalPkg.fillBySpecification(r.gid);
	});
	commit();
}