Открыть сервис

Функциональные опции 1С

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

Назначение и область применения

Основная задача функциональных опций — адаптация типового или заказного прикладного решения под потребности конкретного пользователя или группы пользователей. В типовых конфигурациях «1С:Бухгалтерия», «1С:Управление торговлей», «1С:Зарплата и управление персоналом» и других функциональные опции используются для включения или отключения целых блоков учёта (например, «Использовать валютный учёт», «Вести учёт по складам», «Использовать ПДФ-подписи»).

Применение механизма позволяет:

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

Архитектура и принцип работы

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

Функциональная опция

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

  • Постоянным — задаётся на этапе разработки или в режиме «1С:Предприятие» через константу.
  • Зависимым от параметров — вычисляется на основе значений параметров сеанса, реквизитов справочников или других данных.

Параметр функциональной опции

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

Влияние на объекты конфигурации

Функциональная опция может управлять видимостью и доступностью следующих элементов:

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

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

Создание и настройка

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

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

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

Примеры использования

В типовых конфигурациях

В конфигурации «1С:Бухгалтерия предприятия 3.0» функциональные опции определяют, какие разделы и реквизиты будут доступны пользователю. Например:

  • «Использовать валютный учёт» — при отключении скрываются реквизиты «Валюта» и «Курс» в документах, а также отчёты по валютному учёту.
  • «Вести учёт по складам» — при отключении скрываются справочник «Склады» и соответствующие реквизиты в документах.
  • «Использовать ПДФ-подписи» — при отключении скрываются команды подписания электронных документов.

В заказных разработках

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

  • включения или отключения модуля лояльности (скидки, бонусы, накопительные карты);
  • скрытия реквизитов, связанных с импортными товарами (таможенные декларации, коды ТН ВЭД), если компания работает только с отечественной продукцией;
  • отключения печатных форм, не используемых в конкретном подразделении.

Особенности и ограничения

  • Производительность: при большом количестве функциональных опций (более 100–200) может наблюдаться замедление работы системы, особенно при открытии форм и выполнении запросов. Рекомендуется использовать опции только для значимых блоков функциональности.
  • Сложность отладки: ошибки в настройке опций (например, неверное указание состава или зависимостей) могут приводить к неожиданному скрытию элементов интерфейса или некорректной работе отчётов.
  • Взаимодействие с правами доступа: функциональные опции работают независимо от ролей и прав доступа. Если объект скрыт опцией, он не будет виден даже пользователю с полными правами. Если объект видим, но доступ к нему ограничен ролью, пользователь не сможет его открыть.
  • Параметры сеанса: для корректной работы опций, зависящих от параметров, необходимо, чтобы параметры сеанса были установлены до начала работы с интерфейсом (например, при старте системы).

Сравнение с другими механизмами

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

Интересные факты

  • Механизм функциональных опций был введён в платформе «1С:Предприятие 8.2» и значительно расширен в версии 8.3 (добавлена поддержка параметров, улучшена производительность).
  • В типовых конфигурациях количество функциональных опций может достигать нескольких сотен. Например, в «1С:Управление торговлей 11» их более 300.
  • Функциональные опции могут использоваться не только для скрытия, но и для изменения поведения системы — например, включение или отключение автоматического расчёта себестоимости.

Источники

  • Радченко М.Г., Хрусталёва Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». — М.: 1С-Паблишинг, 2020.
  • Документация платформы «1С:Предприятие 8.3» — раздел «Функциональные опции».
  • Официальный сайт фирмы «1С» — раздел «Методическая поддержка» (https://its.1c.ru).
  • Статьи на портале «Инфостарт» (https://infostart.ru) — «Функциональные опции: теория и практика».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →