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

# Обновление 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();