Есть довольно большое расширение. Все работало под полными правами, но когда понадобилось сделать для пользователей, начались проблемы с доступом. Для этого в расширение была заимствована типовая роль и у одного объекта поставлена галочки на изменение и редактирование.
Все у пользователя заработало, но теперь под админскими правами, да вообще под любыми, в одном из справочников(типовых заимствованных) пропал на форме реквизит(полностью созданные в расширение с типом булево). В конфигураторе его видит, а в пользовательском режиме нет.
Что было сделано:
Проставил пользовательскую видимость в настройках формы
Обновлял форму в расширении
Заново вытаскивал реквизит.
Пробовал программно при открытии включить видимость, но система при открытии этот реквизит не видит, как будто бы тянет форму из основной конфигурации, а не из расширения.
Удалил роль из расширения - тоже ничего не изменилось.
Вернул предыдущую копию до добавления роли - все видно.
Может сталкивался кто?
В принципе не проблема эту роль поправить в конфе, две галочки всего, но хочется понять поведение программы.
(7) Чудеса получились. УТ 11.4, платформа 8.3.14, режим совместимости конфигурации 8.3.12. Добавил в расширение роль, что бы расширить права на типовой объект + в роли все права на объекты расширения. Послу установки расширения добавленная роль появилась как нормальная роль в конфигураторе и предприятии, создал отдельный профиль для неё и назначил пользователям. Результат 0. Для одного пользователя запустил программное добавление роли в внешней обработке. И произошло чудо: все пользователи увидели эту роль и права на объекты, которая она расширяет.
(7) Чудеса получились. УТ 11.4, платформа 8.3.14, режим совместимости конфигурации 8.3.12. Добавил в расширение роль, что бы расширить права на типовой объект + в роли все права на объекты расширения. Послу установки расширения добавленная роль появилась как нормальная роль в конфигураторе и предприятии, создал отдельный профиль для неё и назначил пользователям. Результат 0. Для одного пользователя запустил программное добавление роли в внешней обработке. И произошло чудо: все пользователи увидели эту роль и права на объекты, которая она расширяет.
Вот код, которым я всем пользователя назначил роль:
&НаСервере
Процедура НазначитьРольНаСервере()
Для Каждого ТекущийПользовательИБ Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
//ТекущийПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователи.ТекущийПользователь().ИдентификаторПользователяИБ);
ТекущийПользовательИБ.Роли.Добавить(Метаданные.Роли.расш_МояРоль);
ТекущийПользовательИБ.Записать();
КонецЦикла;
КонецПроцедуры
При работе с ролями расширения следует иметь в виду, что если расширение не содержит собственных ролей, то доступ к объектам расширения предоставляется всем пользователям информационной базы. В то же время если в расширении существуют собственные роли, которые регламентируют доступ к объектам расширения, то всем пользователям информационной базы, которые должны иметь доступ к объектам расширения, следует добавить роли из расширения. В противном случае объекты расширения не будут доступны пользователям.
Но у меня эта роль влияет на однин из регистров заимствованных в расширение, который с реквизитом, который пропал не как не связан.
"то всем пользователям информационной базы, которые должны иметь доступ к объектам расширения, следует добавить роли из расширения" - вот эта фраза мне не до конца понятна.
Добрый день, столкнулся с такой же ситуацией на платформе 8.3.15 после добавление новой роли, которая никаких ограничений не несет, но участвует в проверках документов.
Пропадают реквизиты документов и табличных частей, включение видимости роли в реквизитах не помогает.
Только после удаление роли, реквизиты появляется на форме.