Как изменить функциональную опцию 1с

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

Функциональные опции в программах 1С на базе платформы 1С Предприятие (версия 1С 8.3) – это раздел, который позволяет активировать различные режимы работы приложений в зависимости от задач, которые решает пользователь. Рассмотрим подробнее, для чего нужны «функциональные опции» и как их включить в 1С Бухгалтерия или других программах. 

Управление «Функциональными опциями»

Изменить эти настройки в программах 1С может понадобиться в таких случаях:

  • Когда пользователь в одном экземпляре 1С Бухгалтерии ведет учет по нескольким субъектам предпринимательской деятельности;
  • Когда материальные ценности хранятся на нескольких складах;
  • В других ситуациях, когда типовая настройка не позволяет решить задачи пользователя. 

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

Доступ к изменению в программе 1С Бухгалтерия на базе 1С Предприятие 8.3 размещен в пункте меню Главное, Настройки, Функциональность. Однако перед тем как использовать их, необходимо включить нужный режим в Конфигураторе. 

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

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

Обратите внимание, что одинаковые объекты из списка метаданных нельзя присваивать в нескольких параметрах опций. 

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

Консультации по использованию программ

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

  • Permalink

1. Назначение функциональных опций

Функциональные опции позволяют разработчику описать возможности прикладного решения, которые можно оперативно включать или выключать на этапе внедрения и/или в процессе работы системы. Например, возможность работы с дополнительными свойствами товаров можно выделить в отдельную функциональную опцию. Тогда если отключить эту возможность, в интерфейсе прикладного решения «пропадут» все связанные (с дополнительными свойствами товаров) возможности.
Система способна автоматически учитывать состояние сделанных настроек – скрывать выключенные возможности, делая интерфейс приложения более ясным и понятным для пользователя.
При разработке возникают ситуации, когда значение функциональной опции должно зависеть от неких параметров, например, валютный учет ведется не у всех организаций. Для реализации такой зависимости служат Параметры функциональных опций – объекты, параметризующие функциональные опции.

2. На что влияют функциональные опции

2.1. Общая информация

Функциональные опции могут оказывать влияние:
● На пользовательский интерфейс – при выключении каких-либо функциональных опций система скрывает в пользовательском интерфейсе все элементы, относящиеся к ней. При этом затрагиваются следующие элементы интерфейса:
● глобальный командный интерфейс;
● реквизиты формы (в том числе колонки реквизита формы типа ТаблицаЗначений или ДеревоЗначений);
● команды формы;
● отчеты, реализованные с помощью системы компоновки данных.
ВНИМАНИЕ! Если клиентское приложение работает с файловым вариантом информационной базы через веб-сервер, то изменение функциональной опции приведет к изменению пользовательского интерфейса только после перезапуска веб-сервера (перезапуск клиентского приложения не вызовет изменение пользовательского интерфейса).
● На алгоритмы, написанные на встроенном языке – имеется возможность получать значения функциональных опций из встроенного языка и использовать их в различных условиях, например, для уменьшения объема вычислений.
ВНИМАНИЕ! Функциональные опции и их параметры не влияют на состав базы данных. Все таблицы и поля присутствуют в базе данных независимо от состояния функциональных опций.

2.2. Глобальный командный интерфейс

Влияние функциональных опций на глобальный командный интерфейс заключается в том, что система скрывает команды всех объектов, относящихся к выключенным опциям. Например, если значение функциональной опции Закупки равно значению Ложь, то будут скрыты команды открытия раздела Закупки, создания документа ПриходТовара, открытия списка ПриходТовара и т. д.
В свою очередь, опция Закупки может учитывать значение параметра функциональной опции, например, Организация. Изменяя с помощью методов встроенного языка значение этого параметра, можно изменять состояние функциональной опции, а, следовательно, и видимость элемента интерфейса.
Также следует учитывать следующие особенности формирования командного интерфейса:
● Команда будет исключена из командного интерфейса в том случае, если реквизит, являющийся параметром команды, отключен функциональной опцией.
● Команда будет исключена из командного интерфейса в том случае, если тип параметра команды отключен функциональной опцией. Если тип параметра команды составной, то команда становится недоступной тогда, когда отключаются все типы параметра.

