Параметры функциональных опций 1с 8.3 пример использования. Функциональные опции, механизм (Functional Option, Mechanism)

Функциональные опции – это одна из новых возможностей платформы 1С:Предприятие 8.2. Смысл их использования заключается в том, что они позволяют настраивать пользовательский интерфейс в соответствии с настройками функциональных опций, задавать видимость реквизитов в формах. Кроме того, разработчик имеет возможность реализовывать программный код, выполнение которого зависит от состояния функциональной опции.

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

Создадим новую константу, назовем ее УчетЗарплаты , тип – Булево . Включим константу в подсистему Администрирование и в форму констант для того, чтобы мы могли редактировать ее. Кроме того, в форме констант зададим обработчик ПослеЗаписи следующего вида:

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

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

Создадим новую функциональную опцию, назовем ее УчетЗарплаты , на закладке Основные , в параметре Хранение укажем только что созданную константу, рис. 7.23 . Включим функциональную опцию в подсистему Администрирование .


Рис. 7.23.

Теперь перейдем на закладку окна настройки функциональной опции Состав и выберем все ( рис. 7.24), что относится к расчету заработной платы. Если какие-либо объекты, например, справочники, относятся к различным частям конфигурации, не будем их отмечать, иначе при выключении функциональной опции они "исчезнут" из интерфейса.


Рис. 7.24.

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

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

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

Внесем изменения в конфигурацию, в частности, в справочник ФизическиеЛица добавим реквизит логического типа ИмеетОпытКадровойСлужбы и разместим его на форме элемента справочника.

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

Проще говоря, механизм функциональных опций — это включатель/выключатель различного функционала в конфигурации.

Зачем может понадобиться отключать функционал?

Получите 267 видеоуроков по 1С бесплатно:

Зачастую дополнительный функционал может усложнять работу сотрудникам. Банальный пример использования функциональных опций в 1С — в базе ведется учет по одной организации или складу, зачем тогда обязывать пользователя заполнять эти данные во всех документах?

Чем управляют функциональные опции?

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

30.03.2017

Функциональные опции 1С 8.3 (Механизм, использование)

Для начала важно отметить, что механизм функциональных опций НЕ ограничивает доступ к данным, а только лишь управляет видимостью (отображением) данных на форме. Для ограничения доступа к объектам в платформе используется механизм ролей.
Поэтому рассмотрение механизма функциональных опций начнем с описания задачи. В нашей мини-конфигурации имеется один справочник "Склады". Предположим что доступ к этому справочнику есть у всех пользователей.
Еще раз! Механизм функциональных опций управляет отображением данных на форме, а не ограничивает доступ к объекту метаданных (Справочник, документ, записи регистра....) Необходимо сделать настройку "Использовать несколько складов" (Да да... Это же есть в УТ 11.Х, там такое и для организаций сделано) . Если используем несколько складов, то в интерфейсе доступен справочник склады, если нет то команда которая открывает один склад (полагаем что он один и есть в таком случае, и не усложняем задачу).

Объекты метаданных конфигурации

Для реализации поставленной задачи нам потребуется:
  • Две функциональных опции "ИспользоватьНесколькоСкладов" и "НеИспользоватьНесколькоСкладов". Первая отвечает за доступность справочника, а вторая за доступность общей команды для вызова алгоритма "открытия" склада
  • Одноименные константы с типом "Булево" для хранения значений функциональных опций
  • Справочник "Склады"
  • Общая команда "ОткрытьОсновнойСклад". Не забываем указать для нее группу команд, иначе не применить конфигурацию (будет ошибка)
И добавим одну подсистему куда включим все имеющиеся объекты

Настройка функциональных опций

Первая опция "ИспользоватьНесколькоСкладов". Значение хранится в одноименной константе, в состав входит справочник "Склады". Таким образом, когда значение константы "Истина" справочник доступен в интерфейсе, когда ложь, справочник не будет отображаться и в интерфейсе (Содержимом подсистем, формах объектов и т.д.)




Вторая функциональная "НеИспользоватьНесколькоСкладов" установлена когда НЕ установлена первая "ИспользоватьНесколькоСкладов".
Т.е. если мы не используем несколько складов (ИспользоватьНесколькоСкладов = ЛОЖЬ и справочник "Склады" недоступен), то отображается команда "ОткрытьОсновнойСклад" доступность которой управляется опцией "НеИспользоватьНесколькоСкладов" (НеИспользоватьНесколькоСкладов = ИСТИНА)

Проверяем поведение системы

Вариант №1. ИспользоватьНесколькоСкладов = Истина, НеИспользоватьНесколькоСкладов = Ложь. В интерфейсе доступен справочник "Склады"


Вариант №2. ИспользоватьНесколькоСкладов = Ложь, НеИспользоватьНесколькоСкладов = Истина. В интерфейсе НЕ доступен справочник "Склады", вместо этого доступна общая команда "ОткрытьОсновнойСклад"

Механизм функциональных опций - это один из инструментов разработки. Он позволяет определить в конфигурации ту функциональность, которая может использоваться или не использоваться при внедрении в зависимости от потребностей конкретной организации.

Работа механизма основана на двух объектах конфигурации:

  • Функциональная опция
    C функциональными опциями, добавленными в прикладное решение, можно связать объекты конфигурации и их реквизиты. Например, с функциональной опцией Учет по складам можно связать реквизит Склад документа Поступление товара . Тогда, если в режиме 1С:Предприятие включить эту функциональную опцию, поле Склад будет отображаться во всех формах документа. Если выключить - поле Склад отображаться не будет. Подробнее...
  • Параметр функциональной опции
    Функциональные опции могут использоваться с параметрами. Например, для того, чтобы вид конкретной формы мог зависеть от значения параметра, выбранного в форме. Например, параметром функциональной опции Валютный учет может быть Организация . Тогда, в зависимости от того, какая организация выбрана в форме, поле Валюта взаиморасчетов будет скрыто или будет отображаться. Подробнее...

Функциональные опции - это объект метаданных, расположенный в группе "Общие":

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

Рассмотрим на примере:

Создадим функциональную опцию "УчетПоСкладам ".
Хранение: указывается поле хранящее значение.
Можно выбирать константу, реквизит справочника или ресурс регистра сведений.
Мы с вами будем использовать константу.

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

Обновляемся, запускаем 1С Предприятие. Установим значение константы = Истина:

В результате имеем:

При установке константы = Ложь, получим:

У вас есть вопрос, нужна помощь консультанта?

Итак, мы с вами создали функциональную опцию, которая управляет полями имеющих тип СправочникСсылка.Склад

Давайте теперь рассмотрим пример использования параметров функциональных опций.
Добавим новую функциональную опцию "Валютный учет "
Хранение: Справочник.Организация.Реквизит.ВалютныйУчет


Добавим в состав реквизит документа "Установка цен номенклатуры"- "Валюта"


В форме Документа в процедурах "ПриСозданииНаСервере" и " ОрганизацияПриИзменении"
Добавим следующий код:

Обновляем конфигурацию и запускаем ее.
Создаем две Организации и для одной из них установим галочку "Валютный учет"

Что же мы получаем в итоге? В результате использования параметров функциональной опции мы с вами получили параметрическое управление полем "Валюта" в документе "Установка цен номенклатуры". Т.е. для организации "Альфа" будет отображаться поле "Валюта", а для организации "Бета" - поле "Валюта" отображаться не будет.
Давайте в этом убедимся. Открываем документ и попытаемся изменить поле "Организация"
При установке Организации = "Альфа", валюта отображается; меняем на "Бета" - валюта убирается