1с отчет по правам доступа к объектам

Обновлено: 07.07.2024

В обрате отсутствуют какие-либо отборы и настройки. Если есть необходимость их можно доработать, но тут их нет именно потому, что обработку старались сделать как можно проще (на совершенство обработка не претендует :) )

Необходимо получить отчет по доступу ролей к объектам метаданных (сегодня озадачили этим J). При этом рассматриваются только три возможных состояния:

  • Роли доступно свойство «Изменение» (другое не проверяется)
  • Роли доступно свойство «Чтение» (если изменение не доступно, т.е. «Изменение» имеет более высокий приоритет чем «Чтение»)
  • В остальных случаях считается что роли ничего не доступно.

Действительно, если роли доступно «Редактирование» или «Пометка на удаление», то «Изменение» ей так же должно быть доступно, а если доступно «Просмотр», то обязательно доступно «Чтение». Поэтому, для читабельности отчета (иначе он просто потеряет читабельность) мы и контролируем эти два права (Изменение и Чтение).

Так же необходимо проверить права роли на работу с самой конфигурацией («Монопольный режим», «Администрирование» и т.д.)

Отчет должен быть представлен в виде шахматки:

  • Строки «Объекты метаданных»
  • Колонки «Роли»

В общем случае последовательность работ такая:

  1. Создаем список ролей
  2. Создаем список контролируемых прав (с учетом приоритета)
  3. Создаем список объектов метаданных
  4. Сравниваем все три параметра в процедуре «ПравоДоступа» и выводим результат.

Для реализации создадим новую обработку и форму, весь программный код поместим в модуль формы. На форме создадим «табличное поле» («ПолеТабличногоДокумента1») куда будем выводить отчет. Кроме того будут реквизиты формы:

дМетаданных – дерево метаданных (вывод нужно организовать с учетом иерархии). Конечно, от него можно отказаться и просто организовать обход по метаданным, но лучше его оставить, так как если потребуется поставить фильтр на объекты в отчет оно может здорово пригодится (достаточно в дереве добавить новую колонку, проставить в нее соответствующий признак, и при выводе учитывать – в данной обработке не реализовано).

спРоли – список ролей в конфигурации. Так же при необходимости отборов добавляем на форму и используем свойство «Пометка».

спПрав – список контролируемых прав с учетом приоритетов (то что важнее заносится раньше).

Соответственно в форму при открытии укажем процедуры по заполнению всех нужных списков.

Роли_ПолучитьСписок();

Роли_СписокПрав();

ДеревоМетаданных();

КонецПроцедуры

Начнем с простого – список прав (их всего две), и список ролей

Процедура Роли_СписокПрав()

спПрав.Добавить("Изменение");

спПрав.Добавить("Чтение");

КонецПРоцедуры

Процедура Роли_ПолучитьСписок()

спРоли = новый СписокЗначений;

Для каждого РОль Из Метаданные.Роли Цикл

ОбработкаПрерыванияПОльзователя();

спРоли.Добавить(РОль,РОль_Описание(РОль));

КонецЦикла;

КонецПроцедуры

Функция РОль_Описание(Роль)

Результат = РОль.Представление();

Если Результат<>РОль.Имя Тогда

Результат = Результат+"["+Роль.Имя+"]";

КонецЕсли;

возврат Результат;

КонецФункции

При формировании отчета мы хотим видеть пользовательское представление метаданных и ролей, а так же их представление в метаданных (поэтому и вводим Функцию «РОль_Описание» - в принципе ее можно описать непосредственно в процедуре «Роли_ПолучитьСписок» - дело вкуса :) )

Если посмотреть в описании процедуры «ПравоДоступа» то такие права как «Администрирование» тоже по идеи нужно отнести в СписокПрав, но исходя из целесообразности и наглядности отчета мы условно отнесем их к метаданным и занесем в дальнейшем в дМетаданные (что бы видеть их как строки – создадим отдельную ветку).

Дерево метаданных состоит из двух колонок «Описание» и «Представление»

Процедура ДеревоМетаданных() Экспорт

дМетаданные.Колонки.Добавить("Объект");

дМетаданные.Колонки.Добавить("Представление");

ДеревоМетаданных_ДобавитьАдминистрирование();

ДеревоМетаданных_Добавить("Справочники");

ДеревоМетаданных_Добавить("Документы");

ДеревоМетаданных_Добавить("ЖурналыДокументов","Журналы документов");

ДеревоМетаданных_Добавить("Перечисления");

ДеревоМетаданных_Добавить("Отчеты");

ДеревоМетаданных_Добавить("Обработки");

ДеревоМетаданных_Добавить("ПланыВидовХарактеристик","Планы видов характеристик");

