Имя: Пароль:
1C
1С v8
Теряется фокус при вызове сервера
0 Euroset1
 
31.10.18
16:11
На форме подключен обработчик ожидания, который раз в 3 сек вызывает бесконтекстную серверную функцию из модуля этой же формы.

На 8.3.11 и ранее все было хорошо. А на 8.3.12. внезапно это стало мешать. Раз в 3 сек мелькают часики, а если мы находимся в процессе ввода текста в любое из полей, то кроме часиков происходит еще и сброс окошка с вариантами на выбор. То есть вводим наименование контрагента, нам вылезает окошка с вариантами на выбор и историей (стандартное), а в момент серверного вызова это окошко сбрасывается (исчезает).

Как это победить? Серверный вызов раз в 3 сек убирать нельзя, он очень важен.
1 Cool_Profi
 
31.10.18
16:12
"На 8.3.11 и ранее все было хорошо. А на 8.3.12. внезапно это стало мешать"

Ответ очевиден...
2 Euroset1
 
31.10.18
16:19
(1) не очевиден. в патчнотах ни слова, а современные обновления всех конфигураций уже только на 8.3.12
3 asady
 
31.10.18
16:25
(0) что за хрень у тебя каждые три секунды лезет на сервер?
4 DrWatson
 
31.10.18
16:30
Наблюдал похожую проблему где-то с 8.3.8. Проблемой был не сам серверный вызов, а изменение формы. Решил, что пока пользователь что-то вводит, то мой алгоритм подождет.
5 vis_tmp
 
31.10.18
16:52
(4)Как понимаешь, что "пользователь что-то вводит" ?
6 Кац
 
31.10.18
16:57
(5) наверное вводит текст в поле ввода
7 Вафель
 
31.10.18
16:59
(6) вопрос как это отследить
8 DrWatson
 
31.10.18
17:25
(4)
    Если ЭтотОбъект.ТекущийЭлемент = Элементы.Поле1  И НЕ Элементы.Поле1.ТекстРедактирования = Строка(Объект.Поле1)
        ИЛИ ЭтотОбъект.Поле2 = Элементы.Поле2  И НЕ Элементы.Поле2.ТекстРедактирования  = Строка(Объект.Поле2)
... и так со всеми элементами, где пользователь может что-то вводить.
9 Euroset1
 
02.11.18
12:33
(3) там быстрый запрос, получающий актуальную сумммы оплаты под текущий заказ. Просто пока он у тебя открыт, клиент может оплатить через терминал

(4) вот с той проблемой я справился уже давно, это решалось установкой свойства какого-то для элементов формы изменяемых, что обновлять только при изменении значения.

(8) то есть типа перед запуском серверного метода, если по вашему, можно так проверить все поля на то, редактируются ли в данный момент. И если да, то пропустить?
10 DrWatson
 
02.11.18
13:21
(9) да, замысел был в этом.