Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Сергей Горшенин, «‎Конвертация данных Ozon»‎

Ozon Tech
October 14, 2024
14

Сергей Горшенин, «‎Конвертация данных Ozon»‎

Ozon Tech

October 14, 2024
Tweet

More Decks by Ozon Tech

Transcript

  1. 2 Сергей Горшенин @sgorshenin Ведущий разработчик 1С Группа разработки международных

    решений 1С Обо мне Опыт более 15 лет В Ozon 3 года Решаю задачи по разработке новых документов и их отражению в бухгалтерском учёте Разрабатываю инструменты интеграции баз 1С с внешними системами Расследую причины медленной работы и занимаюсь оптимизацией программного кода 1С
  2. Задачи группы разработки международных решений 1С AGENDA 3 01 Обзор

    инструментов конвертации данных от 1С 02 Конвертация данных Ozon 03 Обзор интерфейса 04
  3. 5 Мы развиваем и поддерживаем конфигурации Беларусь 1С: Бухгалтерия 8

    для Беларуси Казахстан 1С: Бухгалтерия 8 для Казахстана Армения 1С: Комплексная автоматизация Узбекистан 1С: Бухгалтерия 8 для Узбекистана Кыргызстан 1С: Бухгалтерия 8 для Кыргызстана Турция 1C: Drive Основной вариант встроенного языка: EN Сербия 1C: Drive Основной вариант встроенного языка: EN Израиль 1C: Drive Основной вариант встроенного языка: EN ОАЭ FirstBIT ERP 1С: ERP Управление предприятием
  4. 6 Коммиты Процентное распределение по предметным областям — топ-50 самых

    часто изменяемых объектов конфигурации Каждая пятая задача связана с механизмами конвертации данных Общие механизмы 27% Документы 21% Конвертация данных 20% Справочники 13% Отчёты 6% МСФО 5% Сервисные механизмы 5% Транспорт 4%
  5. 9 Основные решения Обмен данными, прикладные технологии Универсальная технология обмена

    — конфигурация «Конвертация данных 2.1» Универсальная технология обмена — конфигурация «Конвертация данных 3.1»
  6. 10 Конвертация данных 2.1 XML — файл, который включает в

    себя не только данные, но и описание правил конвертации для текущих данных
  7. 12 Схематично о конвертациях от 1С 01 XML 04 Формат

    обмена 02 Конфигурация- источник 03 Выгрузка: правила конвертации 07 Объект 1С 01 XML 04 Конфигурация- приёмник 02 Конфигурация источник 03 Правила конвертации 05 Объект 1С Конвертация данных 3.1 Конвертация данных 2.1 06 Конфигурация- приёмник 05 Загрузка: правила конвертации
  8. 14 Критика 01 Нет возможности работать с произвольным форматом данных

    02 Конвертации данных производят выгрузку/ загрузку данных в 1 поток
  9. 15 Критика 01 Нет возможности работать с произвольным форматом данных

    02 Конвертации данных производят выгрузку/ загрузку данных в 1 поток 03 При сложном поиске ссылочных данных — результаты поиска не кэшируются
  10. 16 Критика 01 Нет возможности работать с произвольным форматом данных

    02 Конвертации данных производят выгрузку/ загрузку данных в 1 поток 03 При сложном поиске ссылочных данных — результаты поиска не кэшируются 04 Зависимость от версии БСП, языка кода и обновления
  11. 18 Основные требования 01 Входящие данные — это всегда произвольный

    формат 02 Многопоточная загрузка данных 03 Кэширование поиска ссылочных данных 04 Нет зависимости от БСП
  12. 19 Основные требования 01 Входящие данные — это всегда произвольный

    формат 02 Многопоточная загрузка данных 03 Кэширование поиска ссылочных данных 04 Нет зависимости от БСП
  13. 20 Входящие данные Конвертация данных Ozon в качестве входящих данных

    принимает в себя коллекцию данных «Соответствие».
  14. 21 Основные требования 01 Входящие данные — это всегда произвольный

    формат 02 Многопоточная загрузка данных 03 Кэширование поиска ссылочных данных 04 Нет зависимости от БСП
  15. 22 Многопоточная загрузка данных Конвертация данных Ozon работает с уже

    разобранной коллекцией входящих данных (тип «Соответствие»). Разобранные данные распределяются по разным потокам.
  16. 23 Основные требования 01 Входящие данные — это всегда произвольный

    формат 02 Многопоточная загрузка данных 03 Кэширование поиска ссылочных данных 04 Нет зависимости от БСП
  17. 24 Кэширование поиска ссылочных данных Результат поиска записывается в коллекцию

    «КэшПоискаСсылок», где ключ — это строка, которая содержит в себе имя таблицы, имена реквизитов, к которым будут применены условия и значения условий. Пример Алгоритм
  18. 25 Основные требования 01 Входящие данные — это всегда произвольный

    формат 02 Многопоточная загрузка данных 03 Кэширование поиска ссылочных данных 04 Нет зависимости от БСП
  19. 26 Нет зависимости от БСП Подсистема «Конвертации данных Ozon» использует

    самые базовые подсистемы БСП, которые не меняются от версии релиза БСП.
  20. 29 Помощник формирования кода модуля правил конвертации Обработка позволяет на

    основании входящих данных сгенерировать общий модуль правил конвертации.
  21. 30 Помощник формирования кода модуля правил конвертации Полученный код конвертации

    при необходимости нужно доработать в режиме конфигуратора.
  22. 31 Помощник формирования кода модуля правил конвертации В режиме конфигуратора,

    при необходимости, вносим изменения в события: • ПриКонвертации Данных • ПослеДобавления Строки ТЧ • ПередЗаписью • ПослеЗаписи
  23. 34 Производительность основного алгоритма Если при конвертации нам не требуется

    поиск каких-либо вспомогательных ссылок, то конвертация JSON в объект 1С занимает 0,016 сек 0.016 сек
  24. 35 Конвертация данных Ozon 01 XML 04 Формат обмена 02

    Конфигурация- источник 03 Выгрузка: правила конвертации 07 Объект 1С 01 XML 04 Конфигурация- приёмник 02 Конфигурация источник 03 Правила конвертации 05 Объект 1С Конвертация данных 3.1 Конвертация данных 2.1 01 JSON 02 Соответствие 03 Правила конвертации 04 Объект 1С 06 Конфигурация- приёмник 05 Загрузка: правила конвертации
  25. Решение 1 Решение 2 36 Усложнять – просто, упрощать –

    сложно Задача: реализовать загрузку данных в 1С УТ из самописной конфигурации 1С Автотранспорт и WMS склада • Проверяем наличие в конфигурациях 1С подсистемы БСП версии 2.2.5 и выше • Разворачиваем конфигурацию 1С КД 3 и загружаем в нее XDTO пакет EnterpriseData и метаданные конфигураций 1С УТ и 1С Автотранспорт • Пишем правила по выгрузке из 1С Автотранспорт в EnterpriseData и правила по загрузке из EnterpriseData в 1С УТ • Просим WMS склада выгружать в XML в формате XSD схемы EnterpriseData… • Выгружаем необходимые нам данные из 1С Автотранспорт и WMS склада в JSON • 1С УТ привносим подсистему по конвертации Соответствий в Объект 1С • На стороне 1С УТ пишем алгоритм по разбору JSON в Соответствие и для этого соответствия описываем правила конвертации в объект 1С