MadSpirit написал(а):
Задача заключается в том, чтобы при сохранении, изменить номер материала (изначально он берется из настройки MATERIALNR в SNRO).
Номер должен получить следующую маску: ГР.КОД.№
где
ГР - группа материала (начальный экран),
КОД - значение признака (экран ввода основных данных)
№ - номер по порядку для комбинации ГР.КОД
Номер материала присваивается при обработке начального экрана.
Изменять его в зависимости от поля на экране ввода основных данных - плохая идея, т.к. после перехода из начального экрана на экран основных данных происходит блокировка этого номера и он используется для формирования записей в различных ракурсах (данные материала хранятся не только в таблице MARA, но и в таблицах MARC, MBEW и т.д.).
Лучшим выходом в этом случае будет создание своей транзакции, в которой на первом экране заполняются поля, участвующие в формировании номера материала.
После заполнения этих полей своя программа сформирует номер материала и запустит транзакцию MM01 с заполненными полями "Группа материала", "Значение признака", "Номер материала".