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