Запись документа из обработки проведения #804294


#0 by Tester
Всем привет. Так уж случилось, что в обработке проведения документа выполняется код, который изменяет некоторые данные этого документа и записывает его. Как следствие при проведении не по кнопке ОК, а по кнопке Провести после проведения необходимо перечитать данные объекта на форме. Пользователи этого не делают и продолжают работать с формой документа получая в итоге сообщение о необходимости перечитать данные. Есть ли выход из ситуации?
#1 by Джинн
Не самое лучшее архитектурное решение. При каждом перепроведении у Вас будут меняться данные в документе.
#2 by spiller26
Используй обновление данных на форме, при проведении.
#3 by тарам пам пам
все равно странно, что объект не перечитывается - при проведении выполняется событие ПередЗаписью и форма должна перечитать объект после транзакции в любом случае.
#4 by lodger
а если ПередЗаписью пустое? или не взводит флаг Модифицированность?
#5 by spiller26
Форма статическая, пока не дашь принка, так и будет отображать.
#6 by тарам пам пам
+ проверил - событие ПриЧтенииНаСервере не вызывается, даже если в ПередЗаписью модифицировать объект. Похоже на косяк платформы. Тогда можно принудительно перечитать объект в ПослеЗаписиНаСервере.
#7 by Tester
Забыл сказать, что форма обычная ) Пробовал выкрутить через Форма.ДокументОбъект.Прочитать, но тогда нормально работает если проводишь по кнопке Провести и возникает косяк с модифицированностью при проведении по кнопке ОК.
#8 by тарам пам пам
там тоже есть событие ПослеЗаписи
#9 by Tester
Спасибо, так и сделал! В ПослеЗаписи модуля формы документа добавил Прочитать. Теперь при проведении или сохранении без закрытия формы после записи объект перечитывается и отображает все изменения, произошедшие в нем. Почему в платформе нельзя было такое сделать по умолчанию? Обязательно надо пинать форму...
#10 by craxx
я даже бы сказал - решение хуже не придумаешь
#11 by Heckfy
Придумаешь. Можно Предупреждение еще запихнуть. :)
#12 by Tester
А куда пихать код изменения данных объекта, в ПередЗаписью?
#13 by craxx
именно туда
#14 by rudnitskij
"Почему в платформе нельзя было такое сделать по умолчанию? Обязательно надо пинать форму..." - может потому, что разрабы как-то не ожидали, что данные будут меняться при проведении... Все равно, что вы в макдональдсе в момент начала печати чека крикнете "...и еще Бигмак" - вам удивительно, что в чеке бигмак не появился? На момент проведения события ПередЗаписью и ПриЗаписи уже отработали. Что происходит в них - отразится на форме автоматически.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С