Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Второй вариант решения
Дальше: Использование контекстных серверных процедур для пересчета данных коллекций форм

Резюме

Таким образом, если в процедуре пересчета требуется или если в ней используются свойства и методы объектов, недоступных на клиенте, то выполнять пересчет данных формы нужно на сервере. Для этого необходимо поместить код в контекстную серверную процедуру модуля формы. Или поместить код в процедуру модуля объекта и вызывать этот метод объекта, предварительно .

Если в расчете участвует немного данных формы и все эти данные уже есть на клиенте, то лучше это делать в клиентской процедуре модуля формы.

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

Клиентский код должен максимально быстро сделать что-то на клиенте, без обращения к серверу. Он не должен содержать большой объем бизнес-логики. Например, быстро пересчитать сумму по количеству и цене или рассчитать значение какого-то реквизита на основе другого и т. п.

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

Таким образом, из показанных вариантов решения задачи более эффективным будет второй вариант за счет пересчета данных формы на клиенте, без обращения к серверу.

Назад: Второй вариант решения
Дальше: Использование контекстных серверных процедур для пересчета данных коллекций форм