#std755

Длительные операции на клиенте

1.

Избегайте длительного выполнения клиентского кода.

Кроме длительных серверных вызовов (см. #std642: Длительные операции на сервере), к зависаниям интерфейса приводят и длительные операции на клиенте.

Не выполняйте потенциально длительные операции:

  • обращение к сетевым ресурсам;
  • трудоемкие алгоритмы обработки данных на клиенте.

Такие операции не должны запускаться в:

  • обработчиках ожидания;
  • обработчиках событий элементов формы.

Выполняйте длительную клиентскую операцию только по явному действию пользователя, например по нажатию кнопки.

1.1.

Неправильно

В обработчике ожидания обращаться к веб-сервису для получения информации об обновлениях.

Правильно

Получать информацию об обновлениях по нажатию кнопки, либо перенести получение на сервер:

  • в регламентном задании получать информацию об обновлениях через веб-сервис и сохранять результат, например, в регистр;
  • в обработчике ожидания читать уже сохраненные данные легким запросом к регистру.
1.2.

Неправильно

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

Правильно

Проверять доступность сетевого ресурса в обработчике команды, выведенной в интерфейс, например, по кнопке Проверить.

Источник

https://its.1c.ru/db/v8std#content:755