Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
Где выполняется программный код (процедуры и функции), написанный в модуле *обычной формы* в платформе «1С:Предприятие 8»?
Место выполнения задается отдельно для каждой процедуры/функции модуля (можно выбрать клиент или сервер).
Неправильно: Такой подход характерен для управляемых форм, где используются директивы выполнения и компиляции для процедур и функций. В обычной форме модуль формы выполняется в клиентском контексте, и «разметки по сторонам» для методов там не предусматривается.
Код модуля обычной формы выполняется только на сервере.
Неправильно: Обычные формы предназначены для работы в толстом клиенте, и их модуль относится к клиентской части приложения. Серверные вычисления в 1С выполняются в других местах (например, в серверных общих модулях/модулях объектов), а не в модуле обычной формы.
Код выполняется частично: «обычные» процедуры - при открытии формы, «ключевые» - при закрытии формы.
Неправильно: Такое описание не относится к механизму исполнения модулей форм в 1С и не определяет сторону выполнения (клиент/сервер). События открытия/закрытия формы существуют, но они не меняют того факта, что модуль обычной формы исполняется на клиенте.
Код модуля обычной формы выполняется только на клиентском компьютере (в толстом клиенте).
Правильно: Обычные (неуправляемые) формы работают в толстом клиенте, и алгоритмы, написанные в модуле обычной формы, исполняются в клиентском приложении. Если нужна серверная логика (запросы, расчеты, запись данных), ее обычно выносят в серверные модули и вызывают из формы.
Где будет выполняться код, определяется настройками самого модуля формы (параметрами модуля).
Неправильно: У модуля обычной формы нет настройки, которая «переключает» исполнение на сервер или позволяет смешанный режим, как в управляемых формах. Для разделения логики по клиенту и серверу применяют другие типы модулей и механизмы вызова, а не настройки модуля обычной формы.
Пояснение
Обычная форма - это «классический» интерфейс 1С, который поддерживается в толстом клиенте. Поэтому модуль обычной формы (обработчики событий элементов, кнопок, проверки ввода, реакции на изменения реквизитов и т.п.) исполняется на стороне клиента - на компьютере пользователя.
Практический пример: если в обработчике нажатия кнопки вы открываете диалог выбора файла, показываете сообщение, управляете доступностью элементов формы или проверяете заполненность полей - это типичные клиентские действия, и они выполняются именно в модуле обычной формы.
Важно понимать ограничение: хотя код формы выполняется на клиенте, ему часто нужно получить данные из базы или выполнить «тяжелые» расчеты. В этом случае хорошая практика - вынести вычисления/запросы/запись в серверные участки (например, в общий модуль с серверным выполнением или в модуль объекта) и вызывать их из формы. Тогда форма остается «тонкой» (только интерфейс и управление), а бизнес-логика и операции с данными выполняются там, где им место.
Для сравнения: в управляемых формах у разработчика есть явное разделение клиент/сервер для процедур и функций, а в обычных формах модуль формы - клиентский по своей природе.