К статье
Практический материал

Разработка и Конфигурация · 9 мин

Функциональные опции 1С 8.3: для чего нужны и как их настроить

Функциональные опции 1С 8.3: назначение, принцип работы, настройка в конфигураторе и режиме Предприятия, типичные ошибки и проверка результата.

Функциональные опции в 1С 8.3 — это механизм платформы, который позволяет включать и отключать отдельные блоки функциональности конфигурации без изменения её программного кода. Проще говоря, одна и та же конфигурация может выглядеть и работать по-разному у разных клиентов: у одного торговая компания ведёт складской учёт по нескольким складам, у другого — по одному, и обе используют одну поставку.

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

Функциональные опции хранятся в дереве метаданных конфигурации и привязываются к объектам: справочникам, документам, реквизитам, командам, отчётам. Значения опций обычно хранятся в константах или регистрах сведений, поэтому их можно менять в режиме Предприятия без конфигуратора.

Как работает механизм функциональных опций

Каждая функциональная опция — это объект метаданных с именем, типом значения и указанием места хранения. Чаще всего значение хранится в константе (для булевых опций типа «Использовать несколько складов») или в регистре сведений (для опций, зависящих от периода или организации). Платформа читает значение при построении интерфейса и при проверке прав доступа к объектам.

В свойствах опции есть список «Состав» — это объекты конфигурации, которыми она управляет. Туда можно включить справочники, документы, отдельные реквизиты, табличные части, команды, отчёты и даже элементы командного интерфейса. Если опция выключена, связанные объекты скрываются из интерфейса, а попытка программного обращения к ним может быть ограничена.

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

Для чего функциональные опции нужны на практике

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

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

Третья задача — разграничение сценариев внутри одной базы. Через параметризуемые функциональные опции (например, хранящиеся в регистре сведений в разрезе организаций) можно включить разные режимы работы для разных юридических лиц в одной информационной базе.

Где найти и как включить опции в режиме Предприятия

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

Некоторые опции зависят друг от друга. Например, опция «Ордерные склады» может быть недоступна, пока не включено «Несколько складов»; настройки серий требуют включённого учёта характеристик. Платформа и типовой код обычно подсвечивают такие зависимости или блокируют установку флажка с пояснением.

Порядок действий
  1. 1
    Откройте раздел «НСИ и администрирование» (или «Администрирование») в режиме Предприятия
  2. 2
    Найдите нужный блок настроек: склад, продажи, закупки, производство
  3. 3
    Установите или снимите флажок нужной функциональной опции
  4. 4
    Проверьте зависимые настройки — система может потребовать включить родительскую опцию
  5. 5
    Обновите интерфейс (перезапустите сеанс или нажмите F5) и убедитесь, что разделы и команды появились или скрылись

Настройка функциональных опций в конфигураторе

Разработчик создаёт опцию в ветке «Общие → Функциональные опции» дерева конфигурации. В свойствах задаётся имя, тип значения (Булево, строка, ссылка), а главное — путь к данным, где хранится значение. Для простейшего случая это константа с типом Булево: флажок в настройках записывает в неё Истина или Ложь.

Далее заполняется состав опции: разработчик отмечает объекты, реквизиты и команды, которые должны скрываться при выключенной опции. Если нужно скрыть только часть формы — например, отдельный реквизит документа — в состав включают именно этот реквизит, а не весь объект.

Для опций, зависящих от контекста, используются параметры функциональных опций. Например, опция хранится в регистре сведений с измерением «Организация»; тогда в коде и в настройках отчётов значение определяется с учётом конкретной организации. Это позволяет строить гибкие схемы, но требует аккуратной работы с установкой параметров сеанса.

1c
Если ПолучитьФункциональнуюОпцию("ИспользоватьСерииНоменклатуры") Тогда
    // логика учёта по сериям
КонецЕсли;

Как проверить, что опция сработала

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

Второй уровень — данные. Откройте типовой документ или справочник, связанный с опцией: новые реквизиты должны быть доступны для заполнения, а при отключении — скрыты. Третий уровень — логика: проведите тестовый документ и убедитесь, что движения по регистрам соответствуют включённому режиму учёта.

Контрольные точки

Как проверить результат

Видимость раздела в интерфейсе
Норма

Раздел и команды появились после обновления сеанса

Тревожный признак

Раздел не виден — проверьте зависимые опции и права пользователя

Поведение документа
Норма

Новые реквизиты доступны, документ проводится без ошибок

Тревожный признак

Ошибки проведения или пустые движения — логика требует дополнительной настройки

Значение константы
Норма

Константа содержит установленное значение

Тревожный признак

Значение не сохранилось — проверьте права на запись констант

Ограничения и риски при работе с опциями

Отключение опции не «откатывает» учёт. Если компания вела учёт по сериям, а затем опцию выключили, старые данные останутся в регистрах, но перестанут отображаться. При повторном включении могут возникнуть расхождения: часть документов создана с сериями, часть — без. Перед отключением опции, влияющей на проведение, сделайте резервную копию и проанализируйте, какие документы затронет изменение.

Второй риск — права доступа. Функциональная опция управляет видимостью, но не заменяет роли и RLS. Пользователь с широкими правами может обратиться к скрытому объекту программно или через отчёт. Ограничение доступа настраивается отдельно, опции здесь лишь вспомогательный инструмент.

Типичные ошибки при использовании

Типичные ошибки
01
Включение всех опций «про запас» — интерфейс перегружается, пользователи ошибаются в лишних полях
02
Отключение опции без проверки зависимых документов — старые документы перестают проводиться или открываться корректно
03
Попытка скрыть объект только опцией без настройки прав — данные остаются доступны через отчёты и обработки
04
Изменение состава опции в доработанной конфигурации без учёта обновлений — при обновлении типового решения возникают конфликты
05
Ожидание мгновенного эффекта — забытое обновление сеанса создаёт ложное впечатление, что настройка не сработала

Отдельная ошибка разработчиков — включение в состав опции слишком крупных объектов. Если в состав добавить весь документ целиком, при выключенной опции он исчезнет полностью, включая уже созданные экземпляры. Чаще правильнее включать в состав только специфичные реквизиты и команды, оставляя сам документ доступным.

Часто задаваемые вопросы

Удаляются ли данные при отключении функциональной опции?

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

Можно ли создать свою функциональную опцию без доработки конфигурации?

Нет, создание опции и привязка её к объектам выполняется только в конфигураторе. В режиме Предприятия можно лишь менять значения уже существующих опций через настройки. Если конфигурация на поддержке, добавление своей опции потребует снятия объектов с полной поддержки или использования расширения.

Чем функциональная опция отличается от обычной константы?

Константа — просто хранилище значения. Функциональная опция дополнительно связывает это значение с составом объектов конфигурации: платформа автоматически скрывает связанные команды, реквизиты и элементы интерфейса, когда опция выключена. Сама по себе константа такого эффекта не даёт.

Почему после включения опции раздел не появился в интерфейсе?

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

Влияют ли функциональные опции на производительность?

Заметного влияния на скорость работы опции не оказывают — значения читаются из констант и кэшируются. Косвенный эффект возможен через параметризуемые опции с большим числом параметров, но в типовых сценариях разница незаметна.

Итог

Что важно запомнить

Функциональные опции — штатный способ включать и отключать возможности конфигурации без доработки кода. Они управляют видимостью объектов, но не удаляют данные и не заменяют права доступа. Перед отключением опций, влияющих на учёт, делайте копию базы и проверяйте последствия на тестовых документах.