ДеревоМетаданных_Добавить("ПланыСчетов","Планы счетов");

ДеревоМетаданных_Добавить("ПланыВидовРасчета","Планы видов расчета");

ДеревоМетаданных_Добавить("РегистрыСведений","Регистры сведений");

ДеревоМетаданных_Добавить("РегистрыНакопления","Регистры накопления");

ДеревоМетаданных_Добавить("РегистрыБухгалтерии","Регистры бухгалтерии");

ДеревоМетаданных_Добавить("РегистрыРасчета","Регистры расчета");

ДеревоМетаданных_Добавить("БизнесПроцессы","Бизнес-процессы");

ДеревоМетаданных_Добавить("Задачи");

КонецПроцедуры

ПРоцедура ДеревоМетаданных_ДобавитьАдминистрирование()

СтрокаГр = дМетаданные.Строки.Добавить();

СтрокаГр.Объект = "Администрирование";

СтрокаГр.Представление = "Права на конфигурацию в целом";

мсПрав = новый СписокЗначений;

мсПрав.Добавить("Администрирование","Администрирование");

мсПрав.Добавить("МонопольныйРежим","Монопольный режим");

мсПрав.Добавить("АктивныеПользователи","Просмотр списка активных пользователей");

мсПрав.Добавить("ЖурналРегистрации","Журнал регистрации");

мсПрав.Добавить("ВнешнееСоединение","Внешнее соединение");

мсПрав.Добавить("Automation","Использование automation");

мсПрав.Добавить("ИнтерактивноеОткрытиеВнешнихОбработок","Интерактивное открытие внешних обработок");

мсПрав.Добавить("ИнтерактивноеОткрытиеВнешнихОтчетов","Интерактивное открытие внешних отчетов");

мсПрав.Добавить("Вывод","Вывод на печать, запись и копирование в буфер обмена");

мсПрав.Добавить("ОбновлениеКонфигурацииБазыДанных","Обновление конфигурации базы данных");

Для каждого эл Из мсПрав Цикл

ОбработкаПрерыванияПОльзователя();

НС = СтрокаГр.Строки.Добавить();

НС.Объект = Эл.Значение;

НС.Представление = Эл.Представление;

КонецЦикла;

КонецПРоцедуры

Процедура ДеревоМетаданных_Добавить(что,Представление="")

Первая = истина;

Для каждого мет Из Метаданные[что] Цикл

Если Первая Тогда

СтрокаГр = дМетаданные.Строки.Добавить();

СтрокаГр.Объект = Что;

Если ПустаяСтрока(Представление) Тогда

СтрокаГР.Представление = Что;

иначе

СтрокаГР.Представление = Представление;

КонецЕсли;

первая = Ложь;

КонецЕсли;

строка = СтрокаГр.Строки.Добавить();

Строка.Объект = Мет.Имя;

Строка.Представление = Мет.Представление();

КонецЦикла;

КонецПроцедуры

Как было сказано для ряда прав мы создаем отдельную ветку «Администрирование» (процедура «ДеревоМетаданных_ДобавитьАдминистрирование()»), и определять эту ветку мы будем по объекту «Администрирование». Остальные возможные объекты метаданных мы добавляем с помощью процедуры ДеревоМетаданных_Добавить(,). При этом в процедуре ДеревоМетаданных_Добавить мы контролируем что бы хотя бы один объект такого типа есть (иначе ветка не нужна). Кроме того, если «Представление» в параметрах процедуры не задана, то считаем что прдеставление равно типу.

Далее, нам нужно будет создать макет, имеющий вертикальные и горизонтальные секции (для формирования шахматки). Кроме того, поскольку мы формируем шахматку с использованием разных процедур то в форме объявим две переменные: Макет и ТабДок (ТабДок – это результирующий отчет).

Дальше собственно формируем сам отчет с использованием (как уже несколько раз было сказано J ) процедуры «ПравоДоступа». Учтем один нюанс, если нам нужно получить права роли на какой-то отдельный объект метаданных (из нашего дерева), то мы должны передать в процедуру ПравоДоступа(,,), где «Право» из списка Прав. Но если нам нужно получить права ролей из ветки “Администрирование», то в качестве Метаданных используется сама конфигурация (т.е. просто МЕТАДАННЫЕ), а права у нас уходят в дерево Метаданных, и тогда нужно использовать ПравоДоступа(,Метаданные,), а результат уже просто доступно это право или нет.

Для этого создадим отдельную функцию:

Функция РОль_Права(Мет,Роль)

Результат = "";

Если ТипЗнч(Мет)=Тип("Строка") Тогда

// это проверка Административных прав

Если ПравоДоступа(Мет,Метаданные,РОль) Тогда

