Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Администрирование 8.2
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Sergio
Добрый вечер. Подскажите, можно ли на периферийной базе 8.2 (управляемые формы) запретить изменение роли пользователем ?
Zaval
Назначить ему правильно доступные Роли.

ЗЫ. Конечно, проставить всем Полные права - проще, но "Простота хуже воровства" как раз об этом smile.gif
Sergio
А разве можно управлять доступностью ролей ?

Как сделать что бы пользователю роли не были доступны ?

Хочется, конечно, что бы пользователь при этом мог обновить конфигурацию при получении из ЦБ изменения
Zaval
Если Пользователю недоступны Полные права или Администрирование - в Конфигуратор войдет, а список Пользователей даже открыть не сможет. Достаточно?

Поэкспериментируйте на копии или демо.
Sergio
Да, этого достаточно. Сейчас попробую.

Не, не понятно. Беру для примера роль "Сотрудники", снимаю у этой роли галку "Администрирование", делаю выгрузку для ПБ, на ПБ пытаюсь загрузить, изменение конфигурации принимает, а в Предприятие не хочет вносить изменения из-за "недостаточно прав"
Zaval
Если не получится - добавьте копию Роли Администрирование и уже внутри нее отключите некоторые функции.
И раз уж такими вопросами озаботились, проверьте Пользователей на всякие хитрости - нпр, запуск внешних обработок, редактирование справочника ВнешниеОбработки. Что в ЦБ загружено в справочник - будут пользовать, а всякие левые приблуды - нафиг.

Там может быть в стандартном Администрировании все включено - и обновление конфы и редактирование Пользователей.
Sergio
Не.. Ой чует мое сердце ручками писать надо. Средствами администрирования не получается. Хотя по идее должно.

Попробую еще по одной галке последовательно убирать
Zaval
Нпр, в УНФ есть Роль ОбновлениеКонфигурацииБазыДанных.
Sergio
Проблему так и не решил. Может кто нибудь подскажет: на данный момент у меня пользователь с ролью "Обычный сотрудник" может у себя на периферийной базе войти в конфигуратор, назначить себе роль "Администратор" и делать, что захочет. Я пытаюсь в настройках ролей ограничить роль "Обычный сотрудник", сняв галочку "Администрирование", но возникает другая проблема: когда я с Центральной базы отправляю выгрузку на Периферийную Базу, то пользователь с ролью "Обычный сотрудник" не может не то что роль себе поменять, а даже сохранить измененную конфигурацию. А мне и всего то надо, что бы никто кроме Администратора не мог войти в пункт меню Пользователи. Подскажите плиз, кто сталкивался.
Vofka
Можно попробовать программно этим управлять. Создать какую-то структуру в конфе, где будут описаны пользователи и роли. В процедуре ПриНачалеРаботыСистемы проверять какие роли установлены в этой структуре и смотреть какие роли у пользователя стоят реально. Если они не совпадают, тогда программно убирать/добавлять пользователю правильные роли и с предупреждением "А какого $#% у тебя стоит роль хххх?" закрывать 1С. При последующем запуске, если пользователь перед этим снова в конфигураторе ничего в ролях не поменял, 1С запустится нормально.

Это первое, что мне сейчас пришло на ум.
Sergio
Цитата(Vofka @ 28.02.13, 15:53) необходимо зарегистрироваться для просмотра ссылки
Можно попробовать программно этим управлять. Создать какую-то структуру в конфе, где будут описаны пользователи и роли. В процедуре ПриНачалеРаботыСистемы проверять какие роли установлены в этой структуре и смотреть какие роли у пользователя стоят реально. Если они не совпадают, тогда программно убирать/добавлять пользователю правильные роли и с предупреждением "А какого $#% у Вас стоит роль хххх?" закрывать 1С. При последующем запуске, если пользователь перед этим снова в конфигураторе ничего в ролях не поменял, 1С запустится нормально.

Это первое, что мне сейчас пришло на ум.


Согласен. Только вот перерыл Синтаксис-помощник: не могу найти каким методом можно "программно убирать/добавлять пользователю правильные роли". За наводку спасибо.
Vofka
ПользователиИнформационнойБазы().ТекущийПользователь().Роли()

Тут содержатся роли текущего пользователя. Это коллекция. И там есть 4 метода:
  • Добавить();
  • Очистить();
  • Содержит();
  • Удалить();
Sergio
Спасибо, Vofka - выручил.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.