Функциональные опции 1С
Функциональные опции 1С — это механизм платформы «1С:Предприятие», предназначенный для управления видимостью и доступностью элементов конфигурации (реквизитов, справочников, документов, отчётов, команд интерфейса) в зависимости от заданных условий. Функциональные опции позволяют настраивать прикладное решение, скрывая или отключая части функциональности, не востребованные в конкретной организации или на конкретном рабочем месте, без изменения программного кода и структуры конфигурации. Механизм реализован на уровне метаданных и исполняется как на стороне клиента, так и на стороне сервера.
Назначение и область применения
Основная задача функциональных опций — адаптация типового или заказного прикладного решения под потребности конкретного пользователя или группы пользователей. В типовых конфигурациях «1С:Бухгалтерия», «1С:Управление торговлей», «1С:Зарплата и управление персоналом» и других функциональные опции используются для включения или отключения целых блоков учёта (например, «Использовать валютный учёт», «Вести учёт по складам», «Использовать ПДФ-подписи»).
Применение механизма позволяет:
- сократить количество видимых элементов интерфейса для пользователей, не работающих с определёнными функциями;
- повысить производительность системы за счёт отказа от вычисления значений для скрытых реквизитов и форм;
- упростить внедрение и обновление конфигураций, так как настройка выполняется через интерфейс, а не через модификацию кода.
Архитектура и принцип работы
Функциональные опции реализуются в конфигурации с помощью двух основных объектов метаданных: функциональная опция и параметр функциональной опции. Также используется объект подсистема для группировки опций.
Функциональная опция
Объект метаданных, который задаёт условие включения или отключения определённой функциональности. Условие описывается в свойстве «Состав» (для объектов, на которые опция влияет) и в свойстве «Значение» (для логического выражения, определяющего, включена опция или нет). Значение функциональной опции может быть:
- Постоянным — задаётся на этапе разработки или в режиме «1С:Предприятие» через константу.
- Зависимым от параметров — вычисляется на основе значений параметров сеанса, реквизитов справочников или других данных.
Параметр функциональной опции
Используется, когда значение опции должно зависеть от контекста (например, от организации, склада или пользователя). Параметр связывается с реквизитом объекта метаданных (например, «Организация» в документе) и позволяет вычислять видимость элементов для каждого конкретного экземпляра данных.
Влияние на объекты конфигурации
Функциональная опция может управлять видимостью и доступностью следующих элементов:
- Реквизиты — скрытие полей в формах и отключение их использования в запросах.
- Табличные части — скрытие колонок или целых таблиц.
- Справочники, документы, отчёты, обработки — скрытие объектов из панели навигации и командного интерфейса.
- Команды — скрытие кнопок и пунктов меню.
- Формы — отключение возможности открытия формы.
- Подсистемы — скрытие целых разделов интерфейса.
Если функциональная опция отключена, соответствующие объекты не только скрываются из интерфейса, но и не участвуют в вычислениях на сервере, что снижает нагрузку на систему.
Создание и настройка
Процесс создания функциональной опции в конфигураторе включает несколько этапов:
- Создание константы или регистра сведений для хранения значения опции (например, константа «ИспользоватьВалютныйУчёт» типа «Булево»).
- Создание объекта «Функциональная опция» в ветке «Общие» — «Функциональные опции». В свойстве «Значение» указывается ссылка на константу или выражение.
- Настройка состава опции — в свойстве «Состав» перечисляются объекты метаданных, на которые опция влияет (реквизиты, команды, формы и т.д.).
- Создание параметров (при необходимости) — в ветке «Общие» — «Параметры функциональных опций». Параметр связывается с реквизитом объекта (например, «Организация»).
- Размещение опции в подсистеме — для удобства администрирования опции группируются в подсистемы.
В режиме «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 →