Для реализации функциональности форм разработчик может использовать клиентские и серверные обработчики событий формы. Но делать это нужно правильно и по назначению.
Например, при интерактивном или программном создании формы с существующими в информационной базе данными вызывается серверное событие ПриЧтенииНаСервере. Затем для всех форм вызывается серверное событие ПриСозданииНаСервере. В обработчиках этих двух событий можно и нужно подготавливать форму к работе.
Затем вызывается клиентское событие формы ПриОткрытии, в обработчике которого можно выполнять действия, доступные только на клиенте, например общение с пользователем.
Часто бывает нужно задать функциональность формы сразу при ее открытии – например, заполнить какие-то реквизиты формы или установить какие-то свойства ее элементов и т. п. В обработчике какого же события: ПриСозданииНаСервере, ПриЧтенииНаСервере или ПриОткрытии – это нужно делать? Рассмотрим пример.
Предположим, в периодическом регистре сведений Цены содержатся розничные цены товаров из справочника Товары. При открытии формы уже существующего товара в поле Розничная цена должна подставляться цена из регистра сведений, и это поле должно быть недоступно для редактирования (рис. 4.42).

Рис. 4.42. Форма редактирования существующего товара
Рассмотрим возможные варианты решения этой задачи.