| 
    
            
         
         | 
    
  | 
Запись документа из обработки проведения | ☑ | ||
|---|---|---|---|---|
| 
    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) "Почему в платформе нельзя было такое сделать по умолчанию? Обязательно надо пинать форму..." - может потому, что разрабы как-то не ожидали, что данные будут меняться при проведении...
 
        Все равно, что вы в макдональдсе в момент начала печати чека крикнете "...и еще Бигмак" - вам удивительно, что в чеке бигмак не появился? На момент проведения события ПередЗаписью и ПриЗаписи уже отработали. Что происходит в них - отразится на форме автоматически.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |