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

# Миграция 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();