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

# Восстановление 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();
    }