Весь механизм реализован расширением с минимальной зависимостью от метаданных конфигурации и использованием программной генерации элементов форм, команд и реквизитов формы, поэтому максимально облегчит переходы на новые версии программы.
Итак, как работает бизнес-процесс расширения:
В форме документа "заказ клиента" появилась гиперссылка "исправить документ" в шапке, при нажатии на нее программа спросит подтверждения с предупреждением, что текущий заказ будет отменен и переведен в статус закрытого, если используются причины отмены заказов, то еще попросит указать причину отмены для строк заказа. После подтверждения и успешной отмены заказа будет открыта новая форма заказа с перенесенными данными (по сути копирование исходного заказа) и наличием ссылки на исходный документ. Как только новый заказ будет записан, у предыдущего документа в шапке появится ссылка на новую версию заказа и форма документа будет заблокирована для редактирования, дабы сохранить первичные данные как есть.
Если потребуется повторно внести корректировки, то таким же образом создают новую корректировку из последней актуальной версии заказа. Вся цепочка таких документов отображается в типовом отчете связанных документов.
Механизм написан общий, который подойдет всем, дальше вы уже можете внести свои корректировки, например полностью блокировать для изменения ключевые реквизиты заказа после его проведения/согласования и тп, чтобы пользователь мог исправлять его только таким образом. Код открыт.
Расширение писалось и тестировалось на конфигурациях УТ 11.5.13 и КА 2.5.13, скорее всего будет работать и на ERP 2.5