|
Запись документа из обработки проведения | ☑ | ||
---|---|---|---|---|
0
Tester
05.09.17
✎
16:50
|
Всем привет.
Так уж случилось, что в обработке проведения документа выполняется код, который изменяет некоторые данные этого документа и записывает его. Как следствие при проведении не по кнопке ОК, а по кнопке Провести после проведения необходимо перечитать данные объекта на форме. Пользователи этого не делают и продолжают работать с формой документа получая в итоге сообщение о необходимости перечитать данные. Есть ли выход из ситуации? |
|||
1
Джинн
05.09.17
✎
16:52
|
Не самое лучшее архитектурное решение. При каждом перепроведении у Вас будут меняться данные в документе.
|
|||
2
spiller26
05.09.17
✎
16:59
|
(0) Используй обновление данных на форме, при проведении.
|
|||
3
тарам пам пам
05.09.17
✎
17:01
|
(0) все равно странно, что объект не перечитывается - при проведении выполняется событие ПередЗаписью и форма должна перечитать объект после транзакции в любом случае.
|
|||
4
lodger
05.09.17
✎
17:02
|
(3) а если ПередЗаписью пустое? или не взводит флаг Модифицированность?
|
|||
5
spiller26
05.09.17
✎
17:02
|
(3) Форма статическая, пока не дашь принка, так и будет отображать.
|
|||
6
тарам пам пам
05.09.17
✎
17:06
|
(3)+ проверил - событие ПриЧтенииНаСервере не вызывается, даже если в ПередЗаписью модифицировать объект. Похоже на косяк платформы.
Тогда можно принудительно перечитать объект в ПослеЗаписиНаСервере. |
|||
7
Tester
05.09.17
✎
17:07
|
Забыл сказать, что форма обычная )
Пробовал выкрутить через Форма.ДокументОбъект.Прочитать(), но тогда нормально работает если проводишь по кнопке Провести и возникает косяк с модифицированностью при проведении по кнопке ОК. |
|||
8
тарам пам пам
05.09.17
✎
17:09
|
(7) там тоже есть событие ПослеЗаписи
|
|||
9
Tester
06.09.17
✎
10:35
|
(8) Спасибо, так и сделал!
В ПослеЗаписи() модуля формы документа добавил Прочитать(). Теперь при проведении или сохранении без закрытия формы после записи объект перечитывается и отображает все изменения, произошедшие в нем. Почему в платформе нельзя было такое сделать по умолчанию? Обязательно надо пинать форму... |
|||
10
craxx
06.09.17
✎
10:37
|
(1) я даже бы сказал - решение хуже не придумаешь
|
|||
11
Heckfy
06.09.17
✎
10:39
|
(10) Придумаешь. Можно Предупреждение() еще запихнуть. :)
|
|||
12
Tester
06.09.17
✎
10:42
|
(10) (11) А куда пихать код изменения данных объекта, в ПередЗаписью()?
|
|||
13
craxx
06.09.17
✎
13:30
|
(12) именно туда
|
|||
14
rudnitskij
06.09.17
✎
16:25
|
(9) "Почему в платформе нельзя было такое сделать по умолчанию? Обязательно надо пинать форму..." - может потому, что разрабы как-то не ожидали, что данные будут меняться при проведении...
Все равно, что вы в макдональдсе в момент начала печати чека крикнете "...и еще Бигмак" - вам удивительно, что в чеке бигмак не появился? На момент проведения события ПередЗаписью и ПриЗаписи уже отработали. Что происходит в них - отразится на форме автоматически. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |