В процессе разработки конфигурации часто возникает вопрос: «Где выполнять пересчет данных формы: на клиенте или на сервере?» Однозначного ответа тут нет.
С одной стороны, на клиенте должно быть минимум кода, потому что такова идеология клиентского приложения. Клиентского кода по определению не должно быть много. Основной подход заключается в том, что на клиенте должен исполняться только тот код, который управляет формой и отображением данных в ней. Все расчеты должны выполняться на сервере.
С другой стороны, нужно избегать лишних обращений на сервер. И хотя процесс вычислений произойдет на сервере значительно быстрее, но сам вызов сервера, да еще с контекстом формы, снизит производительность прикладного решения.
Решение зависит от конкретной задачи. Рассмотрим пример.
Предположим, в форме документа об оказании услуг содержатся цена услуги, процент вознаграждения и сумма услуги. При изменении цены услуги нужно рассчитать сумму услуги, равную цене услуги плюс процент вознаграждения. Процент вознаграждения устанавливается в зависимости от цены услуги (рис. 4.27).

Рис. 4.27. Пересчет данных в документе при изменении цены услуги
Таким образом, в тот момент, когда пользователь изменит поле ЦенаУслуги документа ОказаниеУслуги, поля Вознаграждение и Сумма нужно рассчитать по описанному выше алгоритму.
Рассмотрим возможные варианты решения этой задачи.