Восстановление SVP Parent

Восстановление SVP Parent#

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

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

Внимание

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

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

var nvCount = sql(`
	select  count(*) as "nCount"
	from mct_specificationverpos svp 
	join mct_specificationverpos svp2 on svp.idparent  = svp2.id 
	join mct_specificationver sv on svp.idmctdocumentver = sv.id 
	join mct_specification s on sv.idmctdocument  = s.id
	join btk_objecttype bo on s.idobjecttype = bo.id 
	where svp.idmctdocumentver != svp2.idmctdocumentver 
	`).asSingle().nCount;
var nvIter = nvCount / 5000 + 1;
for (i : (1 .. nvIter)){
	var ropList =  sql(`
		select  
			svp.id 	
		from mct_specificationverpos svp 
		join mct_specificationverpos svp2 on svp.idparent  = svp2.id 
		join mct_specificationver sv on svp.idmctdocumentver = sv.id 
		join mct_specification s on sv.idmctdocument  = s.id
		join btk_objecttype bo on s.idobjecttype = bo.id 
		where svp.idmctdocumentver != svp2.idmctdocumentver
		order by svp.id
		limit 5000
		`).batchObjLoad(Mct_SpecificationVerPosApi, "id");
	for (rop : ropList){
		Mct_SpecificationVerPosApi.setidParent(rop, null);
	}
	commit();
}