Результат = "Да";

иначе

результат = "";

КонецЕсли;

возврат Результат;

КонецЕсли;

Для каждого Право Из спПрав Цикл

ОбработкаПрерыванияПОльзователя();

Если ПравоДоступа(Право.Значение,Мет,РОль) Тогда

Результат = Право.Значение;

прервать;

КонецЕсли;

КонецЦикла;

возврат Результат;

КонецФункции

В которую если у нас контролируется права на объект метаданных в качестве первого параметра и передаем этот объект (функция в этом случае возвращает значение права учетом приоритета), а если нужно право из ветки «Администрирование», то передаем строковую переменную с именем этого права (функция возвращает «Да» или). По типу первого параметра и определяется, как использовать функцию ПравоДоступа.

Формирование самого отчета делаем при помощи процедур

Процедура Сфомировать_Вывод(ИмяСекции,данные=Неопределено)

Сек = Макет.ПолучитьОбласть(ИмяСекции+"|Начало");

пСек = Сек.Параметры;

Уровень = 0;

ЭтоАдминистирирование = ТипЗнч(Данные)=Тип("СтрокаДереваЗначений");

Если ИмяСекции="С1" Тогда

уровень = 1;

пСек.Объект = данные;

ИначеЕсли ИмяСекции="С2" Тогда

уровень = 2;

Если ЭтоАдминистирирование Тогда

пСек.Объект = данные.Представление;

пСек.Обозначение = данные.Объект;

иначе

пСек.Объект = данные.Представление();

пСек.Обозначение = данные.Имя;

КонецЕсли;

КонецЕсли;

ТабДок.Вывести(Сек,Уровень);

Для каждого Роль Из спРоли Цикл

ОбработкаПрерыванияПОльзователя();

Сек = Макет.ПолучитьОбласть(ИмяСекции+"|В1");

пСек = Сек.Параметры;

Если ИмяСекции = "Ш1" Тогда

пСек.РОль = Роль.Представление;

иначеЕСли ИмяСекции = "С2" Тогда

Если ЭтоАдминистирирование Тогда

Права = РОль_Права(данные.Объект,Роль.Значение);

иначе

Права = РОль_Права(данные,Роль.Значение);

КонецЕсли;

Если Права = "Изменение" или Права="Да" тогда

Сек.Область("ТекПрава").ЦветФона = WebЦвета.СветлоЗеленый;

ИначеЕсли Права = "Чтение" тогда

Сек.Область("ТекПрава").ЦветФона = WebЦвета.Желтый;

КонецЕсли;

пСек.Права = Права;

КонецЕсли;

ТабДок.Присоединить(Сек);

КонецЦикла;

ТабДок.Присоединить(Макет.ПолучитьОбласть(ИмяСекции+"|Конец"));

КонецПроцедуры

Процедура Сфомировать(Кнопка)

ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;

ТабДок.Очистить();

Макет = ПолучитьМакет("Макет");

Сфомировать_Вывод("Ш1");

ТабДок.ФиксацияСверху = ТабДок.ВысотаТаблицы;

ТабДок.ФиксацияСлева = 2;

ТабДок.НачатьАвтогруппировкуСтрок();

Для каждого Ст1 Из дМетаданные.Строки Цикл

ОбработкаПрерыванияПОльзователя();

ЭтоАдминистирирование = Ст1.Объект = "Администрирование";

Если ЭтоАдминистирирование Тогда

Мет1 = Метаданные;

иначе

Мет1 = Метаданные[Ст1.ОБъект];

КонецЕсли;

Сфомировать_Вывод("С1",Ст1.Представление);

Для каждого Ст2 Из Ст1.Строки Цикл

ОбработкаПрерыванияПОльзователя();

Если ЭтоАдминистирирование Тогда

Мет2 = Ст2;

иначе

Мет2 = Мет1[СокрЛП(Ст2.ОБъект)];

КонецЕсли;

Сфомировать_Вывод("С2",Мет2);

КонецЦикла;

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

Сфомировать_Вывод("И1");

КонецПроцедуры

Сфомировать – организует таблицу и обход по строкам

Сфомировать_Вывод – организует обход по колонкам

Ну и для красоты отчета те роли, которые имеют право «Изменение» или «Да» (для администрирования) окрашиваем зеленым, роли на «Чтение» - желтым. Для этого создали в секции специальную именованную область.

Собственно и все, может кому пригодится как исходная «точка» для написания нечто подобного, к примеру, если нужно получить права не по ролям а по пользователям, то список ролей меняем на список пользователей и в ПравоДоступа передаем не роль а конкретного пользователя.

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

