|
Как можно управлять панелями разделов программно | ☑ | ||
---|---|---|---|---|
0
mikkia
04.04.24
✎
15:46
|
Пытаюсь сделать это через настройки
НастройкиИнтерфейса = ХранилищеСистемныхНастроек.Загрузить("Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса"); но не знаю какие там методы есть. Через НастройкиИнтерфейса может только скрыть панели, а мне нужно конкретно одну панель скрыть от пользователей. |
|||
1
Буковка
04.04.24
✎
16:04
|
(0) что-то не то Вы делаете. А что Вы хотите скрыть?
|
|||
2
youalex
04.04.24
✎
16:35
|
В СП есть:
НастройкиИнтерфейсаКлиентскогоПриложения (ClientApplicationInterfaceSettings) ПолучитьСостав (GetContent) Очень условный пример Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения"); СоставПанелей = Настройки.ПолучитьСостав(); ГруппаВерх = СоставПанелей.Верх; Если ГруппаВерх.Количество() > 0 Тогда ГруппаВерх.Удалить(0); Настройки.УстановитьСостав(СоставПанелей); ХранилищеСистемныхНастроек.Сохранить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения", , Настройки); КонецЕсли; |
|||
3
mikkia
05.04.24
✎
08:58
|
СоставПанелей = Настройки.ПолучитьСостав();
Метод объекта не обнаружен (ПолучитьСостав) 1С:Предприятие 8.3 (8.3.20.1674) Хочу скрыть панель Зарплата |
|||
4
D3O
05.04.24
✎
09:08
|
разрабы платформы решили, что программный доступ для управления КИ никому не нужен будет. ;)
давно решили. в 8.0 или 8.1. единственный адекватный способ, который остался - с помощью ролей. нужно во всех ролях, кроме "интерфейсных" убрать право на разделы, добавить роли, где будут включены соотв. права, и уже после собирать в профили. |
|||
5
MaximSh
05.04.24
✎
09:40
|
(0) в типовых это сделано через роли с началом Раздел в паре с Подсистема, например, РазделВнеоборотныеАктивы и Подсистема внеоборотные активы.
И велосипеды с альтернативным правом придумывать не надо. |
|||
6
youalex
05.04.24
✎
10:31
|
(3) понял, у тебя про НастройкиКомандногоИнтерфейса, а не НастройкиИнтерфейсаКлиентскогоПриложения
|
|||
7
mikkia
05.04.24
✎
12:57
|
нет, не так (6)
// Если Настройки=Неопределено Тогда Настройки = ХранилищеСистемныхНастроек.Загрузить("Общее/НастройкиИнтерфейсаКлиентскогоПриложения"); СоставПанелей = Настройки.ПолучитьСостав(); Метод объекта не обнаружен (ПолучитьСостав) Через роли не пойдет, так как в стандартной конфигурации у роли Бухгалтера уже стоит включенная подсистема Зарплата. Тогда нужно создавать так же программно новую роль без этой подсистемы программно. |
|||
8
dmt
05.04.24
✎
13:18
|
(0) Пользователь сможет спокойно включить раздел в настройках панели разделов. Поэтому правильно - через права.
А так можно настроить панель разделов "как нужно", прочитать значение "Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса" и сохранить например в макет. А потом в нужный момент из макета поднимать настройки и сохранять опять же в "Общее/ПанельРазделов/НастройкиКомандногоИнтерфейса" - и сразу обновлять интерфейс. |
|||
9
Лирик
05.04.24
✎
13:30
|
(7) Все правильно, только нужно создать не роль, а профиль групп доступа и не программно, а в пользовательском режиме путем копирования профиля "Бухгалтер". Во вновь созданном профиле убрать все роли для тех данных, которые вы не хотите показывать пользователю, создать по профилю группу доступа и включить в эту группу пользователей, исключив их из группы с поставляемым профилем.
|
|||
10
CepeLLlka
05.04.24
✎
13:53
|
(9)А потом выходит обновление, появляются новые объекты в конфигурации, типовой профиль обновляется, что делать будете? После каждого обновления заново ваш профиль создавать копированием типового?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |