Миграция Pos Type#
Локальный скрипт модуля MCT. Используется для служебной настройки, миграции, очистки или восстановления данных, связанных с объектами модуля.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Скрипт привязан к объектам конкретного модуля и требует проверки на целевой базе. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.
Тип: JEXL-скрипт
var list = [["Pk", "ТК", "Техкомплект"], ["TK", "ГТЧ", "Группа техкомплектов по чертежу"], [null, "ПК", "Подкомплект"], [null, "ГТК", "Группа техкомплектов"]];
for (posType : list){
var idvPosTypeOld = Mct_PosTypeApi.findByMnemoCode(posType.get(0));
if (idvPosTypeOld != null) {
//если нашли старый тип позиции - меняем код и наименование на новые
println(posType.get(0) + " -> " + idvPosTypeOld);
var ropPosType = Mct_PosTypeApi.load(idvPosTypeOld);
Mct_PosTypeApi.setsCode(ropPosType, posType.get(1));
Mct_PosTypeApi.setsCaption(ropPosType, posType.get(2));
}
else {
//ищем новый тип позиции
var idvPosTypeNew = Mct_PosTypeApi.findByMnemoCode(posType.get(1));
if (idvPosTypeNew == null) {
//если не нашли - создаем
println("Создаем новый тип позиции " + posType.get(2));
Mct_PosTypeApi.register(posType.get(1), posType.get(2), null);
}
}
}
commit();