Общая схема системы прав доступа подразумевает:

  1. Создание ролей для доступа к объектам отдельно для чтения и для записи.
  2. Объединение ролей в профили (в том числе поставляемые).
  3. Назначение профилей группам доступа с ограничением доступа по видам доступа.
  4. Добавление в группы доступа пользователей и групп пользователей.


Такой механизм обладает гибкостью и универсальностью. Это позволяет его достаточно широко применять. Однако непосредственное использование этого механизма громоздко и трудоемко.

Во время работы пользователя в базе 1С при попытке выполнить действие (на которое у него нет разрешения) система выдаст окно предупреждения, примерно такого вида:


Если открыть журнал регистрации по пользователю, то можно увидеть объект и недостающее право в событии «Доступ. Отказ в доступе». Например, отсутствие права на чтение константы, как на рисунке ниже:


Задача администратора базы данных или сотрудника технической поддержки в том, чтобы добавить пользователю недостающее право, а для этого требуется найти Роль, которую следует назначить пользователю.

В большинстве случаев (но не во всех) для этого достаточно выполнить следующие шаги:

1. Найти роли, дающие права на объект, в регистре сведений Права ролей

Перейти в меню - Все функции - Регистры сведений - Права ролей (или перейти по навигационной ссылке e1cib/list/РегистрСведений.ПраваРолей)

Примечание: Пункт Все функции, можно включить так: Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"


Регистр типовой, наполнен объектами метаданных и ролями, которые дают на них права.


Выполняем поиск по интересующему нас объекту (документу, отчету, регистру, обработке и т.п.).

Получаем список задействованных ролей (как на рисунке выше с документом Авансовый отчет):

  • Добавление изменение авансовых отчетов (роль)
  • Чтение авансовых отчетов (роль)

Открываем справочник Профилей, это можно сделать так:

  • Переходим в меню - Все функции - Справочники - Профили групп доступа
  • Раздел - НСИ и администрирование - Настройки пользователей и прав - Профили групп доступа
  • Или перейти по навигационной ссылке e1cib/list/Справочник.ПрофилиГруппДоступа

Чтобы определить подходящие профили, добавляем отбор на форму списка

Ещё - Настроить список - Закладка Отбор - Добавляем отбор по полю табличной части Ссылка.Роли.Роль


После этого можно удобно вычислить нужные профили, например, с ролью Чтение авансовых отчетов.

Примечание: Предварительно установите в списке Ещё - Режим просмотра - Список (чтобы убрать группы)


Если нужных профилей не оказалось, то создайте новый профиль или измените существующий.

Примечание: В предопределенные профили базы добавлять роли нельзя, а для того чтобы добавить роль в предопределенный профиль, сделайте свой, скопировав, предопределенный профиль и уже туда добавляйте роль.

3. Назначить пользователю группу доступа по профилю

Определив нужный профиль доступа, вам необходимо в связанную с ним группу доступа, добавить пользователя.

Группы доступа видны по ссылке в форме Профиля


Если нужной группы доступа нет, то создаем ее.

Открыв связанную с профилем группу доступа, добавляем в неё пользователя


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

Сам процесс можно ускорить соединив все шаги: 1,2,3 - в одном отчете или расширении.

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

Схема запроса для системы компоновки примерно такая:

Таблицу РегистрСведений.ПраваРолей (Отбор: Объект метаданных) связываем по Роли с таблицей Справочник. ПрофилиГруппДоступа.Роли связываем по реквизиту с таблицей Справочник. ГруппыДоступа.Профиль.


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


Вообще можно настраивать как угодно отчет.

Также можно сформировать, например Матрицу Пользователей (кто в какой группе доступа). Перейти в Настройки, где поставить в строках Пользователей, в колонка Профили, в ресурсах Чтение


Открываем 1С:Предприятие - Разделы - НСИ и администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки - Добавляем отчет (или перейти по навигационной ссылке e1cib/list/Справочник.ДополнительныеОтчетыИОбработки)

  • Отчет тот же самый добавляем в расширение.
  • Интересным моментом оказалось как динамически вызвать отчет в большинстве форм объектов, максимально просто.

Я выбрал следующий способ:

Почти в каждом модуле формы есть событие ПриСозданииНаСервере(. ), в нем вызывается общее событие СобытияФорм.ПриСозданииНаСервере(. )


а далее в нем событие переопределяемого модуля


именно это событие МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() я перетащил в расширение с ключом выполнения "&После"

чтобы вызвать отчет в процедуре динамически вывожу снизу на форму объекта элемент формы ДекорацияФормы, в который с помощью ФорматированнойСтроки(. ) передаю навигационную ссылку на команду открытия отчета из расширения.


Далее в самой команде отчета с помощью метода АктивноеОкно() определяю форму объекта, из которой произошел запуск и формирую отчет с нужным параметром

