Как передавать данные из 1С в ClickHouse: что выбрать для регулярной выгрузки
В ClickHouse вы можете обновлять разные данные с разной частотой. Продажи — раз в час, остатки — чаще, историю — вообще загрузить один раз. Исправленный документ тоже должен попасть в ClickHouse, а прерванная загрузка — продолжиться с нужного места. От того, как вы построите обмен, зависят объем передаваемых данных, нагрузка на 1С и то, как выгрузка будет работать при изменениях и сбоях.Чтобы передавать данные из 1С в ClickHouse, вы можете заказать разработку у интегратора, собрать обмен с помощью ИИ или использовать Экстрактор 1С. Разберем, сколько времени займет каждый способ, что происходит при изменениях и сбоях и кто будет поддерживать передачу данных после запуска.
Зачем выгружать данные из 1С в ClickHouse
1С одновременно обрабатывает учетные операции и тяжелые аналитические запросы — например, отчет по продажам за несколько лет с детализацией по товарам, подразделениям и периодам. Такие запросы читают большой объем данных и выполняют расчеты в рабочей базе, повышая нагрузку на проведение документов и отклик системы.
ClickHouse — аналитическая колоночная СУБД для работы с большими объемами информации. В нее загружают сведения из учетной системы (продажи, закупки, остатки и историю операций) для расчетов, отчетности и BI. Аналитические запросы к этим данным выполняются отдельно от рабочей базы 1С.
1С и ClickHouse работают с разными типами нагрузки: 1С поддерживает текущий учет, а ClickHouse обрабатывает накопленные данные для аналитики.
Важно: ClickHouse нужен не каждой компании. Отдельный аналитический слой используют, когда отчеты работают с историей за несколько лет, запросы обрабатывают большие объемы данных, а BI создает нагрузку на рабочую базу. При небольших объемах и редких запросах отдельный контур может быть лишним: его тоже придется настраивать и поддерживать.
Как организовать выгрузку данных из 1С в ClickHouse
Предположим, производственная компания каждый день смотрит в BI себестоимость выпуска, объем производства и отклонения по цехам. Но — в течение дня в 1С появляются новые документы, меняются остатки и корректируются операции.
Если один раз выгрузить базу в ClickHouse и больше ее не обновлять, следующий отчет покажет показатели по состоянию на момент последней выгрузки.
Это значит, что обмен нужно поддерживать постоянно: забирать изменения из 1С, передавать их в СУБД и проверять, что после очередной загрузки отчет получил полный набор записей.
Для регулярной выгрузки из 1С в ClickHouse компания может:
- Заказать разработку у интегратора.
- Собрать обмен с помощью ИИ.
- Использовать специализированный Экстрактор данных.
Разберем ниже особенности каждого способа: настройку, работу с изменениями, сбоями и поддержку после запуска.
Если заказывать разработку у интегратора
Интегратор разрабатывает обмен между 1С и ClickHouse. Вы описываете, какие данные хотите передавать и как часто их обновлять, а интегратор проектирует выгрузку: выбирает, какие записи забирать из 1С, как передавать изменения, обрабатывать сбои и повторные загрузки.
Допустим, у вас сеть магазинов, и вы хотите обновлять продажи в ClickHouse каждый час. Вам нужны данные о выручке и продажах по каждому магазину в течение дня. Интегратор проектирует обмен так, чтобы каждый час передавать новые и измененные записи, не загружая заново уже переданную историю.
Для такого обмена разработчик прописывает правила:
● что выгружать — продажи, товары, магазины, цены, остатки и связанные данные;
● как находить изменения — отбирать новые и измененные записи при каждом запуске;
● как продолжать загрузку после сбоя — определить, с какого места возобновлять передачу;
● как исключать дубли — повторная отправка не должна создавать вторую запись о продаже;
● как проверять полноту — контролировать, что данные из 1С полностью дошли до ClickHouse;
● как учитывать изменения в 1С — проверять обмен после изменений в документах, регистрах и справочниках.
Разработчик реализует эти правила в коде и тестирует основные ситуации: обычную загрузку, повторную отправку, обрыв передачи и неполную выгрузку.
Ошибка в правилах обмена может привести к пропускам или дублям: часть продаж не попадет в ClickHouse, а одна продажа загрузится дважды.
Что происходит с обменом после запуска
После запуска интегратор продолжает сопровождать разработанный обмен: исправлять ошибки, проверять изменения в 1С и дорабатывать обмен при новых требованиях.
Срок и стоимость зависят от объема работ: сколько баз 1С подключают, какой объем информации выгружают и сколько правил обмена нужно реализовать. После запуска расходы продолжаются: при изменениях в 1С интегратор разбирается в затронутых объектах, обновляет код и заново проверяет загрузку.
Если разработчик меняется, новому специалисту сначала нужно изучить код, правила загрузки и логику обработки данных. Пока он изучает обмен, новая доработка занимает больше времени.
Разработка обмена с помощью ИИ
Вайбкодинг — разработка, при которой специалист описывает задачу ИИ обычным языком, получая готовый фрагмент кода и уточняя его следующими запросами. Это действительно ускоряет написание обмена.К примеру, у оптовой компании три базы 1С и руководителю нужен единый отчет по заказам, отгрузкам и остаткам.
Чтобы отчет отражал изменения в течение дня, компания хочет передавать новые и измененные записи в ClickHouse каждые 30 минут. Программист 1С может собрать обмен с помощью ИИ: он передает ИИ структуру документов, нужные поля и правила загрузки — ИИ собирает код обмена.
Дальше программист проверяет, что происходит с загрузкой в реальных ситуациях:
● Новые записи — все ли новые заказы и отгрузки попадают в ClickHouse.
● Изменения — видит ли обмен исправления в уже созданных документах.
● Сбой — что произойдет, если передача оборвется после загрузки части записей.
● Дубли— не загрузятся ли эти записи повторно после перезапуска.
● Пропуски — совпадает ли состав загруженных записей с 1С.
● Изменения в 1С — продолжит ли обмен работать после обновления документов, регистров или справочников.Если программист 1С собрал обмен с ИИ, он же и проверяет его на реальных данных.
Иначе нельзя понять, как код поведет себя после сбоя, повторного запуска или изменения документов в 1С.
ИИ сгенерирует код по заданным условиям, но не проверит, совпадает ли результат с данными 1С.
Программист должен сам проверить пропуски, дубли, повторный запуск после сбоя и изменения в документах.ИИ сокращает время на написание кода, но не отвечает за то, что произойдет с выгрузкой после запуска. Если в компании нет специалиста, который может проверить такой обмен и поддерживать его дальше, после первой версии кода придется искать разработчика для этой работы.
Экстрактор 1С: готовый способ выгружать данные в ClickHouse
Отдельный инструмент выгрузки извлекает данные из 1С по расписанию и передает их в ClickHouse. Он отслеживает изменения в источнике и забирает только новые или измененные записи.
Поэтому 1С не выполняет полную выгрузку при каждом обновлении, а СУБД получает только актуальные изменения.
Например, Экстрактор 1С от Денвик Аналитика автоматизирует регулярную передачу данных без разработки собственного обмена в 1С.
1С не формирует повторно весь массив данных при каждом запуске. Это снижает нагрузку на учетную систему и ускоряет регулярную передачу изменений в ClickHouse.
Экстрактор 1С можно подключить к одной или нескольким базам 1С. Если в 1С меняются документы или справочники, вам не нужно править код обмена в каждой базе — правила выгрузки остаются в Экстракторе.
Важно: совсем скоро в Экстракторе 1С появится собственный ИИ для быстрой сборки выгрузок. Вы сможете описать, что нужно передать из 1С в ClickHouse, а ИИ поможет собрать выгрузку. Например, при подключении новой базы или нового раздела 1С он сократит время на создание правил выгрузки.
Как продукты Денвик Аналитика помогают организовать интеграцию 1С и ClickHouse
Для интеграции 1С с ClickHouse компания использует не только Экстрактор 1С, но и DVT (Denvic Visual Transformer) — low-code ETL-сервис для визуальной трансформации данных перед загрузкой в BI-системы.
Если в ClickHouse нужно загрузить сведения не только из 1С, но и из других источников, DVT подготавливает их до загрузки. Он объединяет информацию из 1С, Bitrix24, баз, файлов и API, очищает значения и приводит поля к общей структуре. После обработки в ClickHouse поступают готовые аналитические таблицы для BI.
После загрузки в ClickHouse компания получает единое хранилище для аналитических данных из 1С и других источников. BI берет показатели из этого хранилища, поэтому отчеты не нагружают рабочую базу 1С аналитическими запросами. Продукт помогает связать ClickHouse с Yandex DataLens, PIX BI и Visiology, чтобы отчеты и дашборды использовали подготовленные показатели.
Сравнение способов выгрузки данных из 1С в ClickHouse
Кратко сравним варианты выгрузки по объему ручной работы, сопровождению и затратам на эксплуатацию.
Пример автоматической выгрузки из 1С в ClickHouse
Рассмотрим кейс компании «Хеппивеар Юг», где данные из 1С и Bitrix перенесли в ClickHouse для подготовки BI-отчетов.
Проблема
Команда не могла стабильно выгружать большие объемы данных из 1С в Excel: система зависала, а часть операций завершалась ошибками. Для подготовки отчетов специалисты собирали данные из 1С, Bitrix и других источников, сводили их вручную и отдельно проверяли полноту данных перед обновлением отчетов.
Решение
Наши эксперты настроили Экстрактор 1С для автоматической передачи изменений из 1С в ClickHouse. Он забирает новые и измененные записи по расписанию, поэтому при каждом обновлении не приходится повторно выгружать всю историю.
Данные из Bitrix также загрузили в ClickHouse и объединили их с данными 1С для BI-отчетов в DataLens. Для каждого набора данных настроили расписание обновления и контроль задержки. Если данные не поступали вовремя, команда получала уведомление в Telegram и проверяла, на каком этапе возник сбой: при чтении данных из 1С, передаче или загрузке в ClickHouse.
Результат
● данные из 1С и Bitrix регулярно обновляются в ClickHouse;
● BI-отчеты получают показатели из единого аналитического источника;
● специалисты отказались от ручной подготовки отчетов в Excel;
● отчеты показывают показатели с детализацией от общих KPI до товаров и товарных категорий;
● показатели можно анализировать по дням, месяцам и годам;
● в аналитику вошли продажи, финансовые показатели, данные о подразделениях и сотрудниках, а также обращения в техническую поддержку.
Подробнее о проекте — в полном кейсе компании.
Типичные ошибки при выгрузке данных из 1С в ClickHouse
Разберем ошибки, из-за которых при выгрузке данных растет объем передачи, увеличивается нагрузка на учетную систему или возникают расхождения в BI.
Каждый раз загружать всю историю
Если при каждом обновлении вы передаете всю историю, 1С снова обрабатывает уже выгруженные записи, а ClickHouse получает их повторно. На больших таблицах это увеличивает время загрузки и нагрузку на учетную систему.
Для регулярного обмена лучше передавать только новые и измененные записи. Тогда объем каждой загрузки зависит от количества изменений, а не от всей накопленной истории.
Не отслеживать изменения в 1С
Документы, заказы и остатки могут измениться после первой загрузки. Если обмен не фиксирует эти изменения, СУБД хранит прежние значения, а BI показывает устаревшие показатели.Например, вы исправили количество товара в заказе, но обмен не передал изменение. В отчете останется старое значение, хотя в 1С документ уже исправлен.
Не предусмотреть продолжение после сбоя
Если передача прервалась после загрузки части записей, система должна зафиксировать уже переданные записи и определить точку продолжения. При повторном запуске она догрузит оставшиеся данные и не создаст дубли уже загруженных.
Для регулярной выгрузки заранее задайте правила повторной передачи и восстановления после сбоя.
Считать загрузку успешной без проверки
Завершение обмена не подтверждает, что ClickHouse получил полный набор записей. Проверяйте количество и состав загруженных данных, а для критичных показателей — сверяйте итоговые значения с 1С. Таким образом вы обнаружите пропуски и дубли до того, как они попадут в управленческий отчет.
Привязать обмен к коду 1С
Если правила обмена встроены в конфигурацию, изменения документов, справочников или регистров ведут к доработке кода. После каждой такой доработки вы заново проверяете выгрузку. Чем больше правил обмена связано с кодом 1С, тем больше доработок и проверок требуется при изменениях в учетной системе.
Денвик Аналитика — российская ИТ-компания, разработчик ETL-инструментов для интеграции, обработки и подготовки корпоративных данных. Линейка ETL-продуктов Денвик Аналитика позволяет работать с корпоративными данными в режиме self-service, без постоянного привлечения программиста.