Обновление Prj Ver Obj Type And State

Обновление Prj Ver Obj Type And State#

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

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

Внимание

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

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

var idvDefObjectType = Btk_ObjectTypeApi.getDefaultObjType(Bs_PrjVerApi.idClass(), null);
var idvStateOpen = Bs_PrjVerApi.idStateOpen();
var idvStateArchive = Bs_PrjVerApi.idStateArchive();
var select = sql(`
	select 
		id
		,t.bNotActive as "bNotActive"
	from Bs_PrjVer t 
	where t.idObjectType is null 
	or t.idState is null 
	`);
select.batchObjLoad(Bs_PrjVerApi, "id");
select.foreach(function(r){
	var rop = Bs_PrjVerApi.load(r.id);
	Bs_PrjVerApi.setidObjectType(rop, idvDefObjectType);
	if(r.bNotActive == 1B){
		Bs_PrjVerApi.setidState(rop, idvStateArchive);
	} else {
		Bs_PrjVerApi.setidState(rop, idvStateOpen);
	}
});
commit();