Получилось следующее (на примере элемента справочника "Ресурсные спецификации"):

  • Гиперссылка "Права на объект" появляется в формах
  • По ее нажатию вызывается отчет "Права на объект" с указанием объекта в заголовке и отбором по типу метаданных



В отчете видно в колонках какие роли дают какие права, и в строках у кого уже есть такие права и в какую группу можно включить пользователя.

1) Переходим в меню - Настройки - Параметры - Отображать команду "Все функции"

2) Переходим в меню - Все функции - Стандартные - Управление расширениями конфигурации - Добавляем расширение


Для проверки установленных прав под пользователем воспользуйтесь обработкой Запуск 1С под любым пользователем (без необходимости указания пароля) 1С:Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.10.78) - будет работать 1С:Комплексная автоматизация, 1С: Управление торговлей и др, т.к. регистр сведений Права ролей есть почти в каждом прикладном решении. - для других конфигураций можно быстро модифицировать.

Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.

Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

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

Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.

Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий

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

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.

Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3

Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.

Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.

Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

Часто при моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.

Есть несколько удобных опций для облегчения внесения изменений.

Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.

Пример технического задания для практического понимания основных разделов.

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

Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.

Режим позволяет проанализировать права одной роли и ответить на вопросы:

  • Кому назначена определенная роль?
  • Какие права доступа назначены для роли? Какие ограничения по RLS действуют для роли?
  • В какие профили включена роль?
  • К каким объектам конфигурации 1С роль предоставляет доступ?
  • Получить описание роли 1С.

При анализе ролей можно просмотреть дополнительную информацию:

Для пользователя настроили ограничение по Организации, функционал типовой и особо ограничение никто проверять не стал.

Оказалось пользователь может видеть все документы без ограничения и полностью видеть их содержимое, но при записи выходит ошибка по правам доступа. Причина оказалась простой - для роли на добавление и изменение документа в праве на "Чтение" не установлены ограничения по RLS.

Перед тем как предоставить доступ через добавление роли в профиль можно было проверить какие права предоставлены роли - это ювелирная работа, но позволила в будущем назначать права более предсказуемо.


Анализ прав доступа к объекту конфигурации

Режим позволяет проанализировать права доступа к одному объекту конфигурации и ответить на вопросы:

  • Кто имеет доступ к объекту?
  • Какие роли дают права доступа к объекту 1C?
  • Какие Профили / Группы доступа - нужно назначить, чтобы получить доступ к объекту?

При анализе прав к объекту можно просмотреть дополнительную информацию:

  • В какие подсистемы включен объект;
  • Получить список функциональных опций в состав которых включен объект:
  • Основные роли (При анализе Конфигурации).

В типовой версии ЗУП некоторые элементы выведены через общие команды, например справочник "Тарифные группы". Если пользователю назначить доступ только к объекту он не сможет открыть сам справочник из интерфейса, ему так же нужно настроить доступ к общей команде "Тарифные группы". Сразу увидеть что включено в командный интерфейс, а что нужно разрешить пользователю поможет отчет.



Проанализировать за счет каких Групп доступа пользователь получил именно такую комбинацию прав, гораздо проще с отчетом.

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

Причина оказалась в том, что через неудачно добавленную роль для пользователя были отключены ограничения по RLS для чтения справочника.


Анализ прав доступа профиля

Режим позволяет проанализировать профиль доступа в различных разрезах и ответить на вопросы:

  • Какие объекты доступны для профиля доступа? Какие разрешения доступа предоставляет профиль?
  • Какие роли включены в профиль доступа?
  • Каким пользователям назначен профиль доступа?
  • Какие Группы доступа есть на основании профиля?

Доступные варианты отчета в режиме анализа прав доступа профиля:

Вариант отчета проанализировать права доступа профиля в виде списка.


Вариант отчета проанализировать права доступа профиля в табличном виде.


Анализ прав пользователя

Режим позволяет проанализировать роли и права доступа пользователя и ответить на вопросы:

  • К каким объектам C пользователь имеет доступ?
  • Как сложилась комбинация прав доступа для пользователя из отдельных ролей?
  • Через какие роли пользователь получил доступ к объектам? Какие Профили и Группы доступа назначены пользователю?

Доступные варианты отчета в режиме анализа прав доступа пользователя:

Вариант отчета позволяет проанализировать права доступа пользователя в виде списка.


Вариант отчета позволяет получить список прав доступа к объектам для Пользователя в табличном виде.


Анализ прав пользователя, без анализа ролей

Режим позволяет проанализировать права доступа указанного пользователя и найти ответы на вопросы:

  • К каким объектам конфигурации пользователь 1С имеет доступ?
  • Какие ограничения по RLS действуют для пользователя?

