Имя: Пароль:
1C
1С v8
Список документов (обновление)
0 Snail
 
09.12.20
16:46
Как после записи документа обновить (у всех ползователей) открытый список этих документов ? (типа автообновление через N- секунд)
1 Beduin
 
09.12.20
16:47
оповещение
2 Snail
 
09.12.20
16:52
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
    Оповестить("Запись_Реализация", ПараметрыЗаписи, Объект.Ссылка);
КонецПроцедуры


&НаСервере
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    ИмяСобытия = "Запись_Реализация";
КонецПроцедуры

Так не катит :(
3 Snail
 
09.12.20
17:00
Если ИмяСобытия = "Запись_Реализация" Тогда
   что тут прописать для обновления?
КонецЕсли
4 Serg_1960
 
09.12.20
17:07
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   Если ИмяСобытия = "Запись_Реализация" Тогда
      Элементы.Список.Обновить();
5 Serg_1960
 
09.12.20
17:09
А для управляемых форм, имхо, лучше ОбработкаКоманды() и в ней ОповеститьОбИзменении(ОбъектСсылка);
6 Snail
 
09.12.20
17:10
Serg_1960, спасибо, но что-то для второго пользователя список не обновляется ((
7 youalex
 
09.12.20
17:12
у всех ползователей - не прокатит, пмсм
8 polosov
 
09.12.20
17:12
(6) потому что Оповестить() оповещает только открытые окна текущего сеанса.
9 Snail
 
09.12.20
17:12
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   Если ИмяСобытия = "Запись_Реализация" Тогда
      Элементы.Список.Обновить();

Эта процедура  в ФормеСписка? Правильно?
10 polosov
 
09.12.20
17:15
(0) а твой список это ДС?
11 youalex
 
09.12.20
17:18
типа автообновление через N- секунд - не вариант?
12 Snail
 
09.12.20
17:19
Это не нагружает систему?
13 Serg_1960
 
09.12.20
17:20
(6) Sorry, Ваше примечание "у всех пользователей" меж ушей пропустил :(
Оповещение работает в пределах одного сеанса для всех открытых форм.
(9) Да.
14 Snail
 
09.12.20
17:25
автообновление через N-секунд  - это единственый выход?
15 mistеr
 
09.12.20
17:29
(14) Не единственный, но самый простой в реализации.
16 mistеr
 
09.12.20
17:29
(15) Ибо уже реализован.
17 Snail
 
09.12.20
17:30
Тормозить не будет, если поставлю 3 секунды?
18 mistеr
 
09.12.20
17:37
(17) Ты меня спрашиваешь? Мне откуда знать, какое у вас железо?

Но я бы поставил 5.
19 Serg_1960
 
09.12.20
17:41
(14) Нет, не единственный. У 1С есть решение "сервер взаимодействия" - дорого/богато :)
Рассуждая чисто теоретически, можно события оповещения из одного сеанса в другие сеансы "транслировать" через запись в специально созданный регистр сведений. Потребуются фоновые задания других сеансов, которые будут контролировать этот регистр и "дублировать" события из других сеансов. Не оптимальный и затратный механизм :(
(17) Естественно будет подтормаживать - это же обращение к базе данных.
20 Snail
 
09.12.20
17:42
Всем огромное спасибо! Поставил 25 сек. Нормально )
21 Snail
 
09.12.20
17:43
Serg_1960 отдельное спасибо!
Ошибка? Это не ошибка, это системная функция.