Выгрузка-загрузка профилей групп доступа пользователей

Часто возникает необходимость перенести параметры доступа пользователей из одной базы в другую.
Что касается групп доступа и профилей доступа, то данная обработка — удобный помощник!
Она позволяет выгрузить в файл профиль доступа из одной базы и загрузить в другой (желательно аналогичной конфигурации).
Также есть возможность объединять выбранный профиль с данными из файла.
Задействована защита от случайного изменения предопределенных профилей, не рекомендованных к изменению.

Для переноса профиля групп доступа в другую базу необходимо

  1. Выбрать профиль в поле "Профиль доступа".
  2. Нажать кнопку "Выгрузить в файл".
  3. В другой базе лучше создать новый профиль и потом его выбрать в этой же обработке (запустив ее в этой базе)
  4. Нажать кнопку "Загрузить из файла".

(Далее для этот профиль можно использовать в Группе доступа)

Для объединения ролей 2 различных профилей необходимо сначала 1 профиль выгрузить в файл, затем, выбрав второй профиль, добавить в него роли из первого путем нажатия кнопки "Объединить с файлом"

Обработка использует выгрузку-загрузку профиля групп доступа в файл JSON. Тестировалась на платформах 8.3.10 и выше в конфигурациях БП 3.0 , ЗУП 3.1 , КА 2.

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

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

Обновил обработку в связи выходом БСП3

15 Comments

  1. 89530999004

    Спасибо. Очень пригодилась!

    Reply
  2. serg0776

    Не работает на БУХ 3.0.67.38

    ТекущаяРоль.Роль=Справочники.ИдентификаторыОбъектовМетаданных.ИдентификаторОбъектаМетаданныхПоПолномуИмени(«Роль.» + РольИзМассива.Значение);

    Такой функции нет ИдентификаторОбъектаМетаданныхПоПолномуИмени

    Reply
  3. YannikAlx

    (2) Спасибо за замечания!

    Доработал для конфигураций с БСП3

    Если вы пришлете путь куда вам прислать новую версию — я вышлю.

    Reply
  4. serg0776

    (3) Да вместо этого:

    //ТекущаяРоль.Роль=Справочники.ИдентификаторыОбъектовМетаданных.ИдентификаторОбъектаМетаданныхПоПолномуИмени(«Роль.» + РольИзМассива.Значение);
    

    Добавил это:

    Массив = Новый Массив;
    Массив.Добавить(«Роль.» + РольИзМассива.Значение);
    
    Идентификаторы = Справочники.ИдентификаторыОбъектовМетаданных.ИдентификаторыОбъектовМетаданных(Массив,,Истина);
    ТекущаяРоль.Роль = Идентификаторы.Получить(«Роль.» + РольИзМассива.Значение)

    и Всё нормал.

    Reply
  5. YannikAlx

    (4) ну да, все верно

    Reply
  6. NeSPEC

    Добрый день.

    Полезная обработка.

    Попробовал перенести профили групп доступа из демо: КА 2.4.8.79 в рабочую (более старую): КА 2.4.7.151

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

    Если автору интересно, то можно немного поправить код загрузки , чтобы он пропускал отсутствующие роли,

    например так (не претендую на оптимальность кода):

    МассивНаименований.Добавить(«Роль.»+Значения.Значение);
    

    Заменить на:

    ТекРоль=»»;
    Для  Каждого ИмяРоли ИЗ Метаданные.Роли    Цикл
    Если ИмяРоли.Имя=Значения.Значение тогда
    ТекРоль=ИмяРоли.Имя ;
    КонецЕсли;
    КонецЦикла;
    
    Если ТекРоль<>»» Тогда
    МассивНаименований.Добавить(«Роль.»+Значения.Значение);
    Иначе
    Сообщить(«Роль: «+Значения.Значение+» — не доступна»);
    КонецЕсли;
    

    Показать

    Reply
  7. Рамзес

    Спасибо! Очень помогла.

    Reply
  8. free-lancer-2018

    {ВнешняяОбработка.ВыгрузитьЗагрузитьПрофильДоступа.Форма.Форма.Форма(74)}: Метод объекта не обнаружен (ИдентификаторОбъектаМетаданныхПоПолномуИмени)

    Reply
  9. YannikAlx

    (10) У меня все прекрасно работает, у других тоже прекрасно работает (судя по отзывам)…

    Вы или давайте более полную информацию по ошибке, или ищите проблему сами….

    Может вы перепутали в части БСП что-то?

    Reply
  10. YannikAlx

    (10) Уточните хотя бы в какой конфигурации вы получили эту ошибку?

    Reply
  11. free-lancer-2018

    УТ11 последний релиз

    Reply
  12. YannikAlx

    (13) Вы скачали версию не для БСП3 , поэтому получили ошибку…

    Я только что тестировал обе обработки на УТ 11.4.10.62, та которая для последних версий конфигураций работает

    Уберите свой минус и пришлите в личку свою почту — я пришлю вам вторую обработку для БСП3…

    Reply
  13. korefano

    Офигенно

    Reply
  14. SergeySST

    Есть более универсальные обработки, например «выгрузка данных в XML». Она не ограничивается справочником «группы доступа», а всевозможные условия отбора данных для выгрузки хорошо реализуются при помощи запросов, встроенных в эту обработку.

    Reply
  15. YannikAlx

    (16) Когда нужно разрушить крепость стреляют из пушек…

    А когда нужно подстрелить воробья на подсолнухе — тоже пушку заряжать?

    Ну гораздо быстрее выбрать то что нужно и перегрузить из одной базы в другую…

    Ваша XML сможет перегрузить профили доступа из ЗУП 3.1.6 в ERP 2.4.10 ?

    Правильно не сможет без длительных танцев с бубнами про правила и не совпадения XDTO….

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *