К статье
Практический материал

Отчеты и Аналитика · 12 мин

Как загрузить данные из 1С в Power BI

Разбираем способы загрузки данных из 1С в Power BI: OData, COM, SQL, файлы. Пошаговая настройка, типичные ошибки и проверка результата.

Power BI не имеет «родного» коннектора к 1С, поэтому данные выгружают одним из обходных путей: через веб-интерфейс OData, напрямую из базы SQL Server, через файловые выгрузки (CSV, Excel) или через COM-соединение. Выбор способа зависит от того, где развёрнута база 1С — в файловом режиме, на сервере 1С:Предприятия или в облаке — и от того, какие данные нужны: готовые документы и справочники или произвольные выборки по регистрам.

Наиболее универсальный и безопасный путь — публикация базы через встроенный механизм OData. Он не требует установки дополнительного ПО, работает с правами доступа 1С и подходит для большинства типовых конфигураций. Прямое чтение из SQL быстрее на больших объёмах, но требует понимания структуры таблиц 1С и обхода механизма безопасности платформы, что создаёт риски.

Ниже разобраны основные способы подключения, пошаговая настройка OData как рекомендуемого варианта, особенности работы с большими объёмами и типичные ошибки, из-за которых данные в Power BI появляются не полностью или не обновляются.

Какие способы подключения существуют и как выбрать

Перед настройкой определите, где физически хранится база и какой объём данных планируется забирать. Файловая база на локальном компьютере ограничивает выбор: OData доступен только при публикации на веб-сервере (IIS или Apache), а прямой доступ к SQL невозможен в принципе. Серверная база на MS SQL Server открывает все варианты.

Второй критерий — частота обновления. Если отчёт в Power BI должен обновляться по расписанию, файловые выгрузки быстро станут ручной рутиной. Для регулярных обновлений нужен «живой» канал: OData или SQL.

Сравнение способов подключения

OData

Штатный механизм платформы, учитывает права 1С, подходит для большинства задач. Ограничение — нагрузка на веб-сервер и скорость на больших таблицах.

Прямое чтение из SQL

Быстро на больших объёмах, но требует прав на базу SQL, обхода безопасности 1С и понимания структуры таблиц. Изменение данных напрямую запрещено.

Выгрузка в Excel/CSV

Простой вариант для разовых отчётов и файловых баз без веб-сервера. Не подходит для автоматического обновления.

COM-соединение

Работает только на компьютере с установленной платформой 1С, медленный, используется редко и в основном для специфических сценариев.

Подключение через OData: публикация базы

OData — встроенный в платформу 1С:Предприятие REST-интерфейс, который отдаёт данные справочников, документов и регистров в формате, понятном Power BI. Чтобы его включить, базу нужно опубликовать на веб-сервере. Для серверной базы это обычно IIS на Windows Server; для тестов подойдёт публикация из конфигуратора на локальном IIS.

Порядок публикации: откройте конфигуратор под администратором, перейдите в меню «Администрирование» → «Публикация на веб-сервере», укажите имя публикации и каталог, затем обязательно отметьте флажок «Публиковать стандартный интерфейс OData». После публикации проверьте доступность сервиса в браузере по адресу вида http://сервер/ИмяБазы/odata/standard.odata — должна открыться XML-страница со списком сущностей после ввода логина и пароля пользователя 1С.

Важный нюанс: пользователь, под которым подключается Power BI, видит через OData только те объекты, к которым у него есть права в 1С. Это и преимущество (безопасность сохраняется), и источник ошибок — если таблица «не видна» в Power BI, первым делом проверьте роли пользователя.

Порядок настройки OData-подключения
  1. 1
    Опубликуйте базу на веб-сервере с включённым флажком «Публиковать стандартный интерфейс OData»
  2. 2
    Проверьте в браузере адрес http://сервер/ИмяБазы/odata/standard.odata — должен запросить логин и показать список сущностей
  3. 3
    В Power BI выберите «Получить данные» → «OData-канал» и вставьте тот же URL
  4. 4
    На шаге авторизации выберите «Основная» (Basic) и введите логин и пароль пользователя 1С
  5. 5
    В навигаторе отметьте нужные таблицы (справочники, документы, регистры) и загрузите или преобразуйте их в Power Query
  6. 6
    Настройте обновление: для Power BI Service потребуется шлюз данных и доступность сервера 1С из сети шлюза

