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

# Миграция Object Type Proc Oper

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

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

Внимание

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

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

    sql(`
    select
    		mot.id as "idObjectType"
    		,ot.sCaption as "sCaption"
    	from btk_ObjectType ot
    	left join mct_objectType mot on ot.id = mot.idbtkobjecttype
    	where ot.idrefclass = (select id from btk_class where sname = 'Mct_Specification')
     `).foreach(function(r){
    @begin{
    	println(r.sCaption);
    	Mct_ObjectTypeProcOperApi.register(idpMctObjectType = r.idObjectType,
          spSystemName = "recalcNormPerUnit",
          spCaption = "Пересчитать нормы расхода на ед.",
          npImage = 122B,
          npOrder = 90B,
          spApplicationMethod = "Mct_SpecificationVerPosApi().recalcNormPerUnit()",
    	  bpIsActive = 1B);
      }
    @exception
    function(exp){
    	println("[JEXL Exception] " + exp.getCause());
    }end;
    }) ;
    commit();
    sql(`
    	select id as "idProcOper"
    	from Mct_ObjectTypeProcOper
    	where ssystemname = 'validateAllPos'
     `).foreach(function(r){
    @begin{
    	var ropProcOper = Mct_ObjectTypeProcOperApi.load(r.idProcOper);
    	Mct_ObjectTypeProcOperApi.setnOrder(ropProcOper, 999B);
      }
    @exception
    function(exp){
    	println("[JEXL Exception] " + exp.getCause());
    }end;
    }) ;
    commit();