В отличии от режима "Анализ прав пользователя":

  • Нельзя получить данные по: Ролям, Профилям. При этом доступные роли пользователя можно проанализировать в дополнительном окне;
  • Работает быстрее.

Доступные варианты отчета в режиме анализа прав доступа пользователя (Без анализа ролей):

Вариант отчета позволяет проанализировать права доступа пользователя в виде списка.


Вариант отчета: Пользователь, без анализа ролей (Матрица)

Вариант отчета позволяет проанализировать права доступа пользователя в табличном виде.


Произвольный режим настройки

Режим позволяет проанализировать права доступа пользователей к объектам конфигурации 1С в различных разрезах.

В данном режиме можно получить максимально полную информацию о настройке прав доступа по Ролям, Группам доступа, Объектам и Пользователям.

Можно сравнить Роли/Пользователей/Профили/"Группы доступа" между собой.

Можно получить данные по правам доступа на несколько Объектов/Пользователей/Профилей и т.д.

Доступные варианты отчета в режиме анализа прав доступа в произвольном режиме:

Вариант отчета позволяет гибко проанализировать права доступа по нескольким объектам.


Вариант отчета сравнить несколько ролей пользователей, и выбрать нужную роль для настройки прав пользователей.


Произвольный режим настройки, без анализа ролей

Режим позволяет проанализировать права доступа пользователей к объектам.

  • Какие объекты доступны пользователям? Какие ограничения прав доступа действуют для пользователей?
  • Кто из пользователей обладает большими правами?
  • Какие права имеют пользователи? Как отличаются права разных пользователей? Возможность сравнить права доступа пользователей 1С.

В данном режиме нельзя получить данные по Ролям, Профилям и Группам доступа. Работает быстрее относительно произвольного режима.

Доступные варианты отчета в режиме анализа прав доступа в произвольном режиме (Без анализа ролей):

Вариант отчета: Произвольный, без анализа ролей (Матрица)

Вариант отчета позволяет проанализировать права пользователей к объектам.

Вариант отчета: Произвольный, без анализа ролей (Пользователи)

Вариант отчета по произвольному набору объектов, удобно использовать при большом количестве пользователей.


Метаданные без ролей

Инструмент поиска потенциальных вопросов пользователей. В данном режиме можно получить список метаданных по которым не настроены роли.


Перед формированием можно указать исключаемые из проверки роли (по умолчанию это роль "Полные права").

Демонстрация работы отчета

Вопрос : В БСП есть “Отчет по правам доступа” чем Ваш отчет лучше?

  • Гибкая настройка отчета - которая позволяет выводить права доступа в удобном виде;
  • Отчет позволяет провести анализ прав пользователей по более широкому перечню объектов;
  • Анализ всех прав доступа объектов платформы 8.3.14 (на более старых версиях не доступные права будут скрыты);
  • Получение данных в различных разрезах: Роль, Пользователь, Объект и т.д. (в отчете "Отчет по правам доступа"- только по пользователям).

Вопрос : На какие вопросы можно найти ответы при помощи отчета?

  • Какие права назначены Пользователю / Пользователям; Какие права пользователей 1С;
  • Какие права доступа 1С; Какие права пользователей 1С;
  • Что может делать пользователь в системе;
  • Через какие Роли, Профили и “Группы доступа” пользователи получили права;
  • Кто может получить доступ к объекту;
  • Увидеть почему возникает нарушение прав доступа;
  • Как настроить права доступа; Как настроить разграничение прав доступа 1С;
  • Какие группы доступа назначить чтобы пользователь получил необходимые права;
  • Получить имена Функциональных опций которые могут скрывать объект;
  • В какой подсистеме выведен объект;
  • Отчет по системе прав доступа;
  • Как разграничить права доступа пользователей;
  • Какие права доступа назначены профилю
  • Провести Анализ ролей 1С 8.3 и 8.2.

Вопрос : На каких конфигурациях работает отчет?

На всех конфигурациях написанных на основе БСП 2.0 и выше с внедренной подсистемой “ Управление доступом ”.

Например: “Бухгалтерия предприятия 3.0”, “Зарплата и управление персоналом 3”, “Управление торговлей 11”, "Комплексная автоматизация 2", "Управление небольшой фирмой", "Управление нашей фирмой", "ERP Управление предприятием", "Розница 2" и т.д.

Версию БСП можно посмотреть в регистре сведений “Версии подсистем” по имени подсистемы “СтандартныеПодсистемы”.

Вопрос : Если роль назначена через конфигуратор будет ли она выведена в отчет?

