Консоль запросов RLS

Публикация № 390087

Разработка - Инструментарий разработчика - Консоль запросов

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

Консоль запросов RLS

Изменения от 08.12.2019г. Изменена загрузка ролей из xml. Проверено и исправлено для версии платформы 8.3.14.1694. Во внешнюю обработку «Формирование текста запроса RLS» добавлена возможность посмотреть всех пользователей для выбранной роли.

Поставка включает в себя конфигурацию и внешнюю обработку.

Консоль можно использовать для анализа текста запроса RLS, который будет выполнен к данным под конкретным пользователем.

Например, мы смотрим ограничение доступа «Чтение» для некоторой роли типовой конфигурации 1С:

В зависимости от значения параметра сеанса (или может функциональной опции) будет вызван либо шаблон «ДляОбъекта», либо шаблон «ПоЗначениям».

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

Порядок преобразования следующий:

  • Замена всех вызовов шаблонов на текст шаблонов. Поддерживается ситуация, когда в одном ограничении доступа указано несколько шаблонов, в том числе, содержащие именованные параметры;
  • Замена вызовов препроцессора значениями (#ИмяТекущейТаблицы и пр.);
  • Вычисление функций СтрСодержит() в тексте;
  • Вычисление инструкций #Если…#КонецЕсли и пр.

Для работы выгружаем описание ролей в xml файлы из конфигуратора с помощью опции «Выгрузить конфигурацию в файлы».

Если опции нет в интерфейсе, то её можно отобразить с помощью настройки главного окна.

Загружаем описание ролей в базу «Консоль запросов RLS».

После загрузки открываем форму консоли.

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

Переходим на закладку «консоль» и нажимаем «сформировать». Получаем промежуточный текст запроса для внешней обработки.

Открываем обработку «Формирование текста запроса RLS» в нужной базе под нужным пользователем (это важно, т.к. в тексте запроса участвуют параметры сеанса и функциональные опции, настроенные для конкретного пользователя).

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

Скачать файлы

Наименование Файл Версия Размер
Консоль запросов RLS:
.rar 469,65Kb
08.12.19
9
.rar 469,65Kb 9 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. BigClock 24.08.15 10:55 Сейчас в теме
Несколько вопросов.
1. Чем отличается от http://infostart.ru/public/264989/
2. Можно ли адаптировать эту консоль для 8.3.5 или даже 8.2?
3. Можно ли адаптировать под выгрузку команды "Выгрузить файлы конфигурации"?
При использовании команды "Выгрузить конфигурацию в файлы" выгружается вся конфигурация,
а при использовании "Выгрузить файлы конфигурации" можно самому выбрать выгружаемые объекты.
ivanov660; +1 Ответить
2. Rioneri 70 24.08.15 22:54 Сейчас в теме
(1) BigClock,
1. Судя по описанию, в http://infostart.ru/public/264989/ разбирается текст шаблона с подстановкой параметров, а здесь - текст ограничения доступа, в котором шаблоны могут как присутствовать так и нет (также шаблонов может быть несколько), также здесь представлена конфигурация, а не внешняя обработка (это более удобно в ряде случаев);
2. Адаптировать под предшествующие версии можно, если переопределить СтрНайти();
3. Адаптировать под "Выгрузить файлы конфигурации" можно минимальными усилиями. Со стороны прав доступа выгружаемые конфигуратором файлы схожи.

P.S. Немного посмотрел на http://infostart.ru/public/264989/ оставил пару комментариев
3. kasper076 49 25.08.15 08:27 Сейчас в теме
1С:Предприятие 8.3 (8.3.6.2076)

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


Ну и соответственно поле "Ограничение доступа" тоже не заполнено.
Что я делаю не так?
4. Rioneri 70 25.08.15 21:23 Сейчас в теме
(3) kasper076,
Всё так. Просто из БП 2.0 загрузилось не очень красиво (сам применял для ERP). При выборе из справочника "Поля ограничения доступа" нужно подобрать правильный элемент. Сделать это можно по коду элемента справочника, а код посмотреть с помощью регистра сведений «ограничения доступа».

http://imhocloud.com/image/7XSO

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

http://imhocloud.com/image/7XSp
5. kasper076 49 25.08.15 22:05 Сейчас в теме
(4) спасибо. Направление ясно.
6. kasper076 49 26.08.15 09:51 Сейчас в теме
Вот вариант обработки для обычных форм версий 8.3.5 и младше. Переопределена функция "СтрНайти()":
Функция СтрНайти(Знач Строка, ПодстрокаПоиска, НаправлениеПоиска = Неопределено, НачальнаяПозиция = 1, НомерВхождения = 1)
	
	Строка			= ВРег(Строка);
	ПодстрокаПоиска	= Врег(ПодстрокаПоиска);
	
	Заглушка = "";
	ДлинаПодстроки	= СтрДлина(ПодстрокаПоиска);
	
	Для Инд = 1 По ДлинаПодстроки Цикл
		Заглушка = Заглушка + " ";
	КонецЦикла;
	
	Для Инд = 1 По НомерВхождения - 1  Цикл
		Позиция = Найти(Строка, ПодстрокаПоиска);
		Строка = Сред(Строка, 1, Позиция - 1) + Заглушка + Сред(Строка, Позиция + ДлинаПодстроки); 
	КонецЦикла;
	
	Возврат Найти(Строка, ПодстрокаПоиска);
	
КонецФункции	
Показать

Испугавшись праведного гнева гуру 1С, переписал с использованием регулярных выражений:
Функция СтрНайти(Знач Строка, ПодстрокаПоиска, НаправлениеПоиска = Неопределено, НачальнаяПозиция = 1, НомерВхождения = 1)
	
	RegExp = Новый COMОбъект("VBScript.RegExp");// создаем объект для работы с регулярными выражениями
	RegExp.MultiLine	= Истина;			// истина — текст многострочный, ложь — одна строка
	RegExp.Global		= Истина;			// истина — поиск по всей строке, ложь — до первого совпадения
	RegExp.IgnoreCase	= Истина;			// истина — игнорировать регистр строки при поиске
	Шаблон				= ПодстрокаПоиска;	//шаблон проверки 
	RegExp.Pattern		= Шаблон;    		// шаблон (регулярное выражение)
	Кол_воВхождений		= RegExp.Execute(Строка);
	Позиция = Кол_воВхождений.Item(НомерВхождения - 1).FirstIndex + 1;	
	
	Возврат Позиция;
	
КонецФункции	
Показать
Прикрепленные файлы:
ФормированиеТекстаЗапросаRLS_8_2.epf
defini; Леонов Александр; hdv; dyuha; Rioneri; +5 Ответить
7. premierex 28.08.15 08:08 Сейчас в теме
(6) kasper076, а вот так разве не проще?
Функция СтрНайти(Знач Строка, ПодстрокаПоиска, НаправлениеПоиска = Неопределено)
    Возврат Найти(Строка, ПодстрокаПоиска);
КонецФункции    


Вот описание возвращаемого значения функции Найти()

Тип: Число.
Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0.
9. kasper076 49 29.08.15 22:13 Сейчас в теме
(7) premier, проще... Если, конечно, нужно найти первое вхождение. А если, к примеру, 3-е?
11. premierex 02.09.15 13:58 Сейчас в теме
(9) kasper076, согласен, если требуется необходимое по счёту вхождение найти.
Тогда следует ещё проверку ввести чтобы Кол_воВхождений.SubMatches.Count не оказалось меньше, чем НомерВхождения, иначе функция в исключение вылетит (если уж, испугавшись праведного гнева гуру 1С, писать :)).
kasper076; +1 Ответить
13. kasper076 49 03.09.15 12:49 Сейчас в теме
(11) premier, вот знал же, что гуру найдут к чему придраться )))) Пасиб. Исправлю обязательно.
12. premierex 02.09.15 14:41 Сейчас в теме
(9) kasper076, наврал немного: вместо Кол_воВхождений.SubMatches.Count следует использовать Кол_воВхождений.Count
8. alex_4x 81 28.08.15 18:07 Сейчас в теме
Вот это вещь!
Обязательно внимательно ознакомлюсь.
Для толстого клиента 8.2 уже не делаете?
10. kasper076 49 31.08.15 08:35 Сейчас в теме
Адаптировал под 8.3.4 Думаю и на 8.2 будет работать. Добавил отборы в форме "Консоль запросов". Терь если конфигураций несколько, то чуток удобнее заполнять настройки. Постараюсь еще под обычные формы переделать.
P.S. Автору еще раз спасибо. и за проделанную работу, и за знания полученные в процессе изучения этого продукта.
Прикрепленные файлы:
RLS_upd.cf
14. kalyaka 531 30.12.15 11:30 Сейчас в теме
Прошу автора выложить материалы в zip архиве, т.к. файл с расширением .exe не пропускают программы защиты
15. rygov 23.03.16 18:43 Сейчас в теме
Видимо в 8.3.7 поменяли структуры выгрузки конфигурации - надо исправить строку:
НачатьПоискФайлов(Новый ОписаниеОповещения("ОбработчикЗагрузкиФайлов", ЭтотОбъект, ПараметрыЗагрузки), Объект.КаталогВыгрузки, "Role.*Rights.xml");

на
НачатьПоискФайлов(Новый ОписаниеОповещения("ОбработчикЗагрузкиФайлов", ЭтотОбъект, ПараметрыЗагрузки), Объект.КаталогВыгрузки, "Rights.xml",Истина);
acanta; dr2c; +2 Ответить
16. Lupeykin 5 04.12.19 07:52 Сейчас в теме
После загрузки в консоль/настройки, роль пусто и поля ограничения пусто, ничего в этих справочниках нет.
Прикрепленные файлы:
17. Rioneri 70 06.12.19 09:30 Сейчас в теме
(16) ок, в выходные посмотрю
18. Rioneri 70 08.12.19 02:07 Сейчас в теме
(16) Ответ у rygov (15). После изменения структуры в 8.3.7 консоль не обновлялась. Сейчас обновил.
19. zeegin 45 17.12.19 18:46 Сейчас в теме
Кажется, в условиях динамического построения правил RLS в БСП это не нужно.
20. Rioneri 70 18.12.19 11:45 Сейчас в теме
(19) Динамика БСП - это запрос к регистрам сведений, заполненным на основании групп доступа? Так это и является объектом анализа.
21. zeegin 45 18.12.19 11:47 Сейчас в теме
(20) А что тут анализировать? Запрос всегда будет один и тот же, потому что шаблон РЛС один и тот же.
А если хочешь анализировать логику - в поставке БСП есть обработка УправлениеДоступом которая поможет.
22. Rioneri 70 18.12.19 14:45 Сейчас в теме
(21) Запрос будет разный, т.к. формирование текста запроса зависит от функциональных опций, параметров сеанса, настроек профилей и групп доступа.
23. zeegin 45 18.12.19 14:48 Сейчас в теме
(22) В новом RLS он всегда будет к одним и тем же регистрам ключей, который рассчитываются в фоне.
24. Rioneri 70 18.12.19 14:58 Сейчас в теме
Что такое регистры ключей? Что значит в новом RLS? RLS в платформе не менялся. Что может рассчитываться в фоне, когда проверяются права доступа?
Оставьте свое сообщение

См. также

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::Права 1cv8.cf Россия Абонемент ($m) Роли и права

Лёгкий отчёт, предназначенный для анализа прав доступа к метаданным конфигурации. Написан без использования БСП (Библиотека стандартных подсистем).

5 стартмани

31.01.2020    607    1    v_elkin    8       

Копирование настроек и дополнительных прав пользователей

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 УПП1 Россия Абонемент ($m) Роли и права

Модификация обработки из https://infostart.ru/public/204756/. Не копируется основной ответственный, а кроме настроек копируются и дополнительные права.

1 стартмани

28.01.2020    513    FullMoon    2       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Конструктор запросов при внешнем подключении

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Консоль запросов Прочие инструменты разработчика

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

1 стартмани

23.01.2020    780    2    falcon_wild    1       

Автоматическое создание ролей (объектов метаданных)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Роли и права

Обработка позволяет создать 2 роли на объекты метаданных (Чтение и Изменение).

2 стартмани

22.01.2020    889    1    kokorishvili    9       

Открыто голосование за доклады на INFOSTART MEETUP Krasnodar Промо

Выбирайте и голосуйте за самые интересные доклады, лучшие из них попадут в окончательную программу митапа. Голосование продлится до 30 января 2020 года.

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

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::УФ v8::Права 1cv8.cf Абонемент ($m) Роли и права

Показывает у каких пользователей активирована Роль или Права доступа.

1 стартмани

14.01.2020    785    t278    0       

Повторяющиеся логины пользователей

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Роли и права

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

1 стартмани

13.01.2020    707    bryantsev.yury    3       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Права на объект

Статья Программист Внешний отчет (ert,erf) v8 v8::Права 1cv8.cf Абонемент ($m) Роли и права

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

1 стартмани

07.01.2020    8262    59    sapervodichka    17       

Анализ прав и ролей пользователей (обычные и управляемые формы)

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::УФ v8::Права 1cv8.cf Абонемент ($m) Роли и права

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

1 стартмани

16.12.2019    1254    4    Diana.dedov.91    0       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Перенос пользователей ИБ через COM-соединение (обычные и управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ v8::Права 1cv8.cf Россия Windows Абонемент ($m) Роли и права

Необходимо скопировать несколько или всех пользователей в новую ИБ? Обработка (обычное и управляемое приложение) сможет это сделать!

1 стартмани

29.11.2019    1405    15    Diana.dedov.91    0       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 Windows Абонемент ($m) Роли и права

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

2 стартмани

19.11.2019    1782    2    Shalnov    1       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

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

Отчеты и формы Системный администратор Внешняя обработка (ert,epf) v8 ERP2 Россия Абонемент ($m) Роли и права

Отображает права по ролям и пользователям на конкретный объект конфигурации.

1 стартмани

13.11.2019    1667    10    linder    9       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

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

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::Права v8::СКД 1cv8.cf Абонемент ($m) Роли и права

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

1 стартмани

08.11.2019    2256    9    Unk92    15       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Блокировка учетных записей пользователей, кроме "Администратор"

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Роли и права

Обработка блокирует все учетные записи, кроме учетной записи именуемой - "Администратор".

3 стартмани

04.11.2019    1525    2    Alex1053669    0       

Установка даты запрета на любое число дней

Инструменты и обработки no Внешняя обработка (ert,epf) v8 УТ11 Абонемент ($m) Администрирование данных 1С Роли и права

Примитивная обработка для установки даты запрета на произвольное число дней от текущей даты для всех пользователей

1 стартмани

29.10.2019    1968    3    Kutuzov    0       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Копирование дополнительных прав, групп доступа между пользователями/группами [1С:Розница]

Инструменты и обработки no Внешняя обработка (ert,epf) v8 Розница Розничная и сетевая торговля (FMCG) Абонемент ($m) Роли и права

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

1 стартмани

21.10.2019    2023    1    RocKeR_13    0       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Консоль запросов управляемая с конструктором

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Консоль запросов

Обработка Консоль запросов позволяет использовать полноценный функционал конструктора и получать план выполнения запроса. Так же главная отличительная особенность от аналогов - то что она работает.

1 стартмани

17.10.2019    2376    5    ogidni    27       

Расширение для установки запрета редактирования отдельных справочников и документов для Бухгалтерии 3.0

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права БП3.0 Россия БУ Абонемент ($m) Расширения Роли и права

Расширение позволяет устанавливать запрет на редактирование отдельного справочника или отдельного документа для отдельного пользователя базы данных. Написано для Бухгалтерии 3.0, проверено на релизе 3.0.72.70 и платформе 8.3.14.1854. Работает после применения ограничений профиля пользователя. Ограничивает даже права профиля с полными правами в открытом периоде.

1 стартмани

17.10.2019    2155    3    e-tixom    2       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

RLS - дубли условий в запросах к СУБД

Статья Программист Конфигурация (md, cf) v8 v8::Права 1cv8.cf Абонемент ($m) Практика программирования Роли и права

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

1 стартмани

07.10.2019    4985    13    geron4    4       

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

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Россия Windows Абонемент ($m) Роли и права

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

1 стартмани

02.10.2019    3271    3    user921814    6