2.3. Форма

В форме функциональные опции могут влиять на реквизиты и команды формы и (как следствие) изменять видимость связанных с ними элементов формы (поля и колонки – для реквизитов формы, кнопки – для команд формы). При разработке формы необходимо учитывать следующие особенности поведения системы:
● Основной реквизит управляемой формы типа <Вид>Объект (СправочникОбъект, ДокументОбъект и т. д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации. Анализируются только те функциональные опции, которые не имеют параметров.
● Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. Анализируются только те функциональные опции, которые не имеют параметров.
● Отключается реквизит формы ссылочного типа, если объект конфигурации, образующий этот тип, отключен функциональной опцией. Реквизит формы составного типа отключается в том случае, если функциональные опции отключают все составляющие типы.
● Отключается реквизит формы типа <Вид>Объект (включая основной реквизит формы), если объект конфигурации, образующий этот тип, отключен функциональной опцией. Анализируются только те функциональные опции, которые не имеют параметров.
● Таблица формы будет отключена, если она отображает данные реквизита формы, отключенного функциональной опцией.
● В диалоге выбора типов (например, для полей ввода, связанных с реквизитами составного типа) отсутствуют типы, если объекты конфигурации, формирующие эти типы, отключены функциональной опцией. Информация о типах, отключенных функциональными опциями, кешируется на стороне клиента и очищается через 20 минут или во время вызова метода ОбновитьИнтерфейс().
ВНИМАНИЕ! В отличие от командного интерфейса, значения параметров функциональных опций устанавливаются только для конкретного экземпляра формы.

2.4. Система компоновки данных

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

2.5. Характеристики

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

Рис. 1. Влияние функциональных опций на характеристики

В случае отключения функциональной опции УчетХарактеристик в формах отключается видимость полей (колонка Значение и поле Значение), отображающих значения характеристик, как показано на рис1.

3. Общая схема работы

Механизм функциональных опций включает в себя два типа объектов метаданных: Функциональная опция и Параметры функциональных опций.
Функциональная опция представляет собой объект метаданных, который может непосредственно влиять на состав интерфейса приложения (если функциональная опция хранит свое значение в реквизите типа Булево). С помощью объектов этого типа можно скрыть элементы, которые относятся к недоступной функциональности. Например, опция Валютный учет может скрыть справочник Валюты, поле Валюта из документов, колонку Валютная сумма из отчетов. Источником значения функциональной опции является объект метаданных, выбранный в качестве свойства Хранение, например, это
может быть константа.
В случае хранения значения функциональной опции в реквизите справочника или ресурсе регистра сведений требуется дополнительная информация, которая указывает на то, как именно выбрать значение опции. Для этой цели предусмотрен отдельный объект метаданных – Параметры функциональных опций.
Можно сказать, что параметры функциональных опций являются осями координат пространства значений функциональных опций. Причем один параметр функциональных опций может определять значение «своей» оси координат одновременно для множества функциональных опций.

Рис. 2. Параметризуемая функциональная опция

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

Организация (соответствующего типа);
Склад (соответствующего типа).

Ресурсом регистра сведений будет значение функциональной опции суммового учета.
Тогда общая структура конфигурации будет выглядеть следующим образом:
● Регистр сведений СуммовойУчет:
● измерение Организация;
● измерение Склад;
● ресурс СуммовойУчет, имеющий тип Булево.
● Параметр функциональных опций Организация. Свойство Использование указывает на измерение Организация регистра сведений СуммовойУчет.
● Параметр функциональных опций Склад. Свойство Использование указывает на измерение Склад регистра сведений СуммовойУчет.
● Функциональная опция СуммовойУчет. Свойство Хранение указывает на ресурс СуммовойУчет регистра сведений СуммовойУчет.
В результате для того, чтобы определить необходимость ведения суммового учета, нам необходимо в каждом конкретном случае указать значения параметров функциональных опций (Организация и Склад) и получить значение функциональной опции.
Так, в примере, показанном на рис.2, для Организации 1 и Склада 1 суммовой учет разрешен, а для Организации 2 и Склада 1 суммовой учет запрещен.

4. Взаимодействие с другими объектами

Функциональные опции могут быть назначены следующим объектам конфигурации:
● Подсистемы,
● Общие команды,
● Общие формы,
● Константы,
● Критерии отбора,
● Справочник,
● Документ,
● Журнал,
● План счетов,
● План видов характеристик,
● План видов расчета,
● Бизнес-процесс,
● Задача,
● Планы обмена,
● Отчет,
● Обработка,
● Регистр накопления,
● Регистр сведений,
● Регистр бухгалтерии,
● Регистр расчета,
● Команда,
● Реквизит объекта метаданных,
● Табличная часть,
● Реквизит табличной части,
● Признак учета,
● Признак учета субконто,
● Реквизиты адресации,
● Измерение регистра,
● Ресурс регистра.
Также функциональные опции могут влиять на видимость элементов формы.

5. Создание

5.1. Создание функциональной опции

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

Рис. 3. Создание функциональной опции

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

Рис. 4. Хранение значения функциональной опции

Кроме имени объект имеет обязательное для заполнения свойство – Хранение. В редакторе для него можно выбрать один из объектов, который будет являться источником значения опции. В список доступных объектов входят:
● константы,
● реквизиты справочников,
● ресурсы регистров сведений.
Ограничение на тип источника значения опции нет, но для управления интерфейсом пригодны только те функциональные опции, которые хранят свои значения в реквизитах, имеющих тип Булево. Значения функциональных опций с другими типами доступны только для анализа на встроенном языке.
Свойство Привилегированный режим при получении отвечает за способ получения (и кеширования) значения функциональной опции.

Рис. 5. Привилегированный режим при получении значения функциональной опции

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

5.2. Создание параметра функциональных опций

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

Кроме имени, параметр имеет обязательное свойство Использование. В нем указывается набор объектов, значения которых будут определять то, как следует выбирать значение функциональной опции. В список доступных объектов входят справочники и измерения регистра сведений. Для каждого параметра функциональных опций в данном списке можно выбрать один справочник (из всего перечня справочников) и по одному измерению каждого регистра сведений.
ВНИМАНИЕ! Нельзя использовать один и тот же объект метаданных в нескольких параметрах функциональных опций.

6. Использование

6.1 Назначение объектам метаданных

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

Рис. 6. Назначение функциональной опции объекту

Список доступных опций ограничен только теми опциями, для которых в свойстве Хранение назначен объект с типом значения Булево.
ВНИМАНИЕ! Если объекту не назначена ни одна функциональная опция, то он считается видимым всегда. В противном случае объект считается видимым, если хотя бы одна из назначенных ему функциональных опций является включенной (т. е. функциональные опции сочетаются «по ИЛИ»).

6.2. Назначение реквизитам и командам формы

Объекты, принадлежащие форме (Реквизиты и Команды), также можно задействовать в механизме функциональных опций.

Рис. 7. Назначение функциональной опции команде

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

6.3. Использование в механизме ограничения доступа к данным

В условиях механизма ограничения доступа к данным  Функциональные опции могут использоваться точно так же, как и Параметры сеанса . Допустимо использовать только не зависящие от параметров опции, то есть те, которые привязаны к константам.
ВНИМАНИЕ! Системой контролируется уникальность имен между параметрами сеанса и функциональными опциями.

6.4. Определение значения функциональной опции

Значение функциональной опции определяется объектом, который указан в свойстве Хранение. В случае константы используется ее значение. Для опции, связанной с реквизитом справочника или ресурсом регистра сведений, – значения, хранящиеся в этих объектах. Для того чтобы найти конкретный объект, который хранит значение функциональной опции, необходима дополнительная информация – набор значений параметров функциональных опций.
Если опция хранится в реквизите справочника, параметр должен содержать ссылку на конкретный элемент справочника. Если опция хранится в ресурсе регистра сведений, должны быть указаны значения всех измерений регистра. В этом случае каждое измерение должно характеризоваться своим параметром.
Если для функциональной опции, имеющей тип Булево, заданы не все параметры, то выполняется сложение «по ИЛИ» всех значений с не заданными параметрами. Например, если функциональная опция хранится в регистре сведений с измерениями Организация и Склад и задано только измерение Организация, то значение функциональной опции будет равно Истина, если хотя бы у одного из складов, перечисленных в измерении Склад, значение функциональной опции будет равно значению Истина.
Для функциональной опции, имеющий тип, отличный от Булево, ситуация с не полностью заданными параметрами приводит к генерации исключения.
Методы встроенного языка позволяют получить значение опции, как в зависимости от переданных параметров, так и для параметров, установленных
для командного интерфейса или конкретной формы. В том случае, когда изменение значения объекта, указанного в свойстве функциональной опции Хранение, выполняется в транзакции, собственно значение функциональной опции будет изменено только после завершения транзакции. Пока открыта транзакция – значение функциональной опции будет равно значению, актуальному на момент начала транзакции.
Если функциональная опция привязана к ресурсу периодического регистра сведений, то система использует срез последних для получения значения опции. Если требуется получать значение опции на какую-либо другую дату, необходимо указать значение для параметра функциональных опций Период (Period), имеющий тип Дата, который будет использоваться как дата получения среза. Этот параметр не нужно создавать в метаданных. Он предоставляется системой автоматически.

При использовании параметризованных функциональных опций следует учитывать следующие особенности поведения:
● В формах списков колонка реквизита, связанного с параметризованной функциональной опцией, будет отображаться, если в информационной базе хранится хотя бы одно включенное значение данной функциональной опции.
● Если необходимо, чтобы при открытии формы реквизиты, связанные с функциональными опциями, были отключены по умолчанию, то нужно
установить значения этих параметров в значения, отсутствующие в информационной базе (для справочников – пустая ссылка, для регистров сведений – значения измерений, для которых нет записей). В этом случае функциональная опция будет иметь значение Ложь.
● В том случае, когда в качестве параметра указана ссылка на группу (если типа параметра функциональной опции допускает создание групп), а не ссылка на элемент, поведение системы будет следующим:
● если реквизит, в котором хранится значение функциональной опции, используется             как для элемента, так и для группы, то значение функциональной опции будет                          определяться значением этого реквизита.
● если реквизит, в котором хранится значение функциональной опции, не                                 используется для группы, то при получении значения функциональной опции c                     помощью методов ПолучитьФункциональнуюОпцию(),                                                                     ПолучитьФункциональнуюОпциюФормы() и                                                                                         ПолучитьФункциональнуюОпциюИнтерфейса() будет возращено значение NULL. Если,         параметризованная таким значением, функциональная опция оказывает влияние на             пользовательский интерфейс, то система будет воспринимать ее как выключенную               (функциональная опция будет иметь значение Ложь).
● Для командообразующих объектов метаданных возможно установить привязку к параметризованной функциональной опции. В командном интерфейсе команды таких объектов будут отображаться только в том случае, если есть хотя бы одна комбинация параметров функциональных опций, при которых значение функциональной опции равно Истина. Однако с помощью метода  УстановитьПараметрыФункциональныхОпцийИнтерфейса() можно задать конкретные значения параметров функциональных опций, и тогда видимость
команд будет определяться именно заданными параметрами.
● Динамический список автоматически использует функциональные опции, используемые формой. Если реквизиты, которые используются в запросе динамического списка, будут отключены при заданной комбинации параметров функциональных опций, данные по ним не будут выбраны и отображены в динамическом списке, а реквизит будет удален из списков доступных реквизитов в диалоге настройки отображения данных
динамического списка (в режиме 1С:Предприятие).

7. Работа с функциональными опциями во встроенном языке

Методы глобального контекста ПолучитьФункциональнуюОпцию() и ПолучитьФункциональнуюОпциюИнтерфейса() возвращают значение функциональной
опции. Разница между ними заключается в том, что первый метод позволяет указать набор параметров функциональных опций, а второй – возвращает значение функциональной опции исходя из параметров, заданных для командного интерфейса. В форме есть свой метод, который возвращает значение опции для параметров, указанных в рамках формы, – ПолучитьФункциональнуюОпциюФормы().
Для обновления глобального командного интерфейса следует явным образом вызывать метод УстановитьПараметрыФункциональныхОпцийИнтерфейса().
Командный интерфейс будет обновлен с учетом нового состояния функциональных опций.
ПРИМЕЧАНИЕ. Если значение функциональной опции изменяется в базе данных, то автоматического обновления глобального командного интерфейса и открытых в это время форм не происходит. Для этого следует использовать метод ОбновитьИнтерфейс() после записи значений функциональных опций в базу данных.
Следует помнить, что установка параметров функциональных опций (и выполнение метода ОбновитьИнтерфейс()) приводит к следующим последствиям:
● для каждой формы вызывается закрытие всех вспомогательных форм (с вызовом соответствующих обработчиков);
● формы, отказавшиеся от закрытия, не закрываются;
● происходит обновление состава элементов основной формы;
● если на момент обновления интерфейса активной формой была основная, происходит отображение основной формы в соответствии с новым составом элементов;
● если на момент обновления интерфейса активной формой была вспомогательная форма, то:
● будет выполнена команда открытия вспомогательной формы, если после обновления интерфейса она является доступной;
● в противном случае обновляется состав элементов основной формы и выполняется ее отображение;
● если на момент обновления интерфейса активной формой была вспомогательная форма, открытая с помощью команды, не относящейся к панели навигации формы, то вместо этой формы будет обновлен состав элементов основной формы и выполнено ее отображение.
Для того чтобы обновить конкретную форму, следует либо заново открыть ее, либо вызвать метод УстановитьПараметрыФункциональныхОпцийФормы(),
при этом вышеописанная последовательность действий отрабатывает только для той формы, в контексте которой вызвана установка параметров функциональных опций формы.
Параметры не обязательно указывать все сразу, можно изменить значение конкретного параметра или набора параметров выборочно. Но эффективнее осуществляется именно групповая установка значений одним вызовом.
Для получения значений параметров необходимо вызвать соответствующую функцию (ПолучитьПараметрыФункциональныхОпцийИнтерфейса() или
ПолучитьПараметрыФункциональныхОпцийФормы()), которая вернет установленные параметры в виде структуры, где ключом будет выступать имя параметра.
При открытии форма автоматически использует параметры функциональных опций, установленных для командного интерфейса.

Фирма “1С” достаточно часто выпускает новые версии платформы. Среди них можно выделить версии-”прорывы” с принципиально новым функционалом. К таким можно отнести, например, платформу 8.3.11, в которой появилась возможность изменять структуру хранения данных при помощи расширений конфигурации.

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

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

Мы решили поделиться этими видеоуроками не только со слушателями курса, но и со всеми нашими подписчиками :)