Анализ прав проводиться по данным подсистемы “Управление доступом” БСП и назначенная через конфигуратор роли не будет связаны с правами пользователя. Но увидеть, что пользователю доступны дополнительные права можно в режиме отчета “Пользователь, без анализа ролей”.

Вопрос : Как создавался отчет?

Отчет подключается стандартными средствами Дополнительных отчетов и обработок: Администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки -> Загрузить из файла.

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

Строки - имена пользователей, колонки - Права.

На пересечении отметка "V", если права у пользователя есть.

Можно выбрать одного или нескольких пользователей и одно или несколько Прав.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

На 1С:Предприятие 8.2 (8.2.19.130) в конфигурации - Бухгалтерия предприятия, редакция 2.0 (2.0.64.11)
нажатие на кнопку Сформировать приводит к появлению следующей ошибки:

Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Не найден внешний набор данных "Табло"

Если повключать/повыключать, в произвольном порядке, галочки на вкладке Настройка, то отчёт иногда срабатывает.
Закономерность не понял.

(1) Award, Отчет я делал на платформе 8.3. На какой платформе Вы работаете ?

Я же сразу написал: 1С:Предприятие 8.2 (8.2.19.130)

Просмотры 23619

Загрузки 270

Рейтинг 3

Создание 14.02.16 14:35

Обновление 14.02.16 14:35

№ Публикации 457603

Конфигурация Конфигурации 1cv8

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Не указано

"Словом можно убить, словом можно спасти, словом можно полки за собой повести" Онлайн-тренажер "Боевая риторика. Ложь и давление в переговорах" с 29 ноября по 27 декабря.

См. также

Запуск 1С под любым пользователем (без необходимости указания пароля) Промо

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

1 стартмани

02.07.2019 28939 297 sapervodichka 0

Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)

Доброе время суток. Я как обычно – с интересностями. И в этот раз мы поговорим о такой жуткой штуке – как RLS, генерация расширений на лету, и обратим внимание на одну интересную особенность «Полных прав» и про английский сорцкод. Статья не является «продажной», ибо решение специфическое, кому надо, тот знает, что покупает. Однако, в этой статье я расскажу про кучу тонкостей, с которыми мы столкнулись и как оптимизировали. Так что не забудьте открыть все спойлеры :)

5 стартмани

18.10.2021 4811 58 DitriX 29

Генератор ролей

Обработка генерирует атомарные наборы ролей для каждого объекта метаданных (Справочник, Документ, Отчет, Обработка, Регистр сведений).

1 стартмани

12.05.2021 3007 10 anton.fly7 7

Как увидеть пароли, сохраненные в базе 1С

Обработка, позволяющая посмотреть пароли и прочие данные скрываемые звёздочками на формах настройки.

1 стартмани

11.05.2021 12178 59 lepihin 27

Анализ ролей и прав доступа Промо

Отчет для анализа ролей и прав с использованием СКД. Формируется в разрезе объектов, ролей, пользователей и прав (чтение, просмотр и т.д.). Позволяет быстро узнать, какие пользователи или роли имеют конкретные права на объекты.

4 стартмани

09.01.2015 36703 21 kser87 7

Авторизация в мобильном приложении 1С

Реализация входа по паролю (личному коду) в мобильном приложении 1С.

10 стартмани

23.02.2021 5326 6 kaiman_fedor_yandex 0

Анализ ролей доступа

Быстрое определение, каких ролей доступа не хватает и на что влияет выбранная роль.

1 стартмани

06.01.2021 6076 84 yermak 9

Групповое добавление и удаление ролей из списка профилей

Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.

1 стартмани

14.12.2020 7432 37 sapervodichka 9

Просмотр прав пользователей Промо

Обработка наглядно показывает права доступа конкретного пользователя или роли к конкретному объекту метаданных.

1 стартмани

19.10.2012 35979 306 NILS2009 17

Анализ прав доступа на объекты метаданных 1С (быстрое получение списка только тех ролей, у которых есть соответствующий доступ). А так же получение списка ролей, которым дано право "Интерактивное удаление" (или другое, на выбор)

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

1 стартмани

08.11.2020 4488 28 akrelius 6

Обфускатор операционного кода 1С

Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)

2 стартмани

18.09.2020 9381 47 MoiseevSN 46

Подсистема прав доступа к объектам с гибкими отборами (расширение)

Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.

2 стартмани

02.07.2020 17866 218 sapervodichka 109

Отключение доступа уволенным пользователям Промо

Давно хотели навести порядок в пользователях? Надоело, что в списке мешаются давно уволенные сотрудники? Тогда эта обработка для Вас!

3 стартмани

15.10.2013 55543 109 VBod 17

Настройка ограничений входа пользователей в базу (расширение)

Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).

2 стартмани

19.05.2020 14492 27 sapervodichka 18

Менеджер подключений к удаленным рабочим столам (RDP)

Менеджер подключений к удаленным рабочим столам для организации доступа сотрудникам, без передачи паролей для доступа.

2 стартмани

19.11.2019 6807 8 Shalnov 1

Обозреватель криптографии

Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.

2 стартмани

21.10.2019 14737 19 YPermitin 10

Права доступа ролей Промо

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

1 стартмани

05.02.2018 22717 168 Serge R 5

Завершение работы пользователей

Завершение работы пользователей с помощью подключения обработчика ожидания.

1 стартмани

02.10.2019 9409 16 user921814 6

Расширение "Туманность" - помощник настройки профилей групп доступа. ERP 2.4.9+

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

1 стартмани

30.08.2019 6770 10 Brawler 0

PowerShell из 1С: создание пользователя Active Directory

Пример создания пользователя Active Directory с помощью PowerShell из 1С.

3 стартмани

27.08.2019 14566 25 wowik 13

Регистры правил [Расширение] Промо

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018 23483 30 33lab 5

Копирование настроек профилей группы доступа из одной базы в другую. 1С: Предприятие 8.3 БП 3.0, ЗУП 3.1, ЕРП 2.4 и т.д.

Иногда необходимо состав ролей профиля группы доступа перенести из одной базы 1С в другую быстро, а если таких баз 20-30, то сидеть и выбирать нужные роли руками это проблематично и долго. Для этого была разработана данная обработка. Проверялось на релизах: Платформа 1С: Предприятие 8.3.14.1630; 1С: ЗУП 3.1.9.229 и выше; 1С: ERP 2.4.5.54.

1 стартмани

02.08.2019 6632 73 mityushov.vv 5

Сравнение доступа профилей, ролей, пользователей по всем объектам конфигурации 8.3, 8.2 (обычные формы "ОФ" и управляемые формы "УФ") (выборочно)(НАБОР УТИЛИТ)

Сравнение профилей доступа по всем объектам конфигурации 8.3 (полноценно функционирует с версии 1С:Предприятия 8.1.10 - 8.3.X). Очень хотелось иметь обработку, которая бы показывала различия профилей доступа по каждому конкретному объекту конфигурации и по всем сразу. Желание было воплощено в данной обработке.

1 стартмани

23.06.2019 9949 44 AlexandrSmith 0

Запуск 1С под другим пользователем без ввода пароля

Для проверки настроек ролей и прав или для отладки можно использовать это решение.

1 стартмани

22.03.2019 11575 55 pridecom 0

Включение и выключение регистрации отказа в доступе если "У пользователя не достаточно прав над операцией с базой данных". Промо

Включает (выключает) регистрацию событий отказа доступа в журнале регистрации.

1 стартмани

12.01.2011 40385 368 nexts 32

Наследование ролей в профилях групп доступа в конфигурациях на базе БСП

С помощью данной доработки можно создать новый профиль групп доступа, с наследованием ролей от базового (поставляемого) профиля. В созданном профиле можно добавить или исключить какие-либо роли относительно базового профиля.

1 стартмани

15.03.2019 13567 18 ids79 1

PasswordHashViewer - просмотр хэшей пользовательских паролей

Программа для просмотра хэшей паролей пользователей в файловых и клиент-серверных базах 1С. Зачем это нужно? Для их проверки на криптостойкость.

1 стартмани

25.02.2019 8858 13 GeraltSnow 5

Обезличивание базы ЗУП 3.1.*

Обработка по перемешиванию/скрытию конфиденциальной информации в базе ЗУП.

1 стартмани

05.02.2019 14542 85 Skin123 16

Права пользователей Промо

Кросс-таблица прав пользователей (подсистема "Управление доступом")

1 стартмани

10.05.2016 31807 105 inspam 4

Наводим порядок в Active Directory с помощью ЗУП / ЗИКГУ 3.1 (идентификация, отключение и актуализация учетных записей пользователей)

Продолжаем использовать ЗУП 3.1 совместно с LDAP во имя автоматизации работы системного администратора. В этот раз займемся аудитом учетных записей. Обработка производит сопоставление учетной записи с данными сотрудников из ЗУП, причем с учетом недавних событий (для перехода на ЗУП 3.1 чаще всего используется рекомендованный перенос, не включающий уволенных сотрудников) есть возможность использовать объединенные с помощью COM-соединения данные ЗУП 2.5 и ЗУП 3.1. Также в данной обработке есть возможность массовой корректировки, заполнения данных и отключения учетных записей. Перед использованием обработки для душевного спокойствия необходимо сделать резервную копию Active Directory любым удобным способом. Протестировано на ЗУП 3.1.6 - 3.1.8.

Читайте также: