Имя: Пароль:
1C
 
Как обновить данные на форме при событии не на форме
0 Dwarrior
 
24.03.10
10:33
Здраствуйте!
Есть форма списка справочника, допустим Договора. Прикручено несколько "вычисляемых" столбцов (например "состояние договора"), которые заполняются в событии ПриПолученииДанных().
Теперь вопрос - как заставить обновить данные на форме списка справочника, если например создан и проведен документ, который изменил, например, состояние договора?
Подскажите хотя бы, в какую сторону копать, дальше разберусь.
1 Defender aka LINN
 
24.03.10
10:38
Оповещением, например. Или обновлять форму периодически
2 Dwarrior
 
24.03.10
10:45
спасибо, попробую
3 Dwarrior
 
24.03.10
10:50
а как отреагировать на удаление документа? Через подписку на событие?
4 Maxus43
 
24.03.10
10:52
(3) источник - доки, событие - перед удалением например
5 Maxus43
 
24.03.10
10:52
(3) или через подписку, или в модуле есть
6 Dwarrior
 
24.03.10
10:57
(5) "или в модуле есть" - вот это не понял...
Подписка плоха тем, что не подходит и один вид событий. Мне нужно обновить форму списка справочника после проведения документа, а варианты только ПередЗаписью, ОбработкаПроведения и т.п.
7 Maxus43
 
24.03.10
10:58
(6) в доке есть также и ПередУдалением()
8 Dwarrior
 
24.03.10
11:02
ок, спасибо
9 Dwarrior
 
24.03.10
12:45
Хотя ПередУдалением() тоже не выход - надо ПОСЛЕ удаления обновить форму...
Прихожу у выводу, что придется просто периодически обновлять форму списка, что не есть красиво и рационально...
Господа, ну неужели никаких более красивых решений нет?
10 asady
 
24.03.10
12:49
11 Dwarrior
 
25.03.10
06:21
Провел испытания и вот результаты, кому интересно:
1. Создал 3 подписки на события - ОбработкаПроведения, ОбработкаУдаленияПроведения и ПередУдалением нужных документов.
2. Во всех трех подписках вставлен одинаковый код - оповестить форму списка справочника о необходимости обновления.

Как я понял, все три события наступают ПЕРЕД действием(проведение, удаление), чтобы можно было эти действия отменить. Т.е. логически, этот механизм не должен работать, т.к. обновлять форму списка справочника надо ПОСЛЕ совершения действия. И вот удилвение - этот механизм РАБОТАЕТ! Как бы и событие совершается перед действием с документом, но как бы и результат есть - вычисляемые поля на форме списка обновляются правильно!

Есть ли какое-нибудь объяснение?:)
12 Asmody
 
25.03.10
09:16
Есть. в обработчиках ты только говоришь системе о том, что оповещение надо послать. шлется оно по завершению транзакции.
13 asady
 
25.03.10
09:18
(11) а если документ из формы списка проведен в другом сеансе другим пользоватлем на другом компе???
14 Dwarrior
 
25.03.10
09:56
Asmody, спасибо, буду знать.
(13), тоже заковырка, думаю тут вообще надо просто тупо периодически обновлять форму списка....У меня пока такой задачи не стоит:)

Всем большое спасибо за участие!
15 hhhh
 
25.03.10
09:57
(11) вообще-то юзер в базе может устанавливать интервал обновления для каждого списка. Пусть он выставит интервал где-нибудь 15 секунд. Тогда можно спокойно забить на твои эти испытания.
Программист всегда исправляет последнюю ошибку.