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

30.04.2018

Категория: 1С:Предприятие

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

Опции «Бухгалтерский учет» и «Расчет зарплаты»

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

Поскольку значения функциональных опций обязательно должны где-то храниться, добавим сначала константы БухгалтерскийУчет и РасчетЗарплаты с типом Булево, в которых будут храниться значения функциональных опций.

Создание констант Бухгалтерский учет и Расчет зарплаты

Если значение константы Истина, значит, функциональная опция включена. Если значение Ложь, функциональная опция выключена.

Затем раскроем ветвь «Общие», выделим ветвь «Функциональные опции» и создадим функциональные опции «Бухгалтерский учет» и «Расчет зарплаты», указав в свойстве «Хранение» соответствующие константы.

Создание функциональных опций Бухгалтерский учет и Расчет зарплаты

Теперь нам нужно привязать объекты конфигурации к функциональным опциям. На закладке «Состав» отметим нужные объекты для функциональной опции «Бухгалтерский учет». Аналогично, на закладке «Состав» отметим нужные объекты для функциональной опции «Расчет зарплаты».

Состав объектов функциональной опции Бухгалтерский учет

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

Значение функциональных опций для объекта конфигурации

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

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

Значение функциональных опций для объекта конфигурации

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

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

На закладке «Реквизиты» этой формы раскроем основной реквизит НаборКонстант и перетащим константы БухгалтерскийУчет и РасчетЗарплаты в окно элементов формы.

Редактирование общей формы констант

Опция «Учет клиентов»

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

Также доработаем существующие функциональные опции, включив в них и подсистемы «Бухгалтерия» и «РасчетЗарплаты». Раз бухгалтерия не нужна, значит ее нет нигде.

Откроем состав функциональной опции «Бухгалтерский учет» и добавим в него подсистему «Бухгалтерия». Аналогичным образом добавим в состав функциональной опции «РасчетЗарплаты» подсистему «РасчетЗарплаты».

Состав функциональной опций РасчетЗарплаты

Теперь займемся созданием новой функциональной опции. Для хранения этой опции добавим константу с именем УчетКлиентов с типом Булево. Добавим функциональную опцию «УчетКлиентов» и укажем, что ее значение будет храниться в константе УчетКлиентов. На закладке «Состав» укажем, какие объекты будут входить в эту функциональную опцию.

  • Прежде всего — справочник «Клиенты».
  • Затем — реквизит Клиент документа «ОказаниеУслуги».
  • И в заключение — измерение Клиент регистра накопления «Продажи».

Состав функциональной опции УчетКлиентов

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

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
    ОбновитьИнтерфейс();
КонецПроцедуры

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

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.