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

    Запуск подпроцесса

    Задача

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

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

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

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

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

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

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

    Замечание

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

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

    Получить строки Колибри
    Проекция
    Отправка почты
    Прочитать файл
    Преобразовать из Excel
    Вставка строк Колибри
    Преобразовать в CSV
    Подпроцесс
    Формула

    В процессе будет использован параметр процесса типа "Файл" и параметры процесса в формулах других узлов.

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

    Этап №1. Создание вспомогательного процесса по отправке электронной почты

    1. Создадим и сохраним новый процесс.
    2. Создадим параметр процесса типа "Файл", который далее будет являться вложением отправляемого письма.
    3. Создадим параметр процесса "Импортируемый справочник", который будет использоваться для формирования темы и сообщения электронного письма.
    4. Для получения данных об адресате письма добавим узел Получить строки Колибри, установим название "Менеджеры" и настроим свойства.
    5. Тема и сообщение электронного письма будем формировать с помощью добавления вычисляемой колонки к выходным данным узла "Менеджеры", посредством узла Проекция.
      Для этого добавим узел "Проекция" и соединим его входной порт с выходным портом "Менеджеры".
    6. У узла Проекция укажем название "Проекция. Формирование темы, сообщения" и добавим две вычисляемые колонки, "Тема" и "Сообщение", в формулах которых сформируем соответствующие значения, с использованием параметра процесса "Импортируемый справочник".


    7. Выполним проверку процесса, при наличии ошибок исправим их.
    8. Для отправки электронного письма добавим узел Отправка почты и соединим его входной порт с выходным узлом "Проекция. Формирование темы, сообщения", из которого будут взяты адресаты, тема и текст сообщения.
    9. Настроим свойства "Отправка почты" и добавим одно вложение, указав для него номер входного порта и название файла import_result.csv.
    10. Для передачи во вложение электронного письма входящего файла присоединим параметр "Входящий CSV" к входящему порту import_result.csv узла "Отправка почты".
    11. Выполним проверку процесса, при наличии ошибок исправим их.
    12. Созданный вспомогательный процесс может быть вызван из любых процессов по импорту различных справочников.

    Этап №2. Создание основного процесса по импорту данных, вызывающего вспомогательный процесс

    1. Создадим и сохраним новый процесс.
    2. Для импорта данных из файла Excel получим его, для этого добавим узел Прочитать файл.
      Укажем название узла "Файл Товары.xlsx" и настроим свойства, указав сетевой путь до файла MS Excel.
    3. Для преобразования выходных данных узла "Файл Товары.xlsx" из потока байт в табличные данные добавим узел Преобразовать из Excel и соединим его входной порт с выходным портом узла "Файл Товары.xlsx".
    4. Настроим свойства узла Преобразовать из Excel.
    5. Для загрузки данных в Колибри добавим узел Вставка строк Колибри и соединим его входной порт с выходным портом узла "Преобразовать из Excel".
    6. Настроим свойства узла "Вставка строк Колибри".
    7. Выполним проверку процесса, при наличии ошибок исправим их.
    8. Запустим процесс в отладке для просмотра результатов узла "Вставка строк в Колибри".
    9. Для передачи в подпроцесс, выполняющий отправку электронных писем, файла с результатом импорта преобразуем выходные данные узла "Вставка строк Колибри" в формат CSV.
      Для этого добавим узел Преобразовать в CSV и соединим его входной порт с выходным портом узла "Вставка строк в Колибри".
    10. Настроим свойства узла "Преобразовать в CSV".
    11. Для запуска подпроцесса, созданного на этапе №1, добавим узел Подпроцесс.
    12. У узла Подпроцесс укажем название "Подпроцесс "Отправка почты" и настроим свойства, выбрав из списка процессов созданный ранее вспомогательный процесс.
    13. После указания подпроцесса, который содержит параметры, у узла "Подпроцесс "Отправка почты" автоматически были добавлены входные порты, на которые необходимо подать соответствующие данные.
    14. Для передачи в подпроцесс файла с результатом импорта на входной порт №1 узла "Подпроцесс "Отправка почты" подадим выходные данные узла "Преобразовать в CSV".
    15. Названия импортируемого справочника передадим в подпроцесс с помощью узла Формула. Добавим его, укажем название "Формула: название импортируемого справочника" и соединим его выходной порт с входным портом №2 узла "Подпроцесс "Отправка почты".
    16. У узла "Формула: название импортируемого справочника" в тексте формулы укажем название импортируемого справочника, 'Товары'.
    17. Выполним проверку процесса, при наличии ошибок исправим их.
    18. Запустим процесс с сохранением. В журнале отмечен запуск подпроцесса.
    19. Строки были вставлены к Колибри. Письмо о результате импорта было отправлено.
    Замечание

    Файл подпроцесса по отправке почты
    Файл основного процесса по импорту данных

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