Всем привет!
1C:Документооборот 2.1. Была создана нетиповая Роль1 на добавление и редактирование нетипового Справочник1. Роль1 была добавлена в Полномочие1 и указали для Пользователь1. Все работало, все было хорошо.
Затем Роль1 понизили до чтения Справочника1, но создали Роль2 с правами редактирования и добавления этого справочника. Роль2 добавили в новое Полномочие2. Оба полномочия указали для Пользователь1. В итоге Пользователь1 Справочник1 может только читать, а программа на проверку РольДоступна для Роль2 дает отрицательный ответ. Пробовал описанные ниже процедуры - не помогает:
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Истина);
СтандартныеПодсистемыСервер.ОбновитьВсеПараметрыРаботыПрограммы();
Справочники.ИдентификаторыОбъектовМетаданных.ВыполнитьОбновлениеДанных(Истина, Ложь, Ложь);
Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(Истина, Ложь, Ложь);
Справочники.ИдентификаторыОбъектовРасширений.ОбновитьДанныеСправочника(Истина, Ложь, Ложь);
РегистрыСведений.ПраваРолей.ОбновитьДанныеРегистра();
Подскажите, как заставить программу видеть новую Роль2 не добавляя ее вручную в конфигураторе ПОльзователю1?
Помогло следующее. У меня была роль с правами на Справочник1 и на другие объекты. Я убрал оттуда права на этот справочник, вынес их в отдельную роль, провел операции, что описал в своем первом пункте (1) и ИнструментыРазработчикаОбновлениеВерсииИБ. И заработало! До выделения их из Роли1 не работало.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший