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

    Загрузка справочника

    Задача

    Загрузить в справочник Колибри данные из файла MS Excel, с предварительной обработкой данных.

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

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

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

    Решение задачи будет заключаться в создании процесса, который будет включать следующие шаги:

    1. Получение файла Excel.
    2. Преобразование файла из Excel в табличные данные.
    3. Обработка ошибок исходных данных.
    4. Разбор примечания. То есть разделение примечания на части и создание на их основе новых строк товаров.
    5. Удаление дубликатов.
    6. Фильтрация данных по условию. Загрузить необходимо данные только с указанной ценой.
    7. Загрузка данных в Колибри.

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

    Прочитать файл
    Преобразовать из Excel
    Проекция
    Объединить
    Развернуть ячейки в строки
    Удалить дубликаты
    Фильтрация
    Вставка строк Колибри

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

    1. Создадим и сохраним новый процесс.
    2. Для обработки файла процессом добавим узел Прочитать файл.
      Укажем название узла "Файл Товары.xlsx" и настроим свойства, указав сетевой путь до файла MS Excel.
    3. Для преобразования выходных данных узла "Файл Товары.xlsx" из потока байт в формат Excel добавим узел Преобразовать из Excel и соединим его входной порт с выходным портом узла "Файл Товары.xlsx".
    4. Настроим свойства узла Преобразовать из Excel, установив название "Товары" и свойство "Пропускать строки с ошибками", чтобы при наличии таковых иметь возможность их обработать.
    5. Выполним проверку процесса, при наличии ошибок исправим их.
    6. Запустим процесс в отладке для просмотра результатов узла "Товары".
      Выходной порт 2 содержит таблицу с корректными данными:

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

      Исходные данные колонки "Цена, ₽/кг" имеют тип "Дробное число". Значение цены в строке "Дыня" не смогло быть приведено к дробному числу, поэтому строка была отнесена к ошибочным.
    7. Обработаем строки с ошибками, преобразовав значение колонки "Цена, ₽/кг" в дробное число.
      Для этого добавим узел Проекция и соединим его входной порт с выходным портом 3 узла "Товары".
    8. Настроим свойства узла Проекция, укажем название "Обработка ошибок" и добавим вычисляемую колонку "Цена, ₽/кг".
    9. Выполним проверку процесса, при наличии ошибок исправим их.
    10. Запустим процесс в отладке для просмотра результатов узла "Обработка ошибок".
    11. Для объединения данных без ошибок и данных с обработанными ошибками добавим узел Объединение и соединим его первый входной порт с выходным портом 2 узла "Товары", из которого выходят данные без ошибок, и соединим второй входной порт узла "Объединение" с выходным портом узла "Обработка ошибок", из которого получены данные с обработанными ошибками.
    12. Выполним проверку процесса, при наличии ошибок исправим их.
    13. Запустим процесс в отладке для просмотра результатов узла "Объединение".
    14. Для разделения значения колонки "Примечание" на составные части и создания на их основе новых строк, добавим узел Развернуть ячейки в строки. Соединим его входной порт с выходным портом узла "Объединение".
    15. Настроим свойства узла Развернуть ячейки в строки, укажем название "Развернуть примечание в строки".
      Значения в колонке "Примечание" перечислены через запятую, поэтому в качестве режима разворачивания укажем Разделитель, а в качестве условия разворачивания — ,.
    16. Выполним проверку процесса, при наличии ошибок исправим их.
    17. Запустим процесс в отладке для просмотра результатов узла "Развернуть примечание в строки".
    18. Для удаления дубликатов строк добавим узел Удалить дубликаты и соединим его входной порт с выходным портом "Развернуть примечания в строки".
    19. Настроим свойства узла Удалить дубликаты, перечислив ключевые колонки для определения уникального набора строк.
    20. Для того, чтобы оставить только товары с указанной ценой, добавим узел Фильтрация и соединим его входной порт с портом "Удалить дубликаты".
    21. Настроим свойства узла Фильтрация, указав название "Товары с ценой" и условие фильтрации.
    22. Выполним проверку процесса, при наличии ошибок исправим их.
    23. Запустим процесс в отладке для просмотра результатов узла "Товары с ценой".
    24. Для вставки полученных строк в Колибри добавим узел Вставка строк Колибри и соединим его входной порт с выходным портом узла "Товары с ценой".
    25. Настроим свойства узла Вставка строк Колибри и зададим соответствие исходных колонок входной таблицы колонкам сущности.
    26. Выполним проверку процесса, при наличии ошибок исправим их.
    27. Запустим процесс с сохранением. Строки были вставлены в Колибри.
    Замечание

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

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