Обзор новых возможностей платформы

Общая длительность всех видеоуроков – 1 час 6 минут.

Для того, чтобы Вам было проще ориентироваться в материале, мы указали тайминг наиболее важных моментов в видео.

Видео 1 – Введение
Видео 2 – Создание новых констант в расширении конфигурации

01:22 – Как создать константу в расширении
02:44 – Как создать форму констант в расширении
05:22 – Как работать с основной формой константы
05:47 – На что влияет галочка Использовать стандартные команды в свойствах константы.

Видео 3 – Назначение функциональных опций в расширениях конфигурации

00:30 – Зачем вообще нужны функциональные опции
03:29 – На что влияют и на что не влияют функциональные опции.

Видео 4 – Создание новых функциональных опций в расширении конфигурации

01:13 – Как создается функциональная опция в расширении
01:30 – Где указывается объект, предназначенный для хранения значения функциональной опции
02:16 – Какие объекты можно включать в состав функциональной опции в расширении
05:55 – Как обновить интерфейс при изменении значения функциональной опции
07:20 – Как в типовой конфигурации УТ 11 реализована работа с константами и обновление интерфейса при изменении значения функциональной опции
09:58 – Как реализовать собственную простую обработку для настройки функционала конфигурации
13:08 – Можно ли для хранения значения функциональной опции использовать константу, заимствованную из основной конфигурации.

