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

13.06.20

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

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

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

15500 руб.

02.09.2020    228533    1245    415    

1082

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    21122    86    42    

95

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

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

5940 руб.

27.05.2021    48988    392    119    

300

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

20400 руб.

06.12.2023    18916    70    10    

102

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

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

5000 руб.

21.05.2019    1699236    588    195    

144

Роли и права Системный администратор Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9360 руб.

14.09.2022    8008    14    6    

16

Роли и права Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

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

5000 руб.

16.11.2015    52342    97    46    

159
Для отправки сообщения требуется регистрация/авторизация