Миграция Pos Type

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