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

# Миграция Pos Type Msch Load

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

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

Внимание

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

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

    Btk_Pkg.setRWSharedUOWEditType();
    var idvObjectType = Btk_ObjectTypeApi.findByMnemoCode("workstructure");
    var ropOT = Btk_ObjectTypeApi.load(idvObjectType);
    var idvOTDet = Btk_ObjectTypeTabApi.register(idvObjectType, "Mct_WsProductManuf", "Изготовляемые МСЧ", "gtk-Mct_WsProductManufAvi", "List_idWorkStructure", 1B, 90B, 18B, null, null, null, null);
    //ТКМСЧ
    var idvTkMsch = Mct_PosTypeApi.register("ТКМСЧ", "Техкомплект МСЧ", null, 0B);
    //регистрируем доступных потомков
    Mct_PosChildAvailApi.register(idvTkMsch, Mct_PosTypeApi.findByMnemoCode("ПК"), null);
    //регистрация закладок
    var idvDetTK = Mct_TypePosApplicApi.register(idvTkMsch, idvObjectType);
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "card"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_Link"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_TechReference"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_WorkSructureRoom"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_Labor"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_WorkStructureGdsList"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "ActionRef"));
    Mct_TypePosApplicTabApi.register(idvDetTK, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "note"));
    commit();
    //Запуск МСЧ
    var idvLoadMsch = Mct_PosTypeApi.register("ЗМСЧ", "Запуск МСЧ", null, 0B);
    //регистрируем доступных потомков
    Mct_PosChildAvailApi.register(idvLoadMsch, Mct_PosTypeApi.findByMnemoCode("ТКМСЧ"), null);
    Mct_PosChildAvailApi.register(idvLoadMsch, Mct_PosTypeApi.findByMnemoCode("ГТК"), null);
    //регистрация закладок
    var idvDetLoad = Mct_TypePosApplicApi.register(idvLoadMsch, idvObjectType);
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "card"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, idvOTDet);
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "ActionRef"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mes_WorkOrder"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_Labor"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_TechReference"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_WorkSructureRoom"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "Mct_Link"));
    Mct_TypePosApplicTabApi.register(idvDetLoad, Btk_ObjectTypeTabApi.findByMnemoCode(ropOT, "note"));
    commit();
    //регистрируем потомка "Запуск МСЧ" для Технологический этап
    var idvBigAction = Mct_PosTypeApi.findByMnemoCode("BigAction");
    Mct_PosChildAvailApi.register(idvBigAction, idvLoadMsch, null);
    commit();
    //регистрируем потомка "Запуск МСЧ" для ПУГ
    var idvPug = Mct_PosTypeApi.findByMnemoCode("Pug");
    Mct_PosChildAvailApi.register(idvPug, idvLoadMsch, null);
    commit();