Функциональная опция

Настройки пользователей: Не удалось получить метаданные настройки «Основная дата начала отчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной поставщик» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной тип цен продажи» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Контроль корреспонденции счетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса ККМ» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое размещение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое резервирование» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основное подразделение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «График работы» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной покупатель» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная ставка НДС» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Вид объекта по умолчанию для нового события» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной склад» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной статус контрагента» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная организация» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать плановую себестоимость» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Регистрировать цены поставщика» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная валюта взаиморасчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать напоминания» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная единица по классификатору» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной каталог файлов пользователя» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная дата начала отчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной поставщик» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной тип цен продажи» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Контроль корреспонденции счетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса ККМ» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое размещение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое резервирование» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основное подразделение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «График работы» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной покупатель» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная ставка НДС» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Вид объекта по умолчанию для нового события» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной склад» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной статус контрагента» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная организация» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать плановую себестоимость» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Регистрировать цены поставщика» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная валюта взаиморасчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать напоминания» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная единица по классификатору» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной каталог файлов пользователя» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная дата начала отчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной поставщик» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной тип цен продажи» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Контроль корреспонденции счетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса ККМ» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое размещение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое резервирование» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основное подразделение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «График работы» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной покупатель» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная ставка НДС» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Вид объекта по умолчанию для нового события» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной склад» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной статус контрагента» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная организация» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать плановую себестоимость» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Регистрировать цены поставщика» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная валюта взаиморасчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать напоминания» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная единица по классификатору» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной каталог файлов пользователя» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная дата начала отчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной поставщик» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной тип цен продажи» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Контроль корреспонденции счетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса ККМ» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое размещение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое резервирование» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основное подразделение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «График работы» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной покупатель» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная ставка НДС» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Вид объекта по умолчанию для нового события» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной склад» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная касса» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной статус контрагента» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная организация» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать плановую себестоимость» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Регистрировать цены поставщика» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная валюта взаиморасчетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать напоминания» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная единица по классификатору» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной каталог файлов пользователя» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Контроль корреспонденции счетов» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое размещение» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Автоматическое резервирование» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основная ставка НДС» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Вид объекта по умолчанию для нового события» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной статус контрагента» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать плановую себестоимость» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Регистрировать цены поставщика» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Использовать напоминания» ()!
Настройки пользователей: Не удалось получить метаданные настройки «Основной каталог файлов пользователя» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная дата начала отчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной поставщик» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной тип цен продажи» ()!
Доп. права пользователей: Не удалось получить метаданные права «Контроль корреспонденции счетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса ККМ» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое размещение» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое резервирование» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основное подразделение» ()!
Доп. права пользователей: Не удалось получить метаданные права «График работы» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной покупатель» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная ставка НДС» ()!
Доп. права пользователей: Не удалось получить метаданные права «Вид объекта по умолчанию для нового события» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной склад» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной статус контрагента» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная организация» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать плановую себестоимость» ()!
Доп. права пользователей: Не удалось получить метаданные права «Регистрировать цены поставщика» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная валюта взаиморасчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать напоминания» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная единица по классификатору» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной каталог файлов пользователя» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная дата начала отчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной поставщик» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной тип цен продажи» ()!
Доп. права пользователей: Не удалось получить метаданные права «Контроль корреспонденции счетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса ККМ» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое размещение» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое резервирование» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основное подразделение» ()!
Доп. права пользователей: Не удалось получить метаданные права «График работы» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной покупатель» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная ставка НДС» ()!
Доп. права пользователей: Не удалось получить метаданные права «Вид объекта по умолчанию для нового события» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной склад» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной статус контрагента» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная организация» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать плановую себестоимость» ()!
Доп. права пользователей: Не удалось получить метаданные права «Регистрировать цены поставщика» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная валюта взаиморасчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать напоминания» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная единица по классификатору» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной каталог файлов пользователя» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная дата начала отчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной поставщик» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной тип цен продажи» ()!
Доп. права пользователей: Не удалось получить метаданные права «Контроль корреспонденции счетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса ККМ» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое размещение» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое резервирование» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основное подразделение» ()!
Доп. права пользователей: Не удалось получить метаданные права «График работы» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной покупатель» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная ставка НДС» ()!
Доп. права пользователей: Не удалось получить метаданные права «Вид объекта по умолчанию для нового события» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной склад» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной статус контрагента» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная организация» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать плановую себестоимость» ()!
Доп. права пользователей: Не удалось получить метаданные права «Регистрировать цены поставщика» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная валюта взаиморасчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать напоминания» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная единица по классификатору» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной каталог файлов пользователя» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная дата начала отчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной поставщик» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной тип цен продажи» ()!
Доп. права пользователей: Не удалось получить метаданные права «Контроль корреспонденции счетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса ККМ» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое размещение» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое резервирование» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основное подразделение» ()!
Доп. права пользователей: Не удалось получить метаданные права «График работы» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной покупатель» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная ставка НДС» ()!
Доп. права пользователей: Не удалось получить метаданные права «Вид объекта по умолчанию для нового события» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной склад» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная касса» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной статус контрагента» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная организация» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать плановую себестоимость» ()!
Доп. права пользователей: Не удалось получить метаданные права «Регистрировать цены поставщика» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная валюта взаиморасчетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать напоминания» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная единица по классификатору» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной каталог файлов пользователя» ()!
Доп. права пользователей: Не удалось получить метаданные права «Контроль корреспонденции счетов» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое размещение» ()!
Доп. права пользователей: Не удалось получить метаданные права «Автоматическое резервирование» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основная ставка НДС» ()!
Доп. права пользователей: Не удалось получить метаданные права «Вид объекта по умолчанию для нового события» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной статус контрагента» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать плановую себестоимость» ()!
Доп. права пользователей: Не удалось получить метаданные права «Регистрировать цены поставщика» ()!
Доп. права пользователей: Не удалось получить метаданные права «Использовать напоминания» ()!
Доп. права пользователей: Не удалось получить метаданные права «Основной каталог файлов пользователя» ()!
В базе-приемнике не найдена папка пользователей «Производство»!
Ямкин Искандер Юрьевич (мастер по учету)
Настройки пользователя «Абдулов (гендиректор)»:
не найдено значение «Розничная» для настройки «Основной тип цен продажи» в базе-приемнике!
не найдено значение «Основной (пятидневка)» для настройки «График работы» в базе-приемнике!
не найдено значение «Основная касса (рублевая)» для настройки «Основная касса» в базе-приемнике!
не найдено значение «Оптовые и розничные» для настройки «Группа доступности складов» в базе-приемнике!
не найдено значение «Торговый дом «Комплексный»» для настройки «Основная организация» в базе-приемнике!

