Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 18:58

Обновление управляемой формы при изменении объектов.

Автор Lun, 04 апр 2020, 17:28

0 Пользователей и 1 гость просматривают эту тему.

Lun

Здравствуйте!
На УФ создан элемент - дерево. При запуске формы считываются определенные справочники, их данные формируют дерево, с которым пользователь работает.
Одновременно с этим в другом окне (не связано с данной УО) может быть открыт справочник, который на УО был загружен в дерево, и в него могут быть внесены изменения.

В результате данные в справочнике и в дереве рассинхронизируются, т.к. дерево будет содержать более старые данные.

Вопрос: каким образом УО с деревом сможет узнать, что какие-то данные дерева уже изменились, чтобы их отразить на дереве ?

alex0402

Цитата: Lun от 04 апр 2020, 17:28Вопрос: каким образом УО с деревом сможет узнать, что какие-то данные дерева уже изменились, чтобы их отразить на дереве ?

Оповестить(<ИмяСобытия>, <Параметр>, <Источник>)
Параметры:

Спасибо за Сказать спасибо

Lun


Lun

Alex0402,
Я планировал вызвать его из события ПриЗаписи() модуля объекта, но Оповестить(...) работает только со стороны клиента.

Каким образом осуществить оповещение со стороны серверной процедуры ?

LexaK

 а у вас что только один пользователь в базе работает?
Оповещение работает только в рамках ОДНОГО СЕАНСА!!!  :(
самый простой вариант при открытии формы с вашим деревом, подключите ОбработчикОжидания (с процедурой обновления дерева),
и один раз (в минуту, или 5  или 10) обновляйте ваше дерево

да в общем все списочные формы так и работают, с автообновлением
если помогло нажмите: Спасибо!

Lun

Цитата: LexaK от 13 апр 2020, 11:21
а у вас что только один пользователь в базе работает?
Оповещение работает только в рамках ОДНОГО СЕАНСА!!!  :(
самый простой вариант при открытии формы с вашим деревом, подключите ОбработчикОжидания (с процедурой обновления дерева),
и один раз (в минуту, или 5  или 10) обновляйте ваше дерево

да в общем все списочные формы так и работают, с автообновлением

Спасибо. Да, пользователь один. Насколько я понимаю, из серверной части оповестить никак не получиться.
Дерево строится с использованием 3-х справочников. Если предположить, что изменение справочника будет осуществляться только через форму элемента этих справочников, то может быть повесить обработчик на событие закрытия формы (если таковое есть НаКлиенте) и уже этот обработчик будет определять, что элемент справочника модифицирован и вызывать Оповестить() с клиента ? Так должно получиться ?

LexaK

ну если вы упоро желаете использовать Оповещение,
то лучше делайте это в процедуре формы
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
   //Вставить содержимое обработчика
   Оповестить("ОбновитьДерево",Объект.Ссылка); //примерно так см. СП
КонецПроцедуры

и Форме с деревом реализовать Обработчик оповещения
если помогло нажмите: Спасибо!

Dethmontt

Цитата: Lun от 13 апр 2020, 22:57Насколько я понимаю, из серверной части оповестить никак не получиться.
Если есть сервер взаимодействия, то все получится... Нужно только подписаться на изменеия
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск