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

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

В процессе разработки конфигурации часто возникает вопрос: «Где выполнять пересчет данных формы: на клиенте или на сервере?» Однозначного ответа тут нет.

С одной стороны, на клиенте должно быть минимум кода, потому что такова идеология клиентского приложения. Клиентского кода по определению не должно быть много. Основной подход заключается в том, что на клиенте должен исполняться только тот код, который управляет формой и отображением данных в ней. Все расчеты должны выполняться на сервере.

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

Решение зависит от конкретной задачи. Рассмотрим пример.

Предположим, в форме документа об оказании услуг содержатся цена услуги, процент вознаграждения и сумма услуги. При изменении цены услуги нужно рассчитать сумму услуги, равную цене услуги плюс процент вознаграждения. Процент вознаграждения устанавливается в зависимости от цены услуги (рис. 4.27).

Рис. 4.27. Пересчет данных в документе при изменении цены услуги

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

Рассмотрим возможные варианты решения этой задачи.

Назад: Резюме
Дальше: Первый вариант решения