Видео 5 – Модификация заимствованных функциональных опций

01:03 – Можно ли при помощи расширения изменить объект конфигурации, предназначенный для хранения значения функциональной опции?
02:03 – Как изменить состав заимствованной функциональной опции?
04:58 – Можно ли при помощи расширения удалить объекты из состава заимствованной функциональной опции?

Видео 6 – Создание новых параметров функциональных опций

00:33 – В каких случаях на практике используются параметры функциональных опций
06:59 – Как создать в расширении параметр функциональных опций и какие объекты к этому времени должны существовать в расширении
07:30 – Какие обработчики событий нужно реализовать для работы с параметрами функциональных опций в формах объектов
10:32 – При каких настройках функциональных опций в расширении конфигурации платформа падает.

Видео 7 – Создание новых критериев отбора

00:12 – Для чего используются критерии отбора
03:10 – Можно ли при помощи расширения изменить тип критерия отбора
04:00 – Можно ли при помощи расширения добавить в состав критерия отбора заимствованный объект
05:20 – Можно ли при помощи расширения добавить в состав критерия отбора объект, созданный в этом же расширении
05:55 – Как в пользовательском режиме проверить работоспособность критерия отбора, модифицированного при помощи расширения конфигурации
07:35 – Как создать новый критерий отбора в расширении
08:34 – Как в панели навигации формы создать ссылку для перехода к критерию отбора
09:24 – Какие ошибки возникают в пользовательском режиме при использовании критерия отбора, созданного в расширении конфигурации.

