При оптимизации клиент-серверного взаимодействия разработчик должен учитывать, что в некоторых клиентских обработчиках событий формы (ПередЗаписью(), ПослеЗаписи(), ПередЗакрытием(), ПриЗакрытии() и др.) запрещается вызывать контекстные серверные процедуры.
При описании таких событий в синтакс-помощнике содержится специальное указание на запрещенное действие или описание действия, которое может привести к недопустимому вызову:
Последние два предупреждения означают, что использование указанных клиентских методов или изменение некоторых свойств на клиенте могут приводить к неявным серверным вызовам. Поэтому разработчик не может применять их в обработчике события, для которого запрещены контекстные серверные вызовы.
Дело в том, что подобные вызовы потенциально могут нарушить алгоритмы функционирования форм. Поэтому они запрещены на уровне платформы, в процессе исполнения прикладного кода в режиме 1С:Предприятие. Но в процессе написания кода разработчик может допустить такую ошибку. И для того, чтобы обнаружить такую ошибку заранее (а не в режиме исполнения), существует эта проверка.
При автоматическом создании клиентского обработчика события, в котором запрещены контекстные серверные вызовы, в окне выбора типа обработчика (на клиенте, на сервере без контекста или на сервере) последняя опция (вызов с клиента контекстной серверной процедуры) будет недоступна для выбора. В принципе, разработчик может проигнорировать это предупреждение и написать «руками» тот вызов, который ему требуется. Но, тогда ответственность за возможные ошибки в работе приложения будет лежать целиком на нем.
Диагностику нарушений вышеуказанных ограничений можно включить в параметрах конфигуратора. Для этого нужно выполнить команду главного меню Сервис – Параметры – Запуск 1С:Предприятия – Дополнительные и установить флажок Проверять серверные вызовы в обработчиках событий (рис. 4.12).

Рис. 4.12. Установка режима проверки серверных вызовов в обработчиках событий в режиме «Конфигуратор»
Режим проверки использования контекстных серверных вызовов формы в обработчиках событий также можно включить, запустив «1С:Предприятие» из командной строки с параметром /EnableCheckServerCalls.
При этом, если во время исполнения прикладного решения выполняется контекстный серверный вызов в обработчике события формы, в котором такие вызовы запрещены, в окно сообщений будет выведено диагностическое сообщение. Это же сообщение будет доступно в окне информации о программе по ссылке Информация для технической поддержки (рис. 4.13).

Рис. 4.13. Диагностика контекстных серверных вызовов в обработчиках событий формы в режиме «1С:Предприятие»
Подробнее
Документация «1С:Предприятие 8.3.10. Руководство разработчика», глава 4.8.3 «Встроенный язык. Особенности различных вариантов запуска системы. Особенности использования объектов, их свойств и методов», а также глава 33.2.5.2.