Имя: Пароль:
1C
1С v8
Обновление формы открытого документа из внешней обработки
0 Crusher
 
14.05.22
10:47
После заполнения табличной части документа из внешней обработки с видом "ЗаполнениеОбъекта" требуется обновить форму. Есть какие-нибудь способы это сделать, кроме перебора открытых окон с поиском необходимой формы? Конфигурацию менять нельзя.
1 RomanYS
 
14.05.22
10:59
Очень странный вопрос.
1. Зачем перебор окон, если эта форма у тебя параметрах есть
2. Что понимается под обновлением формы?
2.1 если ты менял данные формы, то обновление (этих данных) произойдет автоматом. Проблема может быть с пересчетом служебных данных формы (типа итогов и надписей) - тут нужно искать экспортные методы формы, их может и не быть.
2.2 если ты менял данные объекта в базе, то форму тебе нужно не обновить, а перечитать. Для этого по идее должен быть стандартный метод.
2 Crusher
 
14.05.22
11:04
(1) Табличная часть не меняется автоматом. Если выйти из документа и зайти обратно - данные обновляются. Либо нажать руками в документе Перечитать.
3 RomanYS
 
14.05.22
11:09
(2) Значит твой вариант 2.2

"Расширение формы клиентского приложения для документа (Client application form extension for documents)
Прочитать (Read)
Синтаксис:
Прочитать()
Описание:
Обновляет объект формы клиентского приложения."
4 vde69
 
14.05.22
11:11
(2) что бы менялась автоматом нужно использовать объект "динамический список" вместо "таблицы значений"
5 Crusher
 
14.05.22
11:13
(3) А можете подсказать - как из параметров получить форму?
6 RomanYS
 
14.05.22
11:39
(5) это от типа обработки и типа вызова зависит. Открой документацию по БСП, или ещё проще саму БСП с примерами
7 Crusher
 
14.05.22
11:47
(6) Спасибо большое - нашел решение. Получилось так:

Ключ = Новый Структура("Ключ", Документ);
Форма = ПолучитьФорму("Документ.ПересчетТоваров.Форма.ФормаДокумента", Ключ);     
Форма.Прочитать();
8 RomanYS
 
14.05.22
11:55
(7) Пожалуйста. А вообще, если у тебя клиентский вызов, то сама форма или в параметрах вызова формы или как владелец формы обработки. А если серверный, то и твой код не будет работать
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший