Автоматизация · 12 мин
Как подключить выгрузку из 1С: способы, настройка и проверка
Как настроить выгрузку данных из 1С: выбор формата, способы обмена, типовые обработки, COM, OData и файловая выгрузка. Проверка результата и типичные ошибки.
Выгрузка из 1С нужна в трёх типовых ситуациях: передача данных на сайт или в маркетплейс, обмен с другой учётной системой (CRM, WMS, бухгалтерией) и получение данных для отчётности в Excel или BI-инструментах. От задачи зависит и способ подключения: для сайта обычно используют CommerceML, для интеграций — файловый обмен, OData или HTTP-сервисы, для разовых выгрузок достаточно встроенных обработок.
Прежде чем что-либо настраивать, ответьте на три вопроса: какие именно данные нужны (номенклатура, остатки, заказы, контрагенты), в какую сторону идёт обмен (только выгрузка или двусторонний обмен) и как часто должны обновляться данные. Ответы на них определяют формат, расписание и набор прав на стороне 1С.
В статье разобраны основные способы подключения выгрузки: типовые механизмы обмена, универсальная выгрузка в XML, файловые форматы (CSV, Excel), доступ через OData и COM-подключение. Для каждого способа приведены условия применения, порядок настройки и способы проверки результата.
Определите, какие данные и куда нужно выгружать
Начните с формализации состава данных. Для каталога на сайт это обычно номенклатура с ценами, характеристиками и остатками; для CRM — контрагенты и сделки; для бухгалтерии — документы и проводки. Чем точнее список, тем меньше доработок потребуется на этапе сопоставления полей.
Уточните требования принимающей стороны. Сайты на популярных CMS и маркетплейсы обычно принимают CommerceML (CML), XML или CSV заданной структуры; BI-системы читают CSV, Excel или подключаются к базе напрямую. Если у получателя есть документация по формату импорта — изучите её до настройки выгрузки, это сэкономит время на согласовании полей.
Определите периодичность: разовая выгрузка, обмен по расписанию (например, остатки каждые 15 минут) или выгрузка по событию (проведение документа). От этого зависит, нужен ли план обмена с регистрацией изменений или достаточно полной выгрузки.
Нужен ли приём данных обратно в 1С
Совпадают ли версии конфигураций
Поддерживает ли CMS обмен с 1С
Какой объём и периодичность нужны
Подготовьте базу: права, резервная копия, тестовый контур
Для настройки обмена потребуются права администратора или как минимум права на использование обработок обмена и настройку регламентных заданий. Пользователю, под которым будет работать выгрузка (особенно OData и COM), назначьте только необходимые права на чтение нужных объектов — не давайте сервисной учётной записи полные права.
Перед любыми изменениями сделайте резервную копию: для файловой базы — копирование файла 1Cv8.1CD, для клиент-серверной — выгрузку в dt через конфигуратор или средствами СУБД. Это особенно важно, если планируется двусторонний обмен: ошибка в правилах может массово испортить данные.
Настройку выполняйте на копии базы. Разверните тестовый контур, прогоните обмен, проверьте результат и только потом переносите настройки в рабочую базу. Это стандартная практика, которая страхует от потери данных и остановки учёта.
Способ 1. Типовые механизмы обмена и планы обмена
В типовых конфигурациях (Управление торговлей, ERP, Комплексная автоматизация, Бухгалтерия) уже встроены готовые сценарии. Откройте раздел «Администрирование» → «Синхронизация данных» (в некоторых конфигурациях — «Обмены данными») и включите синхронизацию. Дальше мастер предложит выбрать тип подключения: другая программа 1С, сайт, мобильное приложение или обмен через файл.
Для связки двух баз 1С используйте универсальный формат EnterpriseData — он поддерживает основные документы и справочники без программирования. Настройте префиксы баз, правила отправки и получения, расписание. Механизм сам регистрирует изменённые объекты и передаёт только их, что снижает нагрузку.
Выгрузка на сайт через CommerceML
Для интернет-магазина в «Управлении торговлей» есть узел обмена с сайтом: «Администрирование» → «CRM и продажи» (или «Интеграция») → «Обмен с сайтами». Создайте узел, укажите, что выгружать (товары, цены, остатки), задайте отборы по группам номенклатуры и складам, настройте расписание. На стороне сайта укажите адрес скрипта обмена и учётные данные из этого узла.
Универсальная выгрузка в XML
Обработка «Выгрузка и загрузка данных XML» (поставляется на ИТС и в составе многих конфигураций) переносит данные между идентичными конфигурациями. Откройте её через «Файл» → «Открыть», выберите объекты метаданных, задайте файл выгрузки и выполните. Способ подходит для переноса справочников и документов между базами с одинаковой структурой.
- 1Сделайте резервную копию обеих баз
- 2Включите синхронизацию данных в разделе администрирования
- 3Задайте префикс информационной базы
- 4Создайте настройку синхронизации и выберите способ подключения
- 5Настройте правила отправки и получения данных
- 6Выполните первичную выгрузку и сопоставление объектов
- 7Настройте расписание и проверьте протокол обмена
Способ 2. Файловая выгрузка: CSV, Excel, произвольный XML
Если принимающая система читает CSV или Excel, данные можно выгрузить напрямую из списков и отчётов: практически любой табличный документ в 1С сохраняется через «Файл» → «Сохранить как» в форматы xlsx, csv, mxl. Для выгрузки списка номенклатуры или документов откройте список, выведите нужные колонки через «Ещё» → «Изменить форму списка» (или настройку списка) и сохраните таблицу.
Для регулярной выгрузки по заданной структуре потребуется обработка: типовая «Универсальный обмен данными в формате XML» с правилами конвертации или собственная обработка, написанная под формат получателя. Правила конвертации создаются в конфигурации «Конвертация данных» — это отдельный инструмент, требующий навыков, но он покрывает сложные сценарии сопоставления полей.
Простой вариант без разработки — отчёт на СКД: постройте отчёт с нужными полями и отборами, сохраните результат в Excel и настройте рассылку по расписанию через «Рассылка отчётов». Получатель получит файл на почту или в сетевую папку автоматически.
Способ 3. Доступ через OData и HTTP-сервисы
Технология OData позволяет внешним системам читать данные 1С по HTTP без файлов: запрос вида GET возвращает справочник или документы в формате JSON или Atom. Включите публикацию: в конфигураторе «Администрирование» → «Публикация на веб-сервере» → установите флаг «Публиковать стандартный интерфейс OData». Для файловой базы потребуется установленный веб-сервер (IIS или Apache).
Доступ открывается по адресу вида http://сервер/база/odata/standard.odata/, далее указывается сущность, например Catalog_Номенклатура. Аутентификация — базовая, по пользователю 1С. Создайте отдельного пользователя с правами только на чтение нужных объектов и используйте HTTPS, если доступ идёт через интернет.
Для нестандартных выборок OData может не хватить: тогда разработчик создаёт HTTP-сервис в конфигурации, который по заданному адресу отдаёт произвольные данные в нужном формате. Это требует доработки конфигурации, но даёт полный контроль над составом и структурой выгрузки.
GET http://server/base/odata/standard.odata/Catalog_Номенклатура?$format=json&$top=100Способ 4. COM-подключение и прямой доступ к базе
COM-соединение (V83.COMConnector) позволяет внешнему приложению подключиться к базе 1С и выполнять запросы к данным. Способ работает только на Windows, требует установленной платформы 1С на машине, откуда идёт подключение, и подходит для скриптов на стороне Windows-инфраструктуры.
Прямое чтение из СУБД (SQL Server, PostgreSQL) технически возможно, но не рекомендуется: структура таблиц недокументирована, меняется между релизами, а запись напрямую нарушает лицензионные ограничения и гарантированно ломает логику данных. Для аналитики вместо прямого SQL используйте OData или выгрузку в промежуточную базу.
Сравнение способов выгрузки
Для связки типовых конфигураций и сайта; без программирования, но только в рамках предусмотренных сценариев
Для разовых выгрузок и систем с жёстким форматом; просто, но требует обработки и ручного контроля
Для автоматической интеграции в реальном времени; нужен веб-сервер и настройка безопасности
Для скриптов внутри Windows-контура; зависит от платформы и не подходит для внешних сервисов
Автоматизация по расписанию и проверка результата
Для регулярной выгрузки настройте регламентное задание: в типовых обменах расписание задаётся прямо в настройке синхронизации, для собственных обработок создаётся регламентное задание в конфигураторе или через внешний планировщик (планировщик Windows с запуском 1С в пакетном режиме). В клиент-серверном варианте задания выполняются на сервере, в файловом — требуется запущенный сеанс или отдельный процесс.
После настройки проверьте результат по контрольным точкам: наличие файла выгрузки в целевом каталоге, отсутствие ошибок в журнале регистрации и протоколе обмена, совпадение количества записей в выгрузке с отбором в 1С, корректность кодировки и формата дат. Для обмена с сайтом дополнительно проверьте, что товары появились в каталоге с правильными ценами и остатками.
Настройте уведомления об ошибках: типовые механизмы пишут события в журнал регистрации, а внешние обработки стоит дополнить отправкой письма администратору при неудачном обмене. Молчащий сбой выгрузки остатков приводит к продажам отсутствующих товаров — это прямые потери.
Как проверить результат
Файл создан, дата изменения свежая, размер больше нуля
Файл отсутствует или не обновляется по расписанию
Нет ошибок, все пакеты обработаны
Ошибки сопоставления, отклонённые объекты
Количество записей совпадает с отбором в 1С
Часть объектов отсутствует или задвоена
Кириллица читается, даты и числа в ожидаемом формате
Кракозябры, даты съехали, разделители неверные
Типичные ошибки и их последствия
Самая частая проблема — дублирование объектов при двустороннем обмене из-за несовпадения ключей сопоставления. Лечится настройкой правил поиска по уникальным полям (GUID, ИНН+КПП для контрагентов, артикул для номенклатуры) и первичным сопоставлением на тестовой копии.
Вторая группа ошибок — права и окружение: обмен работает вручную, но падает по расписанию, потому что у пользователя регламентного задания нет прав или в файловой базе нет активного сеанса. Третья группа — объёмы: полная выгрузка всей номенклатуры каждые 10 минут блокирует базу; используйте выгрузку только изменений через планы обмена.
Что важно запомнить
Начните с состава данных и требований получателя, выберите встроенный механизм до того, как писать свой, настраивайте на копии с резервной копией, автоматизируйте через регламентные задания и обязательно контролируйте протоколы обмена.
Частые вопросы
Можно ли настроить выгрузку из 1С без программиста?
Да, если сценарий покрывается типовыми механизмами: синхронизация между типовыми конфигурациями, обмен с сайтом через CommerceML, сохранение списков и отчётов в Excel/CSV. Понадобится программист, если нужен нестандартный формат, сложное сопоставление полей или собственный HTTP-сервис.
Чем отличается выгрузка через план обмена от обычной выгрузки в файл?
План обмена регистрирует изменённые объекты и передаёт только их, хранит историю обмена и поддерживает двустороннюю синхронизацию. Обычная выгрузка в файл каждый раз формирует данные заново и не отслеживает, что уже передано.
Почему обмен работает вручную, но не запускается по расписанию?
Чаще всего причины две: у пользователя, от имени которого выполняется регламентное задание, недостаточно прав, или база файловая и нет процесса, который обслуживает регламентные задания. Проверьте журнал регистрации на момент запланированного запуска и настройки выполнения заданий.
Как безопасно открыть доступ к данным 1С для внешней системы?
Используйте OData или HTTP-сервис по HTTPS, создайте отдельного пользователя с правами только на чтение нужных объектов, ограничьте доступ по IP на уровне веб-сервера или файрвола. Не публикуйте базу в интернет без шифрования и не используйте учётную запись администратора.
Что делать, если при обмене задвоились контрагенты или товары?
Остановите обмен, восстановите данные из резервной копии при массовом повреждении, затем исправьте правила сопоставления: задайте поиск по уникальным полям (ИНН и КПП, артикул, GUID). Повторите первичное сопоставление на тестовой копии перед запуском в работу.
Подходит ли прямое чтение из SQL-базы 1С для выгрузки в BI?
Технически чтение возможно, но структура таблиц не документирована и меняется между релизами, поэтому решение будет хрупким. Надёжнее использовать OData, выгрузку в промежуточную базу или типовые механизмы обмена — они сохраняют работоспособность при обновлении конфигурации.