Видео 8 – Изменения в редакторе управляемой формы для расширений конфигурации

00:34 – Какие свойства в панели свойств выделяются цветом
01:28 – Как работает команда “Показывать только измененные” в панели свойств
01:53 – Как в дереве элементов формы отобразить только те элементы, которые изменены в расширении

Хотите научиться грамотно дорабатывать конфигурации при помощи расширений?

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

Механизм «Функциональные опции» – это объект метаданных, позволяющий активировать функционал программы необходимый пользователю. Например, если в программе ведется учет по нескольким организациям или имеется несколько мест хранения, то при выборе в документах (в интерфейсе) будут доступны справочник «Организации» и «Склады». Если нет, то программа подставит одну организацию или один склад. Или же это могут быть какие-то участки учета, которые пользователь может включить или отключить в зависимости от вида деятельности организации. То есть данная опция определяет функционал программы необходимый пользователю. Данный механизм не ограничивает доступ к информации, а только управляет ее отображением в программе, форме. Например, в программе «1С:Бухгалтерия предприятия 3.0» на платформе 1С Предприятие 8.3, включая определенные настройки в разделе «Функциональность» раздела меню «Главное» — «Настройки», пользователь сам определяет необходимые ему участки учета.

Рис.1 Функциональные опции
Рис.1 Функциональные опции

