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

# Исправление значений WBS с null у позиций спецификаций

Исправляет значения WBS у позиций спецификаций, в которых строковое значение содержит `null`. Обработка выполняется пакетами с фиксацией изменений после каждой пачки.

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

Внимание

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

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

    var nvCount = sql(`
    	select count(distinct s.id) as "nCount"
    	from mct_specificationverpos svp
    	join mct_specificationver sv on svp.idmctdocumentver = sv.id
    	join mct_specification s on s.id = sv.idmctdocument
    	where lower(svp.swbs) like '%null%'
    	`).asSingle().nCount;
    var nvIter = nvCount / 15 + 1;
    for (i : (1 .. nvIter)){
    	var select = sql(`
    		select distinct s.id
    		from mct_specificationverpos svp
    		join mct_specificationver sv on svp.idmctdocumentver = sv.id
    		join mct_specification s on s.id = sv.idmctdocument
    		where lower(svp.swbs) like '%null%'
    		order by s.id
    		limit 15
    		`);
    	select.batchObjLoad(Mct_SpecificationApi, "id");
    	select.foreach(function(r){
    		Mct_SpecificationVerPosApi.updateWBSBySpec(r.id);
    	});
    	commit();
    }