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

13.06.20

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

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

Скачать исходный код

Наименование Файл Версия Размер
Пользователи с правами
.erf 6,17Kb
1
.erf 1.0 6,17Kb 1 Скачать
Права на объект
.erf 6,32Kb
1
.erf 1.0 6,32Kb 1 Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    124810    682    389    

732

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3562    19    1    

39

Infostart УДиФ: Управление данными и формами

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

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

10000 руб.

10.11.2023    4265    12    2    

36

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

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

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

5700 руб.

27.05.2021    33106    206    89    

166

Роли для кладовщика

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

Расширение, которое позволяет использовать отдельные роли для доступа к складским документам, для доступа к документам раздела "Производство" и для доступа к документам раздела "Покупки".

2520 руб.

21.05.2019    1692558    552    192    

133

Расширение для разграничения доступа к контрагентам и обработка для группового назначения доступа для Бухгалтерии (RLS) 3.0.143.42

Роли и права Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение предназначено для Бухгалтерии предприятия (версии ПРОФ и КОРП). Типовая конфигурация остается на поддержке. С помощью расширения менеджер по продажам будет иметь доступ к контрагентам и списку их документов только в случае, если он является для них ответственным. Пользователю с полными правами также доступна обработка «Назначение ответственных» для группового добавления/удаления ответственного в карточке контрагента. Есть версия данного расширения для клиентов Fresh - в магазине расширений (Fresh)

9360 руб.

14.09.2022    5827    7    4    

9

Универсальная система оповещений в базе или по почте по произвольным условиям, расписанием, ролям и пользователям (Расширение / конфигурация для платформ 8.3.6+, для ЛЮБЫХ баз)

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

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

19200 руб.

29.11.2019    24790    14    8    

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