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