Показать / скрыть оглавление

    Выдача разрешений на строки Колибри после вставки их в хранилище

    Задача

    После вставки строк в хранилище Колибри выдать на них разрешения для роли модуля Колибри.

    Исходные данные

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

    Сценарий решения задачи

    Решение задачи будет будет включать в себя два этапа:

    • Этап №1 — подготовка макроса Колибри, выполняющего выдачу разрешений.
    • Этап №2 — создание процесса, выполняющего загрузку данных в справочник и вызывающего макрос, будет включать шаги:
      1. Получение файла Excel.
      2. Преобразование входящего файла из Excel в табличные данные.
      3. Загрузка данных в Колибри.
      4. Передача данных в макрос и вызов его из процесса.

    Используемые узлы

    Прочитать файл
    Преобразовать из Excel
    Вставка строк Колибри
    Макрос Колибри

    Построение и настройка процесса

    1. Данные из процесса будут переданы в макрос Колибри в качестве входного объекта Views.InputTable.
      Создадим макрос Выдача разрешений.colibri.cs, в котором обработаем входной объект Views.InputTable, и на каждый его элемент будем выдавать разрешения на чтение для роли Менеджер.
      Добавим в макрос вывод сообщения log с количеством строк, на которые выданы разрешения. Сообщение будет выведено в журнале запуска процесса.

      var input = Views.InputTable;
      var cnt = 0;
      foreach(var r in input.Rows)
      {
          cnt++;
          SecurityService.SetPermission("online_shop.product", r.id, "Менеджер", RowPermission.Read);
      }
      log($"Роли Менеджер были выданы разрешения на просмотр {cnt} строк");
      
    2. Создадим и сохраним новый процесс.
    3. Для импорт данных из файла Excel получим его, для этого добавим узел Прочитать файл.
      Укажем название узла "Файл Товары.xlsx" и настроим свойства, указав сетевой путь до файла MS Excel.
    4. Для преобразования выходных данных узла "Файл Товары.xlsx" из потока байт в табличные данные добавим узел Преобразовать из Excel и соединим его входной порт с выходным портом узла "Файл Товары.xlsx".
    5. Настроим свойства узла Преобразовать из Excel.
    6. Для загрузки данных в Колибри добавим узел Вставка строк Колибри и соединим его входной порт с выходным портом узла "Преобразовать из Excel".
    7. Настроим свойства узла "Вставка строк Колибри".
    8. Выполним проверку процесса, при наличии ошибок исправим их.
    9. Запустим процесс в отладке для просмотра результатов узла "Вставка строк в Колибри".
    10. Для запуска из процесса макроса Колибри добавим узел Макрос Колибри. Для передачи в макрос вставленных строк соединим выходной порт узла "Вставка строк в Колибри" с входным портом узла "Макрос Колибри".
    11. У узла Макрос Колибри укажем название "Макрос Колибри. Выдача разрешений на вставленные строки" и настроим его свойства, указав имя созданного ранее макроса.
    12. Выполним проверку процесса, при наличии ошибок исправим их.
    13. Запустим процесс с сохранением.
      В журнале отмечен запуск макроса и выведено сообщение из него.
    Замечание

    Файл процесса "Загрузка справочника с выдачей разрешений"

    В начало страницы Справочная система Колибри. Группа компаний Октоника, 2022