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