Заполнение отсутствующего WBS у позиций спецификаций

Заполнение отсутствующего WBS у позиций спецификаций#

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

Место применения: Сервис > Инструменты > Выполнить 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 svp.swbs is 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 svp.swbs is null 
		order by s.id
		limit 15
		`);
	select.batchObjLoad(Mct_SpecificationApi, "id");
	select.foreach(function(r){
		Mct_SpecificationVerPosApi.updateWBSBySpec(r.id);
	});
	commit();
}