|
Настройка интерфейса в УСО 1.3 | ☑ | ||
---|---|---|---|---|
0
jyupiter
11.03.12
✎
10:18
|
Есть типовое прикладное решение на поддержке
Платформа 1С 8,2 Конфигурация Управление Строительной Организацией 1,3 Нужно: Создать пользователя с очень ограниченными правами, которому доступен всего один (самописный) интерфейс. И который не может с этого интерфейса переключиться на другие. И там узнать лишнее. Проблема: При запуске 1С:Предприятия система смотрит, назначена ли пользователю роль "Пользователь". И если это не так, то в 1С его не пускает. А у роли Пользователь есть права на овер9000 интерфейсов, и Меню/Сервис, естественно, подключено. Как идеологически верно выкрутиться из такой ситуации? |
|||
1
jyupiter
11.03.12
✎
10:57
|
неужели всё так плохо?
|
|||
2
Apokalipsec
11.03.12
✎
11:01
|
уф не предлагать?
|
|||
3
jyupiter
11.03.12
✎
11:03
|
предлагать хоть что
это если из тупика не выведет, то хотя бы может дать продуктивное направление мыслей но я не понял, как управляемые формы связаня с проблемой |
|||
4
jyupiter
12.03.12
✎
03:02
|
на всякий случай ап
можно ли прилумать что-то более красивое, чем вытаскивание прав на все интерфейсы из роли Пользователь и распихивание их по ролям специалистов? |
|||
5
oleg_ma
12.03.12
✎
03:46
|
Как вариант: в конфигурации в общих модулях в модуле "Полные права" в функции ЕстьДоступныеПраваДляЗапускаКонфигурации() добавить создаваемую роль и дальше раздавать права по роли.
|
|||
6
jyupiter
12.03.12
✎
04:16
|
глобальный поиск не нашёл этой функции во всей конфигурации
в модулях ПолныеПрава и ПолныеПраваДополнительный их точно нет |
|||
7
jyupiter
12.03.12
✎
04:16
|
не "их", а "её", конечно
|
|||
8
jyupiter
12.03.12
✎
04:30
|
зато есть такая процедура
в Модуле обычного приложения [code] Процедура ПередНачаломРаботыСистемы(Отказ) Если НЕ РольДоступна("Пользователь") И (НЕ РольДоступна("ПолныеПрава")) Тогда Предупреждение("Вам не назначена роль ""Пользователь"". Запуск конфигурации невозможен."); Отказ = Истина; Возврат; КонецЕсли; Отказ = НЕ УправлениеПользователями.ПользовательОпределен(); // ОбновлениеВерсииИБ Отказ = Отказ ИЛИ НЕ ОбновлениеИнформационнойБазыКлиент.ВозможноВыполнитьОбновлениеИнформационнойБазы(); // Конец ОбновлениеВерсииИБ КонецПроцедуры [/code] |
|||
9
oleg_ma
12.03.12
✎
06:55
|
Если НЕ РольДоступна("Пользователь") И (НЕ РольДоступна("ПолныеПрава")) Тогда
М. б., я по ЗУПу смотрел:) Тогда в этой процедуре добавить НЕ РольДоступна("<имя_роли>"). Имя роли можно определить через роли->свойства. Можно конечно пер. Отказ=Ложь; и на возврат:) |
|||
10
jyupiter
12.03.12
✎
09:11
|
ну это, в общем, очевидное решение, которое и будет, видимо, применено, если ничего не удастся придумать менее травматичного
но очень уж не хочется вносить изменения в объекты типовой конфигурации из-за поддержки, будущих обновлений и всего такого вот я и пытаюсь найти решение, которое не увеличивало бы гемора в ближайшем и отдалённом будущем |
|||
11
jyupiter
14.03.12
✎
07:53
|
Если вдруг кому будет интересно
Наименее травматичным было выкинуть из интерфейса "Общий" пункт меню "Сервис/Переключить интерфейс" и из него же панель "Интерфейсы" с аналогичной кнопкой. Так пользователи не натыкаются с первого же взгляда на кнопки переключения интерфейса, получая -99 к способности "Шаловливые ручки" В интерфейсах кроме "Общего" возможность переключать интерфейсы не предусмотрена |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |