Функциональные опции в 1С 8.3: механизм гибкой настройки конфигурации

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

Что это такое

Функциональная опция — это объект метаданных платформы 1С 8.3. Хранит булево значение (включена или выключена) и связана со списком других объектов метаданных: справочников, документов, регистров, реквизитов форм.

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

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

Зачем нужны

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

  • Учёт по нескольким организациям.
  • Несколько складов.
  • Розничная торговля и эквайринг.
  • Производство и готовая продукция.
  • Учёт по партиям.
  • Комплектация номенклатуры.
  • Импорт и таможенные операции.
  • Учёт ОС и НМА.
  • Прослеживаемость товаров.

Включая или отключая опции, пользователь подгоняет интерфейс под свой бизнес. Это упрощает работу и снижает риск ошибок.

Где включаются опции

В пользовательском режиме большинство опций доступны через:

  • «Главное» → «Настройки» → «Функциональность».
  • «Администрирование» → «Настройки программы» → «Функциональность».

Три варианта:

  • Основная — все опции выключены. Минимум функций для самых простых случаев.
  • Полная — все опции включены. Максимум функций.
  • Выборочная — пользователь сам ставит флажки на нужных вкладках.

Каждая вкладка («Документы», «Касса и банк», «Расчёты», «Торговля», «Производство», «ОС и НМА», «Сотрудники») содержит группу опций.

Как опции устроены изнутри

Чтобы понять механизм, откройте конфигурацию в режиме Конфигуратор. В дереве метаданных раздел «Общие» → «Функциональные опции».

Каждая опция имеет:

  • Имя — для использования в коде.
  • Хранение — где хранится значение опции (обычно константа типа Булево).
  • Привилегированный режим — доступность опции в особом режиме без проверки прав.
  • Состав — список связанных объектов метаданных.

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

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

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

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

Параметр опции — это объект метаданных (справочник или регистр), значение которого определяет состояние опции.

Состав опции

Закладка «Состав» в свойствах опции — список объектов метаданных, видимость которых она регулирует:

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

Один объект — в одной опции. Это правило платформы.

Использование в коде

Для проверки опции в коде используется глобальная функция «ПолучитьФункциональнуюОпцию»:

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

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

Для параметризованных опций в функцию передаются также значения параметров.

Программное изменение опции

Если опция связана с константой, её значение можно изменить программно:

Константы.ИспользоватьКомплектациюНоменклатуры.Установить(Истина);

Это полезно при первичной настройке базы или при массовых изменениях через обработки.

После изменения константы интерфейс перерисовывается автоматически — связанные элементы появляются или исчезают.

Опции и расширения конфигурации

В современной 1С 8.3 (от платформы 8.3.13) опции можно использовать в расширениях конфигурации без снятия её с поддержки. Это даёт возможность:

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

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

Контроль и аудит

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

  • Меню «Администрирование» → «Настройки программы» → «Функциональность» — пользовательский интерфейс.
  • Конфигуратор — раздел «Общие» → «Функциональные опции» с просмотром каждой.
  • Программную обработку, которая выгружает значения всех опций в файл.

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

Резюме

  • Функциональные опции в 1С 8.3 — механизм метаданных, который скрывает или показывает части интерфейса в зависимости от настроек пользователя.
  • Опции хранятся в константах типа Булево или зависят от справочников/регистров (параметризованные опции). Состав опции — список объектов, на которые она влияет.
  • Включение опций в пользовательском режиме — через «Главное» → «Настройки» → «Функциональность» с тремя предустановками: основная, полная, выборочная.
  • В коде опция проверяется функцией «ПолучитьФункциональнуюОпцию». В расширениях конфигурации можно создавать собственные опции без снятия типовой с поддержки.