#std629

Минимизация кода, выполняемого на клиенте

1.1.

Минимизируйте объем кода, который выполняется на клиенте. Не выполняйте на клиенте сложные алгоритмы, требующие значительных ресурсов компьютера.

В таких сценариях выполнение на клиенте может занимать больше времени, чем передача управления на сервер, выполнение алгоритма на сервере и возврат результата.

Размещайте такие алгоритмы на сервере и делайте минимально необходимое число вызовов с клиента.

Это требование связано с тем, что:

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

#std487: Минимизация количества серверных вызовов и трафика.

1.2.

На клиенте оставляйте алгоритмы, которые гарантированно выполняются быстрее, чем стоит один серверный вызов.

Например, пересчет доступности элементов формы при изменении данных пользователем выполняют на клиенте, так как #std636: контекстный серверный вызов для сложной формы может сделать работу пользователя неприемлемой.

См. также

#std533: Особенности табличного документа в веб-клиенте.

2.1.

Исключение: подсистема предназначена для работы с ПО, установленным на клиентском компьютере. Например:

  • работа с торговым оборудованием;
  • интеграция с клиент-банком;
  • формирование печатных форм в офисные программы.
2.2.

Если подсистема работает с клиентским ПО только в отдельных режимах клиента, используйте директивы препроцессора.

Например, для кода, недоступного в веб-клиенте:

#Если ВебКлиент Тогда
Предупреждение(НСтр("ru = 'Загрузка адресного классификатора не доступна в веб-клиенте.'"));
#Иначе
ОткрытьФорму("РегистрСведений.АдресныйКлассификатор.Форма.ФормаЗагрузкиАдресногоКлассификатора");
#КонецЕсли
Источник

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