Для чего служит параметр СтандартнаяОбработка в процедуре ПриСозданииНаСервере?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке на управляемых формах 1С:Предприятие 8 мы часто встречаем процедуру ПриСозданииНаСервере. В её сигнатуре присутствует параметр СтандартнаяОбработка. Многие разработчики задаются вопросом: что именно он отменяет и в каких случаях его нужно устанавливать в значение Ложь? Давайте разберем этот механизм детально, чтобы понимать, как платформа управляет созданием формы.

Что такое «стандартная обработка» в данном контексте?

Когда платформа создает форму, выполнение кода в процедуре ПриСозданииНаСервере — это лишь часть процесса. После того как ваш программный код завершил работу, система выполняет свои скрытые от разработчика действия. К ним относятся:

Параметр СтандартнаяОбработка — это своего рода «рубильник», который позволяет вам сказать платформе: «Не выполняй автоматическую финальную настройку, я подготовил форму самостоятельно». Если оставить значение по умолчанию (Истина), система «докрутит» настройки, которые могут перетереть ваши изменения.

Разберем на примерах

Рассмотрим ситуацию, когда мы пытаемся изменить поведение списка в форме выбора справочника. Допустим, мы хотим ограничить выбор только элементами, но платформа по умолчанию настроена иначе.

Если мы напишем так:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
КонецПроцедуры

В этом случае при открытии формы мы можем увидеть, что наше изменение игнорируется, и выбор групп все еще доступен. Это происходит потому, что платформа после нашего кода применила свои стандартные настройки. Чтобы наши изменения зафиксировались, нам нужно отключить стандартную обработку:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Элементы.Список.ВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
КонецПроцедуры

После установки СтандартнаяОбработка = Ложь система «забывает» о своих настройках по умолчанию для этого события, и наши параметры применяются корректно.

Отличие от параметра «Отказ»

Важно не путать СтандартнаяОбработка и Отказ. Это принципиально разные механизмы:

Когда стоит использовать этот прием?

Применять СтандартнаяОбработка = Ложь стоит в следующих случаях:

  1. Тонкая настройка списков: Если стандартные параметры открытия или метаданные конфликтуют с необходимой вам логикой отображения данных в ДинамическийСписок.
  2. Связи параметров выбора: Если вы переопределяете иерархические отборы и не хотите, чтобы платформа накладывала свои ограничения, заложенные в конфигураторе.
  3. Функциональные опции: В редких случаях, когда автоматическое управление видимостью элементов через функциональные опции требует полного переопределения под вашу бизнес-задачу.

Заключение

Теперь мы понимаем, что СтандартнаяОбработка — это не отказ от самой процедуры ПриСозданииНаСервере, а отказ от «автопилота» платформы. Используйте этот параметр осознанно: только тогда, когда стандартное поведение системы мешает вашей реализации. В большинстве случаев достаточно стандартных настроек, и вмешательство требуется лишь при разработке сложных, нестандартных интерфейсов.

← На главную