Имя: Пароль:
1C
1С v8
Проблема с элементами при фоновом обновлении формы
0 Dwarrior
 
23.10.19
12:51
Добрый день, уважаемые!

Есть форма обработки, на ней табличная часть Остатки и просто реквизиты. ПриОткрытии подключен обработчик ожидания:

ПодключитьОбработчикОжидания("ОбработчикТиковСекунд", 5);

Процедура ОбработчикТиковСекунд обновляет данные в ТЧ Остатки, ессно на сервере. Все работает, но. Есть проблема с поведением других полей:
1. Поле типа число. Тыкаем в "Открыть", открывается калькулятор. Пытаемся там что-то посчитать - происходит ОбработчикТиковСекунд и калькулятор закрывается
2. Любое поле простого типа - начинаем вводить данные. Если успели до вызова ОбработчикТиковСекунд нажать Enter - то данные сохранились, иначе стираются.

Получается, что вызов серверной процедуры "сбрасывает" неподтвержденное состояние полей - открытые окна, введенные значения и пр.
Как-то можно с этим бороться?
1 ДенисЧ
 
23.10.19
12:57
Можно. Не делать такое обновление.
2 Жан Пердежон
 
23.10.19
13:00
(0) после серверного вызова происходит активизация активного элемента
3 Dwarrior
 
23.10.19
13:02
(1) Спасибо, очень полезно. Как же обновлять Остатки?
(2) Вот это мысль. Победить это можно?
4 hhhh
 
23.10.19
13:07
(3) зачем каждые 5 секунд? Это дикость. Обновляйте раз в минуту.
5 Жан Пердежон
 
23.10.19
13:07
(3) нет, даже вызов без контекста не поможет
6 ДенисЧ
 
23.10.19
13:12
(4) А может, он хай-фректнли на бирже торгует? )))
7 Dwarrior
 
23.10.19
13:26
(4) даже при частоте раз в минуту все равно есть вероятность, что пользователь наткнется на фоновое обновление. Вероятность ниже, но есть.
(5) А если обработчик в общем модуле, а не в модуле формы?
8 palsergeich
 
23.10.19
13:29
Делайте обновление по кнопке, как показала практика все остальное работает не очень.
9 palsergeich
 
23.10.19
13:31
(8) А обновление раз в 5 секунд - да на хоть сколько нибудь приемлимом количестве юзеров приведет дикой нагрузке.
10 palsergeich
 
23.10.19
13:33
Давным давно смотрел логи, даже обновление раз в 5 минут у всех было в топе с огромным отрывом от всего остального
11 sitex
 
naïve
23.10.19
13:33
(0) 5 Сек ???? для чего ? У вас там что Юзеры борются за остатки ?
12 palsergeich
 
23.10.19
13:34
(11) "Интерактивно"
13 palsergeich
 
23.10.19
13:35
(12) Другое дело что за период между обновлениями сложно принять решение)
14 Dwarrior
 
23.10.19
15:59
Всем спасибо, буду думать. Видимо, сделаю и кнопку обновления и автоматическое обновление каждые 10 мин. Оба варианта.
15 DrWatson
 
23.10.19
16:08
(0) сталкивался с подобной проблемой с обычным текстовым полем. В свойствах элемента нужно установить ОбновлениеТекстаРедактирования в значение "При изменении значения".
16 Dwarrior
 
23.10.19
16:48
(15) Спасибо! То что нужно! Хотя бы значения из полей не стираются...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший