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

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

Что такое функциональная опция в 1С и как ей пользоваться

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

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

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

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

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

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

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

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

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

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

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

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

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

Для собственной доработки последовательность такая. Сначала создайте константу с типом «Булево» — она будет хранить значение. Затем добавьте объект «Функциональная опция», укажите в свойстве «Хранение» эту константу, а в свойстве «Состав» отметьте объекты, которые должны скрываться: документы, справочники, реквизиты, команды.

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

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

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

Эти три механизма часто путают, потому что внешне результат похож: что-то становится доступно или недоступно. Разница в назначении и глубине действия.

МеханизмЧто делаетКогда применять
Функциональная опцияСкрывает объекты из интерфейса по значению настройкиУпростить интерфейс под сценарий работы компании
КонстантаХранит единое значение для всей базыХранение параметров: название фирмы, валюта учёта
Роли и праваОграничивают доступ к данным и операциямРазграничение доступа между пользователями

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

Типичные ситуации и ошибки при работе с опциями

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

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

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

Ограничения и риски: что проверить перед изменением

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

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

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

Пропал раздел или документ. Это из-за функциональной опции?

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

Удалятся ли данные, если выключить опцию?

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

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

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

Можно ли управлять опцией программно?

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

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

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

Итог

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

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