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

Функциональные опции 1С – это инструмент, который позволяет управлять функциональностью приложения 1С в зависимости от тех или иных настроек.

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

Справочник 1С

Вполне возможно, что в каких-то случаях при использовании конфигурации справочник Склады и соответствующие реквизиты документов понадобится, а в каких-то нет (например, организация использующая программу не будет вести складской учет). Когда нам склады не понадобятся, то они будут мешаться в интерфейсе. Чтобы их визуально убрать, и нужны функциональные опции. В случае нашей конфигурации нам следует сделать следующие доработки: во-первых, создать константу, которая будет отвечать за то, используются ли склады в прикладном приложении или нет. Во-вторых, создать саму функциональную опцию, которая будет привязана к константе, и в которой будет перечислен справочник Склады, а также все реквизиты, имеющие соответствующий тип.

Сделаем это!

Создадим константу Складской учёт. Данная константа должна иметь тип Булево.

Константа 1С

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

Константа 1С

И выключим константу из стандартных команд.

Константа 1С

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

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

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

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

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

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

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

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

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

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

И на закладке Функциональные опции отметь нужную функциональную опцию.

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

Напомню, что если значение в булевой константе Складской учёт —  Истина, то справочник Склады и реквизиты Склад документов Продажа товаров и Закупка товаров будут доступны, а если Ложь – нет. Также, имейте в виду, что если нужно установить зависимость какого-то подчиненного объекта (в нашем случае реквизита) от функциональной опции, то нужно на закладке состав указать именно подчиненный объект, не следует указывать весь объект целиком!

И всё! Функциональная опция создана. Теперь, если мы запустим «1С: Предприятие» в пользовательском режиме, то не увидим там ни справочник Склады, ни соответствующие реквизиты документов.

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

Потому что, по умолчанию значение новой константы Ложь. Изменим значение константы.

Константа 1С

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

Константа 1С

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

Константа 1С

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

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

В результате, при изменении константы все формы будут изменены автоматически.

Внимание! Включение или выключение функциональной опции не влияет на хранение данных! Функциональные опции влияют только на интерфейс! При выключенной функциональной опции данные ни куда не денутся!

Более подробно о работе с функциональными опциями читайте в моей книге «Основы разработки 1С: Такси».

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


Более подробно о работе с другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»

Это изображение имеет пустой атрибут alt; его имя файла - 1C-в-желтом-цвете-3D-221x300.png

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *