|   |   | 
| 
 | Как можно управлять панелями разделов программно | ☑ | ||
|---|---|---|---|---|
| 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)А потом выходит обновление, появляются новые объекты в конфигурации, типовой профиль обновляется, что делать будете?  После каждого обновления заново ваш профиль создавать копированием типового?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |