Отправка файлов по почте
Задача
Импортировать данные в справочник и отправить оповещение по электронной почте, прикрепив к письму файл с результатом импорта.
Исходные данные
Решение задачи будем рассматривать на примере импорта данных из файла Excel Товары.xlsx
в справочник Колибри, с последующей отправкой электронного письма с результатом импорта.
Перед тем как приступить к решению задачи, ознакомимся с имеющимся файлом Товары.xlsx
.
Сценарий решения задачи
Решение задачи будет заключаться в создании процесса, который будет включать следующие шаги:
- Получение файла Excel.
- Преобразование входящего файла из Excel в табличные данные.
- Загрузка данных в Колибри.
- Определение количества вставленных в Колибри строк.
- Получение данных об адресате письма из базы Колибри.
- Формирование сообщения письма на основе количества вставленных строк.
- Формирование вложения на основе вставленных в Колибри строк.
- Отправка письма.
Используемые узлы
Прочитать файл
Преобразовать из Excel
Вставка строк Колибри
Преобразовать в Excel
Получить строки Колибри
Группировка
Преобразовать в Объект
Проекция
Отправка почты
В процессе будет использован объект как расчетный параметр в формуле узла.
Построение и настройка процесса
- Создадим и сохраним новый процесс.
- Для импорта данных из файла Excel получим его, для этого добавим узел Прочитать файл.
Укажем название узла "Файл Товары.xlsx" и настроим свойства, указав сетевой путь до файла MS Excel. - Для преобразования выходных данных узла "Файл Товары.xlsx" из потока байт в табличные данные добавим узел Преобразовать из Excel и соединим его входной порт с выходным портом узла "Файл Товары.xlsx".
- Настроим свойства узла Преобразовать из Excel.
- Для загрузки данных в Колибри добавим узел Вставка строк Колибри и соединим его входной порт с выходным портом узла "Преобразовать из Excel".
- Настроим свойства узла "Вставка строк Колибри".
- Выполним проверку процесса, при наличии ошибок исправим их.
- Запустим процесс в отладке для просмотра результатов узла "Вставка строк в Колибри".
- Для определения количества вставленных в Колибри строк сгруппируем их без ключевых колонок и посчитаем агрегат.
Для этого добавим узел Группировка и соединим его входной порт с выходным портом узла "Вставка строк в Колибри". - У узла Группировка укажем название "Количество вставленных строк" и настроим свойства, добавив в итоги колонку id и выбрав агрегатор "Количество значений".
- Выполним проверку процесса, при наличии ошибок исправим их.
- Запустим процесс в отладке для просмотра результатов узла "Количество вставленных строк".
- Для получения данных об адресате письма добавим узел Получить строки Колибри.
- У узла Получить строки Колибри укажем название "Менеджеры" и настроим свойства.
- Запустим процесс в отладке для просмотра результатов узла "Менеджеры".
- Сообщение электронного письма будем формировать с помощью добавления вычисляемой колонки к выходным данным узла "Менеджеры", посредством узла Проекция".
Для этого добавим узел "Проекция" и соединим его входной порт с выходным портом "Менеджеры". - Для использования результата узла "Количество вставленных строк" в вычисляемой колонке узла "Проекция"сначала преобразуем результат в объект.
Для этого добавим узел Преобразовать в Объект и соединим его входной порт с выходным портом узла "Количество вставленных строк". - Для использования в вычисляемой колонке узла "Проекция" значений объекта, создадим у него порт "Параметр формулы".
- Соединим выходной порт узла "Преобразовать в Объект" с входным портом №3 узла "Проекция".
Объект будет доступен в узле "Проекция" по имени "ФП3". - У узла Проекция укажем название "Проекция — Формирование темы, сообщения" и добавим вычисляемую колонку. В формуле колонки сформируем текст сообщения электронного письма, используя значение объекта
ФП3
. - Добавим в узле "Проекция — Формирование темы, сообщения" вычисляемую колонку "Тема", в формуле которой укажем
'Импорт справочника Товары'
. - Выполним проверку процесса, при наличии ошибок исправим их.
- Запустим процесс в отладке для просмотра результатов узла "Проекция — Формирование темы, сообщения".
- Для отправки в письме вложения со вставленными строками, преобразуем выходные данные узла "Вставка строк в Колибри" в файл Excel.
Для этого добавим узел Преобразовать в Excel, соединим его входной порт с выходным портом узла "Вставка строк в Колибри".
- Настроим свойства узла "Преобразовать в Excel".
- Для отправки электронного письма добавим узел Отправка почты и соединим его входной порт с выходным узлом "Проекция — Формирование темы, сообщения", из которого будут взяты адресаты, тема и текст сообщения.
- Настроим свойства "Отправка почты" и добавим одно вложение, указав для него номер входного порта и название файла
import_result.xlsx
. - Подадим на входной порт
import_result.xlsx
узла "Отправка почты" файл, полученный на выходном порту узла "Преобразовать в Excel". - Выполним проверку процесса, при наличии ошибок исправим их.
- Запустим процесс с сохранением.
Строки были вставлены в Колибри. Письмо о результате импорта было отправлено.