|
8.2 Как обновить открытую форму документа после заполнения внешней обработкой? |
☑ |
0
Leksus
31.10.11
✎
16:50
|
Написал обработку заполнения документа. Встроил через Дополнительные отчеты и обработки... Документ заполняется и записывается. Открытая форма документа (из которой и запускалась обработка) не обновляется. Приходится закрывать и открывать документ заново.
Как победить?
|
|
1
mikecool
31.10.11
✎
16:51
|
Оповестить - ОбработкаОповещения
|
|
2
Leksus
31.10.11
✎
16:57
|
(1) Уточню - делал для УТ 11. Снимать ее с поддержки не хотелось бы.
Вроде бы деле все по документации БСП - наверное как-то должно это работать?
|
|
3
Leksus
31.10.11
✎
17:01
|
для списков есть "Оповестить об изменении", а вот для формы документа...
пробовал такой код:
Окна = ПолучитьОкна();
Для каждого Окно из Окна Цикл
Если НЕ Окно.Основное
И Найти(Окно.Заголовок, Объект.СсылкаНаДокумент) Тогда
Форма = Окно.ПолучитьСодержимое();
Если Не Форма=Неопределено Тогда
Форма.ОбновитьотображениеДанных();
КонецЕсли;
КонецЕсли;
КонецЦикла;
Выполняется без ошибок, но форма не обновляется :(
|
|
4
Leksus
31.10.11
✎
17:55
|
В итоге получилось сделать только через такой изврат:
// Обновляем форму документа
Окна = ПолучитьОкна();
Для каждого Окно из Окна Цикл
Если НЕ Окно.Основное
И Найти(Окно.Заголовок, Объект.СсылкаНаДокумент) Тогда
ФормаДокумента = Окно.ПолучитьСодержимое();
Если Не ФормаДокумента = Неопределено Тогда
ФормаДокумента.Закрыть();
КонецЕсли;
ФормаДокумента = ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента",Новый Структура("Ключ", Объект.СсылкаНаДокумент),,,Окно);
КонецЕсли;
КонецЦикла;
|
|
5
s03
31.10.11
✎
18:03
|
А если передать открытую форму как параметр в обработку, и затем просто Обновить() ?
|
|
6
s03
31.10.11
✎
18:03
|
Хотя нет, не взлетит
(((
|
|
7
s03
31.10.11
✎
18:07
|
А заполняешь обработкой что (ДокументОбъект или нет)?
Если при заполнении работаешь с реквизитами (элементами формы) и затем используешь ЗаписатьВФорме() то всё и так должно работать, а вот если работаешь не с формой, а с документом, то надо заставлить форму не просто обновиться, а перечитать данные.
|
|
8
Жан Пердежон
31.10.11
✎
18:13
|
(0) обработка заполнения ТЧ не катит?
|
|
9
Necessitudo
31.10.11
✎
18:16
|
ЗначениеВРеквизитФормы
|
|
10
Leksus
31.10.11
✎
19:42
|
(7) да, документ объект. Именно, как заставить форму перечитать данные? И как это вообще реализуется в рамках подсистемы дополнительных отчетов и обработок БСП?
(8) поясни плиз
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший