Управление видимостью объекта

1. srub 84 09.10.18 10:48 Сейчас в теме
Добрый день. Подскажите пожалуйста, как можно управлять видимостью объектов конфигурации в зависимости от условия. Я делаю самописную конфигурацию в которой в зависимости от того, включен ли флаг настроек Использование характеристик или нет, пользователю должны быть видны определенные справочники, отчеты и документы. С управлением видимостью и доступностью для колонок таблиц, реквизитов и тд. на форме все понятно. Как управлять видимостью самих документов, отчетов, регистров и справочников? Или, в форме элемента справочника Номенклатура есть гиперссылка на регистр сведений характеристики номенклатуры которая появилось потому, что в измерении справочника НаборСвойств с типом СправочникСсылкаНоменклатура стоит флаг ведущее. Как управлять видимостью этой гиперссылки в зависимости от значения флага настроек ИспользованиеХарактеристик
+
По теме из базы знаний
Найденные решения
2. DarkUser 09.10.18 10:50 Сейчас в теме
10. srub 84 21.10.18 10:52 Сейчас в теме
Если кому интересно, задача решилась созданием еще одной константы и привязкой ее к другой функциональной опции управляющей видимостью второго варианта отчетов.
&НаСервере
Процедура ИспользоватьХарактеристикиПриИзмененииНаСервере()
//При переключении Константы.ИспользоватьХарактеристики сразу будем переключать еще одну Константы.ВыключитьХарактеристики
ПереключитьКонстанту = Константы.ВыключитьХарактеристики.СоздатьМенеджерЗначения();
ПереключитьКонстанту.Значение = Константы.ИспользоватьХарактеристики.Получить();
ПереключитьКонстанту.Записать();
КонецПроцедуры


&НаКлиенте
Процедура ИспользоватьХарактеристикиПриИзменении(Элемент)
ИспользоватьХарактеристикиПриИзмененииНаСервере();
КонецПроцедуры
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DarkUser 09.10.18 10:50 Сейчас в теме
3. srub 84 09.10.18 11:00 Сейчас в теме
Спасибо, сейчас попробую разобраться
+
4. feva 518 09.10.18 11:37 Сейчас в теме
Нужно настроить видимость на весь объект конфигурации с типом справочник или нужно настроить видимость на определенные объекты справочника?
Возможно поможет настройка подссистем и доступа к ним пользователям.
+
5. srub 84 09.10.18 12:48 Сейчас в теме
Нужно настроить видимость всего объекта. Например если включена настройка ИспользоватьХарактеристики, пользователю будет виден отчет ОстаткиНаСкладахСХарактеристиками, а если нет, то отчет ОстаткиНаСкладах. Но тут я уже понял, нужно использовать Функциональные опции, я в свое время сталкивался с ними при подготовке к специалисту по платформе, в учебных примерах там с помощью них регулировалась видимость реквизитов документов по ролям, а тут можно их использовать для переключения через константу типа Булево. Сейчас попробую сделать это. Вот только пока не понимаю исчезнет ли из ФормыЭлемента справочника Номенклатура гиперссылка на регистр сведений ХарактеристикиНоменклатуры, если он будет отключен с помощью ФункциональныхОпций. Надо сделать и посмотреть
+
6. srub 84 19.10.18 11:54 Сейчас в теме
Назрел еще один вопрос по видимости объектов. Я делаю конфигурацию с нуля. У меня есть константа ИспользоватьХарактеристики тип Булево. Я установил функциональную опцию, которая отключает реквизиты характеристика табличных частей документов и отчеты по складу и продажам, которые используют характеристики. Как теперь сделать так, чтобы при включенной константе ИспользоватьХарактеристики были невидимы отчеты, которые не используют характеристики?
+
7. acanta 19.10.18 12:02 Сейчас в теме
Вероятно завести еще одну функциональную опцию, "Скрывать при использовании характеристик" и перезаписывать ее при изменении константы.
+
8. srub 84 19.10.18 12:08 Сейчас в теме
(7)
Вероятно завести еще одну функциональную опцию, "Скрывать при использовании характеристик" и перезаписывать ее при изменении константы.


А не могли бы Вы чуть подробней остановиться на этом моменте. Где делать обработчик для перезаписи новой опции?
+
9. srub 84 19.10.18 17:33 Сейчас в теме
Написал такой код в модуле формы Константы.ИспользоватьХарактеристики, но он не работает

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


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


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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот