Есть АРМ Оператора - это форма обработки, где динамический список заказов.
Рядом со списком заказов - список автомобилей.
Оператор распределяет заказы по автомобилям.
Операторов несколько, и все работают с этой обработкой.
Когда один оператор (оператор 1) перетащил заказ на автомобиль, у него он исчезает из списка.
Нужно:
У остальных пользователей (оператор2, оператор3 и т.д.), у которых в данных момент открыта форма обработки,
в форме динамического списка тоже убирать из списка заказ оператора1 (или выделить серым цветом).
Можно как-то делать, чтобы не всю форму обработки перерисовывать (запрашивать с сервера),
а только часть (например, обновить только динамический список) ?
Может быть подскажите что-то аналогичное в типовых конфигурациях 1С?
На форме обработки множество других элементов (списки, графики и т.д.)
Асинхронные вызовы могут помочь? нужны примеры.
(1) Используем брокер сообщений: по нужному событию, создаем несколько сообщений в разные очереди для каждого АРМ. На АРМе регламентные задания будут читать эти сообщения и удалять автомобили, что позволит снизить количество запросов к базе. Такое решение подойдет?
Тут есть 2 варианта решения, первый - это признак "Автоообновление" у элемента формы, у которого данные динамический список, там же есть еще признак "ОбновлениеПриИзмененииДанных" Но в этом варианте автообновление будет с какой-то задержкой. Второй - это обработка оповещения в самой форме, а в ней уже обновление списка - думаю это то, что вам нужно. Но тут нужно оповещать об изменении, чтобы корректно отработало.
(2) Как ты другой сеанс оповестить? Только обработчик ожидания, который с маленьким периодом будет проверять данные.
Как уж эти данные хранить для скорости - вопрос только в ограничении фантазии.
Сервер умеет оповещать клиентов, подписанных на определенные обсуждения в Системе взаимодействия. Создаете неотображаемое обсуждение, подписываете на него нужных клиентов, при необходимости кидаете в обсуждение сообщение, описываете реакцию клиентов на него(обновление списка).