Чтобы использование функциональных опций в 1С стало возможным, откроем программу в режиме Конфигуратор. Сделав это, в дереве метаданных откроем раздел «Общие». Там мы увидим пункт «Функциональные опции».

Рис.2 Раздел «Общие»
Рис.2 Раздел «Общие»

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

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

Откроем свойства функциональной опции «ИспользоватьКомплектациюНоменклатуры» (двойным щелчком мышки). В поле «Хранение» указывается, с каким объектом связано включение/отключение функциональной опции. В нашем примере это константа «ИспользоватьКомплектациюНоменклатуры». Для этого используются константы типа «Булево». Галочка «Привилегированный режим» означает, что опция доступна в привилегированном режиме.

Рис.3 Параметры функциональных опций
Рис.3 Параметры функциональных опций
Рис.4 Параметры функциональных опций
Рис.4 Параметры функциональных опций

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

На закладке «Состав» определяется список объектов, которые будут доступны при включенной опции с помощью управляемой формы. В нашем примере это справочник «Спецификации номенклатуры» и документ «Комплектация номенклатуры».

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

Получить функциональную опцию

Для управления доступностью кода используется метод ПолучитьФункциональнуюОпцию() Пример кода 1С:

Рис.6 Получить функциональную опцию
Рис.6 Получить функциональную опцию
Рис.7 Получить функциональную опцию
Рис.7 Получить функциональную опцию

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

Функциональные опции 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

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

Механизм функциональных опций включает в себя два типа объектов метаданных:

  1. Функциональная опция;
  2. Параметры функциональных опций.

Подробнее

Отсюда

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

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

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

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

[свернуть]

Функциональные опции могут оказывать влияние:

  1. на пользовательский интерфейс:
    • глобальный командный интерфейс;
    • реквизиты формы (в том числе колонки реквизита формы типа ТаблицаЗначений или ДеревоЗначений);
    • команды формы;
  2. на отчеты, реализованные с помощью системы компоновки данных;
  3. на алгоритмы, написанные на встроенном языке – имеется возможность получать значения функциональных опций из встроенного языка и использовать их в различных условиях, например, для уменьшения объема вычислений (см., например, Нестандартное применение функциональных опций).

ВНИМАНИЕ! Если клиентское приложение работает с файловым вариантом информационной базы через веб-сервер, то изменение функциональной опции приведет к изменению пользовательского интерфейса только после перезапуска веб-сервера (перезапуск клиентского приложения не вызовет изменение пользовательского интерфейса).

Объект 1с Функциональные опции

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

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

Подробнее…

Особенности использования Функциональных опций 1С:

  1. Функциональные опции могут иметь значения произвольного типа (не обязательно Булево).
  2. Добавляя новую константу для использования функциональной опции, не забудьте включить ее в соответствующую подсистему и назначить на нее права.
  3. Работа с функциональными опциями доступна из встроенного языка, благодаря чему разработчик может создавать собственные алгоритмы обработки значений функциональных опций.
  4. Команда командного интерфейса будет исключена из командного интерфейса в случае, если функциональной опцией отключен:
    • реквизит, являющийся параметром команды;
    • тип параметра команды (если тип параметра команды составной, то команда становится недоступной тогда, когда отключаются все типы параметра).

ВНИМАНИЕ! Функциональные опции и их параметры не влияют на состав базы данных: все таблицы и поля присутствуют в БД независимо от состояния функциональных опций.

Влияние функциональных опций на реквизиты и команды формы:

  1. Основной реквизит управляемой формы типа <Вид>Объект (СправочникОбъект, ДокументОбъект и т.д.) будет отключен в том случае, если функциональной опцией отключен соответствующий объект конфигурации. Анализируются только те функциональные опции, которые не имеют параметров.
  2. Основной реквизит управляемой формы типа ДинамическийСписок будет отключен в том случае, если функциональной опцией отключен объект конфигурации, который указан в качестве основной таблицы динамического списка. Анализируются только те функциональные опции, которые не имеют параметров.
  3. Отключается реквизит формы ссылочного типа, если объект конфигурации, образующий этот тип, отключен функциональной опцией. Реквизит формы составного типа отключается в том случае, если функциональные опции отключают все составляющие типы.
  4. Таблица формы будет отключена, если она отображает данные реквизита формы, отключенного функциональной опцией.
  5. В диалоге выбора типов (например, для полей ввода, связанных с реквизитами составного типа) отсутствуют типы, если объекты конфигурации, формирующие эти типы, отключены функциональной опцией. Информация о типах, отключенных функциональными опциями, кешируется на стороне клиента и очищается через 20 минут или во время вызова метода ОбновитьИнтерфейс().

ВНИМАНИЕ! В отличие от командного интерфейса, значения параметров функциональных опций устанавливаются только для конкретного экземпляра формы.

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

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

Рисунок

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

[свернуть]

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

Свойства параметра функциональных опций:

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

ВНИМАНИЕ! Нельзя использовать один и тот же объект метаданных в нескольких параметрах функциональных опций.

Подробная статья по использованию — по ссылке http://master1c8.ru/

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить функции правой кнопки мыши
  • Как изменить функции курсора
  • Как изменить функции кнопок на мышке
  • Как изменить функции кнопок f на ноутбуке
  • Как изменить функции клавиш на клавиатуре

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии