Запись документа из модуля формы

1. DrDrewAvenue 10.06.21 06:47 Сейчас в теме
Всем привет. Начинаю программировать в 1с. Возможно для кого-то вопрос покажется пустяковым, но я столкнулся с проблемой.
Есть обработка в которой есть форма документа ВнутреннийЗаказ. Там есть реквизит ДокументОбъект с типом ДокументОбъект.ВнутреннийЗаказ . Также есть форма Сообщения, которая вызывается с формы ВнутреннийЗаказ. В реквизитах уже этой формы есть реквизит Документ с типом Документссылка.ВнутреннийЗаказ

Так вот вопрос в том как из модуля последней формы вызвать метод записать для исходного документа? В методах реквизита Документ такого метода нет. Я добавил реквизит ДокументОбъект в форму Сообщения. Там есть метод записать. Но в конечном итоге система ругается с ошибкой :

{ВнешняяОбработка.РабочееМестоМенеджера.Форма.ФормаСообщения.Форма(122)}: Ошибка при вызове метода контекста (Записать)
ДокументОбъект.Записать();
по причине:
Документ не выбран

Как сделать так, чтобы эта форма "видела" исходный документ, который надо записать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. comptr 33 10.06.21 06:53 Сейчас в теме
В форме "Сообщения":
ДокОбъект = Документ.ПолучитьОбъект();
ДокОбъект.Записать();

Нужно учитывать, что при этом изменения, сделанные в первой форме, где есть ДокументОбъект.ВнутреннийЗаказ, если с ним были сделаны какие-то изменения, не будут учтены. Если ещё при этом объект был заблокирован в первой форме, во второй записать его не получится. И наоборот, после записи в форме "Сообщения", в первой форме записать этот же ВнутреннийЗаказ не получится из-за различия в версиях - в первой форме будет старая версия, до записи, и нужно будет там перечитывать ВнутреннийЗаказ.
4. FatPanzer 10.06.21 07:40 Сейчас в теме
(2) Не надо учить неправильному.
6. DrDrewAvenue 11.06.21 04:03 Сейчас в теме
(2) Кстати да, так и получилось, что потом документ не записывается в основной форме. Ругается. В любом случае спасибо за совет. Логику всю пересмотрели, решили по другому сделать.
3. FatPanzer 10.06.21 07:39 Сейчас в теме
Что делает вторая форма? По правильному - записывать документ надо после её закрытия, вызов записи должен происходить в основной форме документа, потому что именно на ней накоплены все изменения.
kot26rus; +1 Ответить
5. DrDrewAvenue 11.06.21 04:02 Сейчас в теме
(3) Вторая форма записывает сообщения согласовантам заказа. И чтобы по 25 раз не меняли сообщение вот для чего нужно это. Чтоб сразу видно было, что написано. Без редактирования дальнейшего. В основной форме потом виден список этих сообщений.
7. FatPanzer 11.06.21 09:07 Сейчас в теме
(5) То есть сам документ она не перезаписывает? Тогда к чему весь этот тред?
8. SlavaKron 11.06.21 09:56 Сейчас в теме
ВладелецФормы.ЗаписатьВФорме()
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот