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

Обновление Динамического списка (с основной таблицей) на форме, открытой у ВСЕХ пользователей после редактирования элемента !

Автор oooo800, 24 сен 2020, 01:28

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

oooo800

Самописная конфигурация, управляемые формы, платформа 8.3.16+.
Есть фома списка справочника.
На ней есть элемент "Список" связанный с реквизитом формы типа "ДинамическийСписок" , с основной таблицей "Справочник.ИмяЭтогоСправочника"
Сделан динамический отбор по некоторым критериям таким образом, что после изменения значения определенного реквизита в форме элемента, а этот реквизит в условиях отбора, и после его записи (этого элемента справочника) , из формы списка он должен пропадать или появляться (согласно критериям) - из формы списка ВСЕХ пользователей, у кого форма списка этого справочника сейчас открыта, а не только у только что отредактироавшего этот элемент пользователя.
Пробовал Элементы.Список.Обновить() в ПриИзмененииСписка или ПослеЗаписиЭлемента, Оповестить в ПослеЗаписиЭлемента и, событие ОбработкаОповещения в форме списка.
Для других пользователей, у кого открыта эта форма - не срабатывают данные варианты - содержимое списка не меняется.
Срабатывают - либо обновить "руками" (через кнопку Обновить) или включение свойства "Автообновление" элемента формы списка.
Хотелось бы все таки после наступления определенных событий/завершения действий.
Возможно это ?


oooo800

Цитата: IL2016 от 24 сен 2020, 10:53
подписка на событие.
А на какое ?
И где ?

Как писал первоначально:
Пробовал Элементы.Список.Обновить() в ПриИзмененииСписка или ПослеЗаписиЭлемента, Оповестить в ПослеЗаписиЭлемента и, событие ОбработкаОповещения в форме списка

IL2016

очевидно Вы малость запутались. Пользователь редактирует не форму списка справочника, а элемент справочника из формы элемента.
Либо Вы что-то недоговариваете и рассчитываете на телепатические способности форумчан.

oooo800

Цитата: IL2016 от 24 сен 2020, 17:47
очевидно Вы малость запутались. Пользователь редактирует не форму списка справочника, а элемент справочника из формы элемента.
Либо Вы что-то недоговариваете и рассчитываете на телепатические способности форумчан.

Совершенно верно.
После изменения значения "условного" реквизита и нажатия кнопки "Записать" на форме элемента справочника, у ВСЕХ пользователей (кроме администраторов), у которых открыта форма списка справочника, должно измениться содержимое элемента формы списка "Списка" , связанного с реквизитом формы "Динамический список" согласно условиям отбора.
Например:
у справочника есть реквизит "ПоказыватьУзелТолькоАдминистратору" = булево.
При создании элемента значение реквизита = Лодь и элементы с таким значением видны в форме списка / отбра всем пользователям (со всеми правами) .
Однако, если администратор установит на каком-то элементе этот реквизит в Истина, и, конечно же запишет элемент, то насколько возможно быстро после этого, у всех не Админстраторов (согласно правилам отбора) этот элемент должен "пропасть" из формы списка/отбора.
И, соответственно, если этот реквизит Администратор установит снова в Ложь, то такой элемент должен появиться у всех пользователей в форме списка/отбора.

Если _после_ такой операции (изменения значения реквизита) пользователи открывают, например, форму списка, все нормально.
Но если у них эта форма открыта, и в это время Администратор делает такую операцию, то у таких пользователей ничего не меняется, до: либо переоткрытия формы списка, либо после нажатия пользователем "Обновить" списка, либо, при установке "Автообновления" , после его наступления (например через 60 секунд, если установлено по умолчанию) .
Хочется сразу после записи элемента справочника ...

IL2016

Цитата: oooo800 от 24 сен 2020, 23:11Хочется сразу после записи элемента справочника ...
я бы попробовал подписку на событие. вот какие события возможны:
 

antoneus

Да не годится здесь подписка на событие. Она в любом случае обрабатывается на сервере и срабатывает в том сеансе, в котором событие возникло, а формы должны обновляться на клиенте и у всех. Это древняя тема, регулярно и безуспешно поднимающаяся на всех форумах. Вроде как сервер взаимодействия может в этом помочь.

oooo800

Цитата: antoneus от 25 сен 2020, 15:21
Да не годится здесь подписка на событие. Она в любом случае обрабатывается на сервере и срабатывает в том сеансе, в котором событие возникло, а формы должны обновляться на клиенте и у всех. Это древняя тема, регулярно и безуспешно поднимающаяся на всех форумах. Вроде как сервер взаимодействия может в этом помочь.
Об этом писал в самом первом сообщении.
В сеансе текущего пользователя - все ок, записали элемент - обновилось содержимое списка формы списка.

Остается: либо отказаться от этой затеи, либо ... либо "Автообновление" , пусть будет по умолчанию 60 сек.

Теги:

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

Рейтинг@Mail.ru

Поиск