по автоматизации доставки данных из 1С в DWH?
Поделитесь, плз, какие способы рассматривали, какой выбрали в итоге и почему?
я вижу такие:
- Встроенные инструмент 1С Рассылка отчётов (Можно отправлять по расписанию файлы в локальную или сетевую папку, на сервер/FTP ресурс (Excel/XML файлы) и оттуда забирать)
- Подключаться напрямую к базе 1С, выгружать в DWH и разбирать метаданные (НО риски нарушения лицензионного соглашения и сложная структура и именование таблиц/полей, ориентированная на машинную обработку, надо всё маппить со справочниками, где хранятся нормальные названия объектов)
- Собирать и обновлять представления на стороне 1С и забирать данные из них
- Написать обработчики на стороне 1С, которые по расписанию будут собирать человекочитаемые таблицы, сохранять их в БД 1С/внешнюю БД/.csv файлы, затем забирать в DWH прямым подключением
- Процедура в модуле, доступном для внешнего соединения
- Написать экспорт на C#
- Использовать API
- COM соединения
- Публикация базы 1С в вебе и подключение к ней по протоколу oData
- REST-интерфейс к БД (доступно в 1С от v8.3.5)
- Использовать коммерческий коннектор
Я тут не эксперт, возможно часть абсолютно не рабочие варианты
На предыдущем месте работы мы использовали обработки 1С, которые собирали данные из таблиц 1С, выгружали их в csv-файлы, которые затем выгружались на S3. Работало достаточно стабильно. Порядка нескольких десятков миллионов строк.
а это вам разработчики 1с делали?
много потом затрат на поддержку такого решения на стороне 1С? на сколько я знаю, там может меняться мета и справочники, откуда мапятся имена объектов, это не приводит к необходимости что-то допиливать постоянно?
Изменения в основном были, если появлялись новые требования для dwh, или когда в 1С какой-нибудь новый канал продаж подключали. Но лучше такой способ интеграции использовать, если в штате есть 1С-ники.
Добрый день! На каком варианте в итоге остановились?
привет! вообще, в итоге рассматривали 2 варианта - использовать http-сервис, который есть в 1С или кидать всё в kafka. Есть нюанс, в 1С данные изначально выглядят довольно специфично (нет нормальных названий таблиц и колонок, а также категориальных переменных), поэтому в любом случаи нужно мапить основные таблицы на кучу справочников, проще это сделать на стороне 1С силами команды 1С, т.е. они создают обработчик, который превращается аброкадабры в нормальные таблицы. Дальше только выбрать способ доставки. HTTP-сервис это то, что предлагают использовать сами 1С, так оркестрация уходит на сторону платформы данных, т.к. сами запрашиваем данные когда нужно, но тут вопрос пропускной способности этого сервиса. Также, в таблицах 1С изначально нет даты обновления полей; есть отдельная штука - служба регистрации изменений, которую команда 1С должна прикрутить. С kafka подходом такой проблемы вообще нет + нет ограничений по объему данных и не придётся ничего придумывать сбоку, чтобы передать уже накопленные данные за всю историю (с http-сервисом такое придется передавать пачками). У нас ещё есть внутренние нюансы относительно тех радара, так что в итоге выбрали kafka HTTP-сервис это вот https://v8.1c.ru/platforma/http-servisy/ + план обмена https://its.1c.ru/db/metod8dev/content/2276/hdoc
А уже все задеплоили? Работает?
пока не запустили, раз интересно, поделюсь тут апдейтом. как будет что рассказать
Обсуждают сегодня