Цитата:
Сообщение от
S.Kuskov
Это не то. Запись в описанном сценарии сохраняется. Просто нарушена последовательность срабатывания методов сохранения. Точнее, нарушена не сама последовательность срабатывания, а последовательность срабатывания в перекрытых методах
Попробую по другому.
Если явным образом нажать "Сохранить", то выполнится метод DataSource.write(), где произойдет сохранение номерной серии и обнуление переменной lastNumber в классе-обработчике номерных серий
Если же нажать кнопку "Создать", то будет вызван метод DataSource.create(), а уже из него (внутри super()) будет вызван DataSource.write(). Но! Анализ значения переменной lastNumber в классе-обработчике номерных серий выполняется ДО вызова super(). Т.е. ДО фактического сохранения записи. Из-за чего и получаем проблему
Вы предлагаете вручную запустить сохранение записи? Повторить все то, что и так будет выполнено внутри super() но явным образом в коде?
-----
Чтобы совсем было понятно
DataSource.forceWrite() - это установка некоего флага, говорящего Axapta о том, что данная запись была изменена. Но анализ этого флага будет выполнен, очевидно, внутри super(). А проблема возникает ДО вызова super(). Т.е. до анализа данного признака дело еще не дошло