|
Как обновить данные на форме при событии не на форме | ☑ | ||
|---|---|---|---|---|
|
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
|
(0) Книга знаний: v8: Асинхронные вычисления без «заморозки» формы (на фоновых заданиях)
довольно красивый метод реализации твоей хотелки |
|||
|
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 секунд. Тогда можно спокойно забить на твои эти испытания.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |