Скрипт для определения существования ролей в хранилищах конфигураций

07.05.24

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

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

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

Наименование Файл Версия Размер
Скрипт для определения существования ролей
.os 25,57Kb
0
.os 1.1 25,57Kb Скачать
ВыгрузитьJSON
.epf 8,12Kb
0
.epf 8,12Kb Скачать

Предисловие

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

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

Скрипт позволяет на основании списка конфигураций сформировать word документ, с отметками по ролям:

 

Результат работы скрипта

 

Параметры скрипта

Разберем параметры скрипта, которые необходимы для его работы:

 

Параметры

 

json_path

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

{
    "configurations_options": [
        {
            "name": "<Имя конфигурации>",
            "eng_name": "<Английское наименование>",
            "code": "<Код карточки конфигурации>",
            "storage_adress": "<Путь к хранилищу конфигурации>"
        },
   ... (Неограниченное количество конфигураций)
    ]
}

save_path

Каталог в который будут сохраняться .cf файлы конфигураций хранилища, для дальнешейго поиска ролей.

login & password

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

К остальным параметрам комментарий не требуется.

 

Зависимости библиотек

Для корректной работы скрипта необходимы следующие библиотеки OneScript:

Важно!

В классе МенеджерХранилищаКонфиуграции необходимо прописать процедуру:

// Устанавливает используемую версию и разрядность платформы 1С
//
// Параметры:
//   МаскаВерсии - Строка - маска версии платформы 1С
//   Разрядность - РазрядностьПлатформы \ Неопределено - разрядность платформы 1C 
//
Процедура ИспользоватьВерсиюПлатформы(МаскаВерсии, Разрядность = Неопределено) Экспорт

	УправлениеКонфигураторомХранилища.ИспользоватьВерсиюПлатформы(МаскаВерсии, Разрядность);

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

Это необходимо для того, если на машине откуда собираетесь запускать скрипт установлено несколько платформ. Например версии хранилищ у вас работают на 8.3.22, а у вас установлена 8.3.24. v8storage автоматически берет последнюю версию. Если же у вас все версии совпадают, то можно не модернизировать v8storage. И при запуске скрипта в параметр -version нечего передавать не надо.

Выбор проверяемых ролей

Настройка переопределения проверяемых ролей выполняется в функции:

// Получает имена проверяемых ролей
// Есть возможность заполнения своми именами ролей
Функция ПолучитьИменаПроверяемыхРолей()
	
	Лог.Отладка("Получение имен проверяемых ролей");
	
	ИменаРолей = Новый Массив;
	
	ИменаРолей.Добавить("МояКомпания_Роль1");
	ИменаРолей.Добавить("МояКомпания_Роль2");
	ИменаРолей.Добавить("МояКомпания_Роль3");
	
	Возврат ИменаРолей;
	
КонецФункции

 

Формирование JSON структуры конфигураций

У нас ведется учет конфигураций и для выгрузки JSON файла я пользовался самописной обработкой ВыгрузитьJSON.epf.

 

РаботаОбработки

 

По итогу был получен JSON файл следующего вида:

 

JSON

 

В случае если на какой-то из конфигураций скрипт упал, формируется файл temp_results.json, в котором можно посмотреть, на каком хранилище мы освободились, и продолжить загрузку.

По окончании рабочего дня оставляем скрипт в работе и с утра радуемся выполненной работе :)

 

От автора

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

скрипт onescript 1script script роли проверка поиск

См. также

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

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

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

10000 руб.

02.09.2020    129531    700    390    

749

Автоподбор ролей для профилей и групп доступа в любых типовых базах 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    4351    20    1    

45

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

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

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

10000 руб.

10.11.2023    5206    14    2    

39

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

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

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

5700 руб.

27.05.2021    33699    208    89    

168

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

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

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

2520 руб.

21.05.2019    1693019    557    193    

135

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

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

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

9360 руб.

14.09.2022    5951    7    4    

9

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

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

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

19200 руб.

29.11.2019    24917    14    8    

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