1. Типы хранения Функциональных опций в 1С

2. Тип хранения константа 1С 8.3

3. Тип хранения Реквизит справочника 1С 8.3

4. Тип хранения Ресурс регистра сведений

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

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

1. Типы хранения Функциональных опций в 1С

Итак, существует три вида этого инструмента, а точнее три места, где оно хранится:

1. Константа;

2. Реквизит справочника;

3. Ресурс регистра сведений.

Все эти виды должны быть с типом «Булево».

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

2. Тип хранения константа 1С 8.3

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

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

На вкладке «Состав» опции мы настраиваем доступ к отдельным объектам, к которым мы можем ограничить доступ нашим инструментом.

3. Тип хранения Реквизит справочника 1С 8.3

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

4. Тип хранения Ресурс регистра сведений

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

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

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

Специалист компании ООО «Кодерлайн»

Мороз Олег.

С выходом платформы «1С:Предприятие 8.2» в дереве конфигурациипоявился новый объект – «Функциональные опции». Он активно применяется во всех типовых конфигурациях, основанных на управляемых формах, и служит для упрощения процесса отображения отдельных реквизитов, объектов в интерфейсе. Например, в вашей конфигурации есть модуль для обмена с внешним веб-сервисов. Это модуль задействует ряд реквизитов в документах, регистрах и отдельные компоненты в подсистемах. Модуль является опциональным и необходим не каждой компании. Логично, раз модуль нужен не всем, то и отображать вся связанные с ним элементы/поля тоже нужно не всегда.

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

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

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

Кейс №1: функциональная опция как обертка над другими объектами

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

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

Все, теперь в любом месте кода, где требуется обратиться к константе пишем так:

ПолучитьФункциональнуюОпцию(«ВозможностьСохраненияДанных»);

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

Кейс №2. Дополнительный уровень абстракции

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

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

Константы.ВозможностьСохраненияДанных.Получить();

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

ПолучитьФункциональнуюОпцию(«ВозможностьСохраненияДанных»);

Белозерских Евгений

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

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

Для реализации поставленной задачи нам потребуется:

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

И добавим одну подсистему куда включим все имеющиеся объекты

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

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

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

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

Готово

Файл конфигурации этого примера можно .