Добрый день. Подскажите пожалуйста, как можно управлять видимостью объектов конфигурации в зависимости от условия. Я делаю самописную конфигурацию в которой в зависимости от того, включен ли флаг настроек Использование характеристик или нет, пользователю должны быть видны определенные справочники, отчеты и документы. С управлением видимостью и доступностью для колонок таблиц, реквизитов и тд. на форме все понятно. Как управлять видимостью самих документов, отчетов, регистров и справочников? Или, в форме элемента справочника Номенклатура есть гиперссылка на регистр сведений характеристики номенклатуры которая появилось потому, что в измерении справочника НаборСвойств с типом СправочникСсылкаНоменклатура стоит флаг ведущее. Как управлять видимостью этой гиперссылки в зависимости от значения флага настроек ИспользованиеХарактеристик
---
http://v8.1c.ru/overview/Term_000000104.htm
---
Если кому интересно, задача решилась созданием еще одной константы и привязкой ее к другой функциональной опции управляющей видимостью второго варианта отчетов.
&НаСервере
Процедура ИспользоватьХарактеристикиПриИзмененииНаСервере()
     //При переключении Константы.ИспользоватьХарактеристики сразу будем переключать еще одну Константы.ВыключитьХарактеристики
  ПереключитьКонстанту = Константы.ВыключитьХарактеристики.СоздатьМенеджерЗначения();
  ПереключитьКонстанту.Значение = Константы.ИспользоватьХарактеристики.Получить();
  ПереключитьКонстанту.Записать();
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьХарактеристикиПриИзменении(Элемент)
 ИспользоватьХарактеристикиПриИзмененииНаСервере();
КонецПроцедуры
---
http://v8.1c.ru/overview/Term_000000104.htm
---
Спасибо, сейчас попробую разобраться
---
Нужно настроить видимость на весь объект конфигурации с типом справочник или нужно настроить видимость на определенные объекты справочника?
Возможно поможет настройка подссистем и доступа к ним пользователям.
---
Нужно настроить видимость всего объекта. Например если включена настройка ИспользоватьХарактеристики, пользователю будет виден отчет ОстаткиНаСкладахСХарактеристиками, а если нет, то отчет ОстаткиНаСкладах. Но тут я уже понял, нужно использовать Функциональные опции, я в свое время сталкивался с ними при подготовке к специалисту по платформе, в учебных примерах там с помощью них регулировалась видимость реквизитов документов по ролям, а тут можно их использовать для переключения через константу типа Булево. Сейчас попробую сделать это. Вот только пока не понимаю исчезнет ли из ФормыЭлемента справочника Номенклатура гиперссылка на регистр сведений ХарактеристикиНоменклатуры, если он будет отключен с помощью ФункциональныхОпций. Надо сделать и посмотреть
---
Назрел еще один вопрос по видимости объектов. Я делаю конфигурацию с нуля. У меня есть константа ИспользоватьХарактеристики тип Булево. Я установил функциональную опцию, которая отключает реквизиты характеристика табличных частей документов и отчеты по складу и продажам, которые используют характеристики. Как теперь сделать так, чтобы при включенной константе ИспользоватьХарактеристики были невидимы отчеты, которые не используют характеристики?
---
Вероятно завести еще одну функциональную опцию, "Скрывать при использовании характеристик" и перезаписывать ее при изменении константы.
---
Вероятно завести еще одну функциональную опцию, "Скрывать при использовании характеристик" и перезаписывать ее при изменении константы.

А не могли бы Вы чуть подробней остановиться на этом моменте. Где делать обработчик для перезаписи новой опции?
---
Написал такой код в модуле формы Константы.ИспользоватьХарактеристики, но он не работает

&НаСервере
Процедура ИспользоватьХарактеристикиПриИзмененииНаСервере()
   Опция = ЭтотОбъект.ПолучитьФункциональнуюОпциюФормы("ПриВключенныхХарактеристиках");
 Если Константы.ИспользоватьХарактеристики.Получить() Тогда
   Опция = Ложь;
 Иначе
  Опция = Истина;
 КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьХарактеристикиПриИзменении(Элемент)
 ИспользоватьХарактеристикиПриИзмененииНаСервере();
КонецПроцедуры
---
Если кому интересно, задача решилась созданием еще одной константы и привязкой ее к другой функциональной опции управляющей видимостью второго варианта отчетов.
&НаСервере
Процедура ИспользоватьХарактеристикиПриИзмененииНаСервере()
     //При переключении Константы.ИспользоватьХарактеристики сразу будем переключать еще одну Константы.ВыключитьХарактеристики
  ПереключитьКонстанту = Константы.ВыключитьХарактеристики.СоздатьМенеджерЗначения();
  ПереключитьКонстанту.Значение = Константы.ИспользоватьХарактеристики.Получить();
  ПереключитьКонстанту.Записать();
КонецПроцедуры

&НаКлиенте
Процедура ИспользоватьХарактеристикиПриИзменении(Элемент)
 ИспользоватьХарактеристикиПриИзмененииНаСервере();
КонецПроцедуры