Настройка подключения в Power BI

В Power BI Desktop откройте «Получить данные» и выберите «OData-канал» (можно также «Интернет», но OData-коннектор корректнее распознаёт типы полей). Вставьте URL сервиса без завершающего слэша. На экране авторизации выберите метод «Основная» и укажите учётные данные пользователя 1С — анонимный доступ к OData обычно закрыт, и это правильно.

В окне навигатора вы увидите сущности с техническими именами: Catalog_Номенклатура для справочников, Document_РеализацияТоваровУслуг для документов, AccumulationRegister_Продажи для регистров накопления. Отмечайте только нужные таблицы — загрузка всей базы целиком почти гарантированно приведёт к тайм-аутам.

Сразу на этапе Power Query отфильтруйте строки и уберите лишние колонки: чем меньше данных уходит в модель, тем быстрее обновление. Для документов типичная фильтрация — по дате (например, только текущий и прошлый год) и по признаку проведения, чтобы в отчёт не попадали черновики.

Прямое чтение из SQL Server для больших объёмов

Если база 1С работает на MS SQL Server, Power BI может подключаться к ней как к обычному источнику SQL Server. Это в разы быстрее OData на крупных выборках и позволяет использовать представления (view), подготовленные администратором базы. Подключение стандартное: «Получить данные» → «База данных SQL Server», указать сервер, имя базы и режим «Импорт» или DirectQuery.

Главная сложность — структура таблиц: 1С хранит объекты под техническими именами (_Document123, _Reference45), а соответствие имён объектам конфигурации нужно искать через служебную таблицу или функцию получения структуры хранения в конфигураторе. Даты в таблицах 1С часто хранятся со смещением, а ссылочные поля — как двоичные идентификаторы, поэтому «в лоб» читать таблицы неудобно.

Практичный подход — попросить администратора или разработчика 1С создать в SQL отдельные представления с понятными именами и уже соединёнными таблицами (документ + его табличная часть + справочники), и выдавать Power BI доступ только к этим представлениям. Так вы получаете и скорость, и читаемую структуру, и контроль доступа на уровне SQL.

Выгрузка через файлы: когда это оправдано

Файловый вариант — самый простой: в 1С формируется отчёт или табличный документ, сохраняется в Excel или CSV, а Power BI подключается к этому файлу. Для автоматизации выгрузку настраивают регламентным заданием, которое по расписанию сохраняет файл в сетевую папку, а Power BI обновляется из неё.

Этот способ оправдан, когда база файловая и поднять веб-сервер нельзя, когда данных немного (справочники, курсы валют, плановые показатели) или когда нужен разовый анализ. Минус очевиден: цепочка «регламентное задание → файл → Power BI» ломается при каждом сбое задания, переименовании файла или изменении структуры выгрузки, поэтому такие сценарии требуют регулярного контроля.

Для стабильности фиксируйте формат: выгружайте в CSV с явным разделителем и кодировкой UTF-8, не меняйте состав колонок без необходимости и храните файл по постоянному пути. В Power Query задайте типы столбцов явно — автоопределение типов при смене файла является частой причиной ошибок обновления.

Если отчёт в Power BI строится по регистрам накопления, выгружайте не сами движения, а уже рассчитанные обороты или остатки через отчёт 1С или представление SQL. Это резко сокращает объём передаваемых данных и упрощает модель в Power BI.
ПЗ
Практическое замечание

Обновление данных и публикация отчёта

После построения отчёта в Power BI Desktop его публикуют в службу Power BI, чтобы настроить автоматическое обновление. Здесь кроется главное ограничение: служба Power BI работает в облаке и не видит ваш локальный сервер 1С напрямую. Для обновления из локальных источников (OData на внутреннем сервере, SQL, сетевая папка) требуется локальный шлюз данных (On-premises data gateway), установленный на машине, которая имеет доступ к серверу 1С.

После установки шлюза в настройках набора данных в службе Power BI укажите источник данных, введите учётные данные (для OData — те же логин и пароль пользователя 1С) и задайте расписание обновления. Проверьте первое обновление вручную: если оно завершается ошибкой авторизации, чаще всего причина в неверно выбранном методе аутентификации в настройках источника шлюза.

Учитывайте нагрузку: каждое обновление по расписанию — это реальные запросы к рабочей базе 1С. Не ставьте частое обновление тяжёлых запросов в разгар рабочего дня; для крупных баз разумно обновляться ночью или в часы минимальной нагрузки.

Контрольные точки

Как проверить результат

Количество строк в Power BI и в 1С
Норма

Совпадает с контрольным отчётом в 1С за тот же период

Тревожный признак

Строк меньше — проверьте права пользователя и фильтры; больше — проверьте дубли при соединении таблиц

Суммы по ключевым показателям
Норма

Обороты и остатки сходятся с типовыми отчётами 1С

Тревожный признак

Расхождения — проверьте отбор по проведённым документам и валюту

Обновление по расписанию
Норма

Обновление завершается без ошибок за приемлемое время

Тревожный признак

Тайм-ауты или ошибки авторизации — проверьте шлюз, учётные данные и объём запроса

Типичные ошибки и их устранение

Самая частая проблема — «таблица не видна в навигаторе». Причина почти всегда в правах пользователя 1С: OData показывает только объекты, доступные этой учётной записи. Решение — выдать пользователю нужные роли или создать отдельную учётную запись для интеграций с минимально необходимым набором прав.

Вторая группа ошибок — производительность: загрузка падает по тайм-ауту или обновление идёт часами. Здесь помогают фильтрация на стороне запроса, отказ от загрузки лишних колонок, переход на SQL-представления для больших регистров и разнесение обновлений по времени. Третья группа — расхождения данных с отчётами 1С, вызванные тем, что в Power BI попали непроведённые документы или служебные движения.

Типичные ошибки
01
Загрузка всех таблиц подряд — приводит к тайм-аутам и раздутой модели; отбирайте только нужные сущности и колонки
02
Использование административной учётной записи 1С для подключения — риск безопасности; создайте отдельного пользователя с правами только на чтение нужных объектов
03
Отсутствие фильтра по проведённым документам — в отчёт попадают черновики, и суммы не сходятся с 1С
04
Настройка обновления без шлюза данных — служба Power BI не достучится до локального сервера, обновление будет падать
05
Изменение структуры файла выгрузки без корректировки Power Query — обновление ломается с ошибкой типов или отсутствующих столбцов

FAQ

Можно ли подключить Power BI к файловой базе 1С без веб-сервера?

Напрямую — нет. Варианты: опубликовать файловую базу на локальном IIS и использовать OData, либо настроить выгрузку в Excel/CSV регламентным заданием и подключаться к файлу. Второй путь проще, но требует контроля за выполнением задания.

Почему через OData видны не все справочники и документы?

OData работает в рамках прав пользователя 1С, под которым выполняется подключение. Проверьте роли этой учётной записи и добавьте права на чтение нужных объектов. Также убедитесь, что при публикации включён именно стандартный интерфейс OData.

Что выбрать для регистра с миллионами записей — OData или SQL?

Для больших регистров предпочтительнее чтение из SQL через заранее подготовленные представления с агрегацией или фильтрацией. OData на таких объёмах работает медленно из-за постраничной выдачи и может упираться в тайм-ауты веб-сервера.

Безопасно ли давать Power BI доступ к базе SQL напрямую?

Безопасно при соблюдении двух условий: учётная запись имеет права только на чтение и только к нужным представлениям, а все изменения данных по-прежнему выполняются через 1С. Прямая запись в таблицы 1С извне недопустима — это разрушает целостность базы.

Как обновлять отчёт в Power BI Service, если сервер 1С находится в локальной сети?

Установите локальный шлюз данных на машине с доступом к серверу 1С, зарегистрируйте в нём источник (OData, SQL или папку), затем в настройках набора данных привяжите источник к шлюзу, введите учётные данные и задайте расписание обновления.

Нужно ли что-то устанавливать в саму 1С для подключения Power BI?

Для OData и SQL ничего дорабатывать в конфигурации не требуется — достаточно штатной публикации или доступа к СУБД. Доработки нужны только для нестандартных сценариев: например, HTTP-сервисы для отдачи специфических данных или регламентные задания выгрузки в файлы.

Итог

Что важно запомнить

Основной способ загрузки данных из 1С в Power BI — стандартный интерфейс OData с публикацией базы на веб-сервере и отдельной учётной записью с правами на чтение. Для больших объёмов используйте представления SQL только на чтение, для разовых задач — файловые выгрузки. Автоматическое обновление в службе Power BI требует локального шлюза данных, а контроль итогов по отчётам 1С — обязательная проверка корректности настройки.