Настройка отправки данных в Яндекс.DataLens из 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка отправки данных в Яндекс.DataLens из 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1181
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    813
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка отправки данных в Яндекс.DataLens из 1С-Битрикс

DataLens — это BI-инструмент от Яндекса с возможностью строить дашборды на основе данных из разных источников: PostgreSQL, ClickHouse, Google Sheets, Яндекс.Метрики. Для интернет-магазина на Битриксе DataLens позволяет объединить данные из базы Битрикса (заказы, товары, пользователи) с данными из Метрики (поведение, источники трафика) и строить отчёты, которые невозможно получить ни в одной из систем по отдельности.

Прямое подключение PostgreSQL к DataLens

Самый чистый вариант: DataLens подключается напрямую к базе данных Битрикса через PostgreSQL-коннектор. Никакой дополнительной разработки не нужно — DataLens запрашивает данные напрямую из таблиц b_sale_order, b_catalog_price, b_iblock_element и других.

Требования: база данных должна быть доступна из облака Яндекса (белый IP или VPN). В настройках DataLens: «Создать подключение → PostgreSQL» → указать хост, порт (5433 по умолчанию для Битрикса), имя базы, пользователь и пароль.

Для безопасности — создать отдельного пользователя PostgreSQL с правами только на чтение нужных таблиц:

CREATE USER datalens_ro WITH PASSWORD 'strong_password';
GRANT CONNECT ON DATABASE bitrix TO datalens_ro;
GRANT USAGE ON SCHEMA public TO datalens_ro;
GRANT SELECT ON b_sale_order, b_sale_order_item,
                b_iblock_element, b_catalog_price,
                b_user TO datalens_ro;

Витрина данных: промежуточная таблица

Прямые запросы к таблицам Битрикса в DataLens неэффективны: таблица b_sale_order может содержать миллионы строк, а DataLens выполняет запросы каждый раз при открытии дашборда. Лучше создать витрину данных — агрегированную таблицу, которая обновляется по расписанию:

CREATE TABLE datalens_orders_daily AS
SELECT
    DATE_TRUNC('day', DATE_INSERT)::DATE AS order_date,
    CURRENCY                              AS currency,
    COUNT(*)                              AS orders_count,
    SUM(PRICE)                            AS revenue,
    SUM(PRICE_DELIVERY)                   AS delivery_total,
    AVG(PRICE)                            AS avg_order_value
FROM b_sale_order
WHERE CANCELED = 'N'
GROUP BY 1, 2;

CREATE INDEX idx_datalens_od_date ON datalens_orders_daily(order_date);

Обновление витрины через агент Битрикса раз в час:

// В init.php
function UpdateDataLensOrdersVitrine() {
    global $DB;
    $DB->Query("
        INSERT INTO datalens_orders_daily
        SELECT DATE_TRUNC('day', DATE_INSERT)::DATE, CURRENCY,
               COUNT(*), SUM(PRICE), SUM(PRICE_DELIVERY), AVG(PRICE)
        FROM b_sale_order
        WHERE CANCELED = 'N'
          AND DATE_INSERT >= NOW() - INTERVAL '2 days'
        GROUP BY 1, 2
        ON CONFLICT (order_date, currency) DO UPDATE
        SET orders_count = EXCLUDED.orders_count,
            revenue = EXCLUDED.revenue
    ", false, 'FILE', __LINE__);

    return \CAgent::DEFAULT_PERIOD;
}

Подключение Яндекс.Метрики как второго источника

DataLens умеет подключаться к Яндекс.Метрике напрямую — это ключевое преимущество для объединения данных. В DataLens: «Создать подключение → Яндекс.Метрика» → ввести номер счётчика и OAuth-токен.

После создания двух подключений (PostgreSQL + Метрика) в DataLens можно создать датасет с JOIN-запросом: например, связать order_date из витрины заказов с датой из Метрики и видеть на одном графике выручку и трафик — сразу понятно, какие рекламные кампании дают реальную выручку, а не просто клики.

Экспорт событий в ClickHouse через Битрикс

Для более серьёзной аналитики — события из Битрикса (добавления в корзину, начало оформления, брошенные заказы) отправляются в ClickHouse через Kafka или напрямую через HTTP API ClickHouse. DataLens подключается к ClickHouse и строит воронки продаж в реальном времени. Это уже уровень EnterpriseAnalytics, но архитектурно Битрикс готов к этому — нужны обработчики событий модуля sale и фоновая отправка через очередь.