По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что пытаюсь сделать:
в модуле сеанса
Но не получается...
в модуле сеанса
Если РольДоступна("Менеджер") тогда
Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если Настройки=Неопределено Тогда
Настройки = Новый НастройкиКлиентскогоПриложения;
Настройки.ОтображатьПанелиНавигацииИДействий = Истина;
Настройки.ОтображатьПанельРазделов = Ложь;
Настройки.РежимОткрытияФормПриложения=РежимОткрытияФормПриложения.Закладки;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
КонецЕсли;
КонецЕсли;
ПоказатьНо не получается...
Вы можете только скрывать эти панели. Но пользователь потом сам сможет их заново вывести на экран. Т.е. ограничение прав скрытием этих панелей нельзя сделать. Это и называется управляемый интерфейс.
Если это просто для удобства менеджеров, то так можно сделать
Главное не забыть вызвать метод:
ОбновитьИнтерфейс()
Если это просто для удобства менеджеров, то так можно сделать
Главное не забыть вызвать метод:
ОбновитьИнтерфейс()
(4) Модуль сеанса на сервере работает. Интерфейс живет на клиенте. Поэтому надо делать на клиенте.
Вам это нужно делать в "модуле приложения" например в обработчике ПриНачалеРаботыСистемы() . Этот модуль выполняется на клиенте.
Примерно такой кусок вам надо добавить в модуль приложения
Процедура ПриНачалеРаботыСистемы()
Если РольДоступна("Менеджер") тогда
Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если Настройки=Неопределено Тогда
Настройки = Новый НастройкиКлиентскогоПриложения;
Настройки.ОтображатьПанелиНавигацииИДействий = Истина;
Настройки.ОтображатьПанельРазделов = Ложь;
Настройки.РежимОткрытияФормПриложения=РежимОткрытияФормПриложения.Закладки;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
КонецЕсли;
КонецЕсли;
ОбновитьИнтерфейс();
КонецПроцедуры
Вам это нужно делать в "модуле приложения" например в обработчике ПриНачалеРаботыСистемы() . Этот модуль выполняется на клиенте.
Примерно такой кусок вам надо добавить в модуль приложения
Процедура ПриНачалеРаботыСистемы()
Если РольДоступна("Менеджер") тогда
Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если Настройки=Неопределено Тогда
Настройки = Новый НастройкиКлиентскогоПриложения;
Настройки.ОтображатьПанелиНавигацииИДействий = Истина;
Настройки.ОтображатьПанельРазделов = Ложь;
Настройки.РежимОткрытияФормПриложения=РежимОткрытияФормПриложения.Закладки;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
КонецЕсли;
КонецЕсли;
ОбновитьИнтерфейс();
КонецПроцедуры
(5) Тут наверное с клиента нужно будет вызвать серверный общий модуль и там выполнить
Если РольДоступна("Менеджер") тогда
Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если Настройки=Неопределено Тогда
Настройки = Новый НастройкиКлиентскогоПриложения;
Настройки.ОтображатьПанелиНавигацииИДействий = Истина;
Настройки.ОтображатьПанельРазделов = Ложь;
Настройки.РежимОткрытияФормПриложения=РежимОткрытияФормПриложения.Закладки;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
КонецЕсли;
КонецЕсли;
а потом по возврату из серверной процедуры на клиенте вызвать
ОбновитьИнтерфейс();
Если РольДоступна("Менеджер") тогда
Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиКлиентскогоПриложения");
Если Настройки=Неопределено Тогда
Настройки = Новый НастройкиКлиентскогоПриложения;
Настройки.ОтображатьПанелиНавигацииИДействий = Истина;
Настройки.ОтображатьПанельРазделов = Ложь;
Настройки.РежимОткрытияФормПриложения=РежимОткрытияФормПриложения.Закладки;
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиКлиентскогоПриложения",,Настройки);
КонецЕсли;
КонецЕсли;
а потом по возврату из серверной процедуры на клиенте вызвать
ОбновитьИнтерфейс();
Всё получилось. Переделал так:
НастройкиИнтерфейса = Новый НастройкиИнтерфейсаКлиентскогоПриложения;
НастройкиСостава = НастройкиИнтерфейса.ПолучитьСостав();
НастройкиСостава.Верх.Очистить();
НастройкиСостава.Лево.Очистить();
НастройкиСостава.Низ.Очистить();
НастройкиСостава.Право.Очистить();
НастройкиИнтерфейса.УстановитьСостав(НастройкиСостава);
ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , НастройкиИнтерфейса);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот