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

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

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

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

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

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

Механизм особенно важен в типовых конфигурациях: 1С:ERP, «Управление торговлей», «Зарплата и управление персоналом» содержат сотни функциональных опций. Неправильная их настройка — одна из частых причин ситуаций «не вижу нужный документ» или «появились лишние поля в формах».

Что такое функциональная опция и как она устроена

Функциональная опция — это объект метаданных в ветке «Общие» дерева конфигурации. У нее есть имя, тип значения (чаще всего булево: включено/выключено) и состав — список объектов конфигурации, которыми она управляет. В состав можно включать справочники, документы, реквизиты, табличные части, команды, роли, отчеты и другие элементы.

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

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

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

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

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

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

Где хранятся значения и как платформа применяет опции

Типовой вариант хранения — константа. В свойстве опции «Хранение» указывается путь к константе. Как только значение меняется, платформа при следующем обновлении интерфейса скрывает или показывает объекты из состава опции: пункты меню, команды создания документов, реквизиты в формах и списках.

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

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

Как включить функциональную опцию в режиме предприятия

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

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

Если флажок в настройках найти не удается, опцию можно изменить напрямую через константу: «Все функции» → «Константы» → найти нужную по имени. Режим «Все функции» включается через «Сервис — Параметры». Это обходной путь — в типовых решениях настройка через штатные формы предпочтительнее, потому что там могут выполняться дополнительные проверки и связанные действия.

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

При доработке конфигурации собственная опция позволяет сделать новую функциональность отключаемой. Порядок создания стандартный.

  1. Создайте константу для хранения значения, например «ИспользоватьСогласованиеЗаявок» типа «Булево».
  2. В ветке «Общие — Функциональные опции» добавьте новую опцию, задайте имя и в свойстве «Хранение» укажите созданную константу.
  3. В свойстве «Состав» отметьте объекты, которыми опция управляет: новые документы, справочники, реквизиты, команды, подсистемы.
  4. Добавьте константу на форму настроек, чтобы администратор мог менять значение без конфигуратора.
  5. Проверьте: при снятом флажке объекты должны исчезать из интерфейса, при установленном — появляться.

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

Не включайте в состав одной опции слишком много разнородных объектов. Лучше несколько логически отдельных опций с понятными именами — так проще искать, почему что-то скрылось, и безопаснее менять настройки.
ПЗ
Практическое замечание

Почему опция включена, а документа не видно: типичные причины

Самая частая жалоба — «поставили флажок, но ничего не появилось». Причин несколько, и проверять их стоит в определенном порядке.

Маршрут решения

Как выбрать действие

Флажок установлен, но раздел не появилсяОбновите интерфейс или перезапустите сеанс — часть настроек применяется только при новом входе
Под администратором видно, под пользователем нетПроверьте роли и права: объект может быть дополнительно ограничен правами доступа
Опция параметризуемаяПроверьте, что значение включено именно для нужной организации, склада или другого параметра
Документ есть, но недоступна команда созданияПроверьте состав опции и настройку командного интерфейса подсистемы
Ничего не помоглоПроверьте значение константы напрямую через «Все функции» — возможно, настройка не сохранилась

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

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

Ограничения механизма и когда опций недостаточно

Функциональные опции — инструмент видимости, а не безопасности. Они не заменяют права доступа: данные, скрытые опцией, остаются доступными через запросы, отчеты и обработки, если роль это позволяет. Для разграничения доступа используйте роли и RLS.

Второе ограничение — опции не управляют бизнес-логикой. Если при выключенной опции проведение документа должно идти по-другому, это реализуется кодом с проверкой значения опции через ПолучитьФункциональнуюОпцию("ИмяОпции"). Платформа сама алгоритмы не переключает.

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

После изменения опций полезно пройти короткий контроль, чтобы не обнаружить проблему в конце месяца.

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

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

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

Под обычным пользователем нужные команды и документы доступны, лишние скрыты

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

Видно только под администратором — проблема в правах

Работа с данными
Норма

Старые документы открываются, проводятся, попадают в отчеты

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

Документы не находятся поиском или выпадают из отчетов

Связанные процессы
Норма

Обмены, печать, закрытие периода проходят без ошибок

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

Ошибки о недоступности объектов или отсутствии данных

Значение хранилища
Норма

Константа или запись регистра соответствует установленному флажку

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

Флажок в настройках и значение константы расходятся

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

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

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

Можно ли включить опцию только для одной организации в базе?

Да, если опция параметризуемая: ее значения хранятся в регистре сведений с измерением «Организация» (или другим параметром). Обычная непараметризуемая опция действует на всю базу целиком.

Что будет с данными, если выключить функциональную опцию?

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

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

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

Как программно узнать, включена ли опция?

Используйте функцию ПолучитьФункциональнуюОпцию("ИмяОпции"). Для параметризуемых опций вторым параметром передается структура со значением параметра. Это стандартный способ ветвить логику в коде в зависимости от настроек.

Итог

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

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