Кто может создавать дубли?

13.06.20

Администрирование - Роли и права

Ролей в ЕРП очень много, вручную не проконтролировать. Как определить у каких пользователей есть права на объект? Как определить роль, отвечающую за тот или иной объект метаданных? Какой профиль нужно назначить группе доступа? Куда отнести пользователя?

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пользователи с правами
.erf 6,17Kb ver:1.0
1
1 Скачать (1 SM) Купить за 1 850 руб.
Права на объект
.erf 6,32Kb ver:1.0
1
1 Скачать (1 SM) Купить за 1 850 руб.

Для ответа на эти вопросы сначала использовал конфигуратор и форму “Все роли”. Находишь там нужный объект и скролишь по табличке вправо. 

Но времени отнимает немало. Особенно, если объектов таких больше одного. Когда проблема встала остро родился запрос:

ВЫБРАТЬ
спрПрофилиГруппДоступа.Ссылка КАК Профиль,
регПраваРолей.ОбъектМетаданных КАК ОбъектМетаданных,
регПраваРолей.Роль КАК Роль,
регПраваРолей.Изменение КАК Изменение,
регПраваРолей.Добавление КАК Добавление,
регПраваРолей.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
регПраваРолей.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
регПраваРолей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
регПраваРолей.Просмотр КАК Просмотр,
регПраваРолей.Редактирование КАК Редактирование,
регПраваРолей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ИЗ
РегистрСведений.ПраваРолей КАК регПраваРолей
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.Роли КАК спрПрофилиГруппДоступа
ПО (регПраваРолей.Роль = спрПрофилиГруппДоступа.Роль)
ГДЕ
регПраваРолей.ОбъектМетаданных В (&справочники)
И регПраваРолей.Изменение = ИСТИНА

Заполняем в параметре запроса таблицу значений с анализируемыми объектами и получаем перечень ролей и профилей, в которых разрешено их изменение:

Следующий запрос ответит на вопрос кто из пользователей имеет права на редактирование объектов из списка:

ВЫБРАТЬ
спрРолиПрофиляГруппыДоступа.Ссылка КАК Профиль,
регПраваРолей.ОбъектМетаданных КАК ОбъектМетаданных,
регПраваРолей.Роль КАК Роль,
регПраваРолей.Изменение КАК Изменение,
регПраваРолей.Добавление КАК Добавление,
регПраваРолей.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
регПраваРолей.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
регПраваРолей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
регПраваРолей.Просмотр КАК Просмотр,
регПраваРолей.Редактирование КАК Редактирование,
регПраваРолей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ПОМЕСТИТЬ втПрофилиСПравамиНаИзменение
ИЗ
РегистрСведений.ПраваРолей КАК регПраваРолей
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.Роли КАК спрРолиПрофиляГруппыДоступа
ПО регПраваРолей.Роль = спрРолиПрофиляГруппыДоступа.Роль
ГДЕ
регПраваРолей.Изменение = ИСТИНА
И регПраваРолей.ОбъектМетаданных В(&справочники)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
спрПользователиГруппДоступа.Пользователь КАК Пользователь,
вт.Профиль КАК Профиль,
вт.ОбъектМетаданных КАК ОбъектМетаданных,
вт.Роль КАК Роль,
вт.Изменение КАК Изменение,
вт.Добавление КАК Добавление,
вт.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
вт.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
вт.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
вт.Просмотр КАК Просмотр,
вт.Редактирование КАК Редактирование,
вт.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ИЗ
втПрофилиСПравамиНаИзменение КАК вт
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК спрПользователиГруппДоступа
ПО (спрПользователиГруппДоступа.Ссылка.Профиль = вт.Профиль)
ГДЕ
НЕ спрПользователиГруппДоступа.Пользователь ЕСТЬ NULL
УПОРЯДОЧИТЬ ПО
вт.Профиль,
спрПользователиГруппДоступа.Пользователь

В результате нам доступен список пользователей, имеющих право редактировать объекты из списка:

Но если просто отключить роль в профиле, может возникнуть ситуация, когда нужно прочитать данные из проверяемого объекта. И эти права нужно сохранить. Тогда запрос был модифицирован в третий раз:

ВЫБРАТЬ
	регПраваРолей.ОбъектМетаданных КАК ОбъектМетаданных,
	регПраваРолей.Роль КАК Роль,
	регПраваРолей.Изменение КАК Изменение,
	регПраваРолей.Добавление КАК Добавление,
	регПраваРолей.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
	регПраваРолей.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
	регПраваРолей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
	регПраваРолей.Просмотр КАК Просмотр,
	регПраваРолей.Редактирование КАК Редактирование,
	регПраваРолей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ПОМЕСТИТЬ втПраваНаЧтение
ИЗ
	РегистрСведений.ПраваРолей КАК регПраваРолей
ГДЕ
	регПраваРолей.Просмотр = ИСТИНА
	И регПраваРолей.ОбъектМетаданных В(&справочники)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	спрРолиПрофиляГруппыДоступа.Ссылка КАК Профиль,
	регПраваРолей.ОбъектМетаданных КАК ОбъектМетаданных,
	регПраваРолей.Роль КАК Роль,
	регПраваРолей.Изменение КАК Изменение,
	регПраваРолей.Добавление КАК Добавление,
	регПраваРолей.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
	регПраваРолей.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
	регПраваРолей.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
	регПраваРолей.Просмотр КАК Просмотр,
	регПраваРолей.Редактирование КАК Редактирование,
	регПраваРолей.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ПОМЕСТИТЬ втПрофилиСПравамиНаИзменение
ИЗ
	РегистрСведений.ПраваРолей КАК регПраваРолей
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ПрофилиГруппДоступа.Роли КАК спрРолиПрофиляГруппыДоступа
		ПО регПраваРолей.Роль = спрРолиПрофиляГруппыДоступа.Роль
ГДЕ
	регПраваРолей.Изменение = ИСТИНА
	И регПраваРолей.ОбъектМетаданных В(&справочники)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	спрПользователиГруппДоступа.Пользователь КАК Пользователь,
	вт.Профиль КАК Профиль,
	вт.ОбъектМетаданных КАК ОбъектМетаданных,
	вт.Роль КАК Роль,
	вт.Изменение КАК Изменение,
	вт.Добавление КАК Добавление,
	вт.ЧтениеБезОграничения КАК ЧтениеБезОграничения,
	вт.ИзменениеБезОграничения КАК ИзменениеБезОграничения,
	вт.ДобавлениеБезОграничения КАК ДобавлениеБезОграничения,
	вт.Просмотр КАК Просмотр,
	вт.Редактирование КАК Редактирование,
	вт.ИнтерактивноеДобавление КАК ИнтерактивноеДобавление
ИЗ
	втПрофилиСПравамиНаИзменение КАК вт
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГруппыДоступа.Пользователи КАК спрПользователиГруппДоступа
		ПО (спрПользователиГруппДоступа.Ссылка.Профиль = вт.Профиль)
ГДЕ
	НЕ спрПользователиГруппДоступа.Пользователь ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
	вт.Профиль,
	спрПользователиГруппДоступа.Пользователь

И если сформировать его в консоли с выводом временных таблиц, то из временной таблицы втПраваНаЧтение можно подобрать замену для отключаемой роли, дающей слишком много прав.

Для тех же, кто не дружит с консолью, приложил два отчета:

  1. Для списка объектов метаданных выведет перечень ролей и доступных прав

  1. Сформирует список пользователей, которым доступно изменение объектов из списка.

А вообще интересно не изобретал ли я очередной велосипед? Подскажите пожалуйста более удобные способы решения подобных задач в ЕРП.

Отчеты для конфигурации 1С:ERP 2.4.11, тестировалось на платформе 8.3.15.1700.

ERP права роли профили групп доступа

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    169303    937    403    

905

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10010    48    5    

78

Зарплата Роли и права Системный администратор Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    38960    281    98    

215

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11398    40    27    

66

Логистика, склад и ТМЦ Роли и права Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Управление правами 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для 1С:Бухгалтерия 3.0, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

4560 руб.

21.05.2019    1695306    575    194    

137

Ценообразование, анализ цен Роли и права Системный администратор Платформа 1С v8.3 Управление правами 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение возможностей программы 1С УНФ. Функционал расширения - разграничение всевозможных прав пользователей и контроль при совершении различных действий.

3000 руб.

23.02.2018    59194    164    262    

156

Роли и права Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Данная система разработана как альтернатива стандартной системе напоминаний. Но имеет ряд существенных преимуществ: отображение в базе или с отправкой по почте, свое расписание, возможность фильтрации по ролям и пользователям, формирование своих запросов и макетов, шаблоны писем, работа в фоне. А также может блокировать работу пользователей при заданных условиях. Может работать в составе любой конфигурации. Имеется справка с описанием возможностей. (Обновление от 20.02.2024, версия 2.2, расширение)

19200 руб.

29.11.2019    25884    17    8    

37
Оставьте свое сообщение