Выгрузка данных из 1С: форматы, обмены и типовые ошибки

· 9 мин

Содержание

Чтобы выгрузить данные из 1С, не нужна отдельная «кнопка экспорта» — всё зависит от того, куда и зачем вы отдаёте данные. Любой список выгружается в Excel за два клика через Ещё → Вывести список. Полноценный обмен с сайтом, банком или другой базой строится на планах обмена и форматах XML. А разовую выгрузку справочника удобно делать обработкой «Выгрузка и загрузка данных XML».

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

С чего начать: какой формат выбрать

Формат файла определяет не «красоту», а то, сможет ли принимающая сторона его прочитать. Выбор здесь не свободный — его диктует получатель.

  • 📊 Excel (.xlsx) и .csv — для человека: отчёт бухгалтеру, прайс для партнёра, выгрузка для анализа. Машина их читает плохо: нет строгой структуры.
  • 🧩 XML — для программ: обмен между базами, выгрузка на сайт, передача в учётную систему. XML описывает не только значения, но и типы данных, ссылки, реквизиты.
  • 🏦 Текстовые форматы по стандарту (1c_to_kl.txt для банка, CommerceML для сайта) — когда получатель жёстко задаёт структуру файла.

Правило простое: отдаёте данные человеку — берите Excel или CSV. Отдаёте программе — ищите, какой формат она ждёт, и подстраивайтесь под него, а не наоборот.

Перед любой регулярной выгрузкой проверьте три вещи: какие именно объекты нужны получателю (товары, контрагенты, документы), за какой период, и в каком формате принимающая сторона ждёт файл. Половина проблем с обменом — из-за того, что эти детали не согласовали на старте.

Куда выгружаете данные?

Быстрая выгрузка списка в Excel или CSV

Самый частый запрос — «выгрузить справочник или список документов в Excel». Для этого ничего настраивать не надо, функция встроена в любую типовую конфигурацию на платформе 8.3 с интерфейсом «Такси».

Откройте нужный список (например, Справочники → Контрагенты или журнал документов ) и действуйте по шагам:

  1. Настройте отбор и видимые колонки — выгрузится ровно то, что на экране. Лишние колонки уберите через настройку списка, нужные добавьте.
  2. Нажмите Ещё в правом верхнем углу списка (кнопка с многоточием).
  3. Выберите команду Вывести список.
  4. В появившемся окне отметьте, какие колонки включить, и выберите тип вывода — табличный документ.
  5. Полученный табличный документ сохраните: Ещё → Сохранить или Файл → Сохранить как, тип файла — лист Excel 2007 (.xlsx), .csv или .mxl.

Если нужен не весь список, а отдельные строки — выделите их мышью с зажатым Ctrl перед командой Вывести список. Выгрузятся только выделенные.

Для выгрузки печатной формы (счёта, акта, накладной) логика другая: сформируйте печатную форму документа и в её командной панели нажмите Сохранить, выбрав формат. Так удобно отдавать контрагенту один документ, а не целый список.

Табличный документ из 1С в Excel сохраняет значения, но не формулы. Если вы выгрузили отчёт с итогами, в Excel это будут числа, а не живые формулы — это нормально для передачи, но пересчитать внутри Excel не получится.

Выгрузка справочников и документов обработкой XML

Когда нужно перенести конкретные объекты (номенклатуру, контрагентов, остатки) между двумя базами 1С разово, а настраивать постоянный обмен избыточно, используют типовую обработку «Выгрузка и загрузка данных XML». Её распространяет фирма 1С, файл обычно называется ВыгрузкаЗагрузкаДанныхXML.epf.

Порядок работы:

  1. Откройте обработку через Файл → Открыть в режиме 1С:Предприятие (если она не встроена в конфигурацию).
  2. На закладке выгрузки укажите файл-приёмник (путь и имя .xml).
  3. Отметьте флажками объекты метаданных, которые нужно выгрузить — например, справочник «Номенклатура».
  4. При необходимости задайте отбор по периоду или реквизитам.
  5. Запустите выгрузку. На выходе — файл XML, который загружается этой же обработкой в другой базе с идентичной структурой метаданных.

Загрузка данных XML переносит объекты «как есть», вместе со ссылками. Структура метаданных в базе-приёмнике должна совпадать с базой-источником, иначе часть данных не загрузится. Это инструмент для одинаковых или очень близких конфигураций, а не для переноса между разными продуктами.

Для полного дампа всей базы обработка не нужна — есть штатная выгрузка в файл .dt: в Конфигураторе Администрирование → Выгрузить информационную базу. Но .dt — это копия всей базы целиком, а не выборочная выгрузка данных, и загружается она только в пустую базу.

Настройка обмена с другой базой 1С

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

Настройка живёт в разделе Администрирование → Синхронизация данных. Общий порядок:

  1. Включите синхронизацию данных — поставьте флажок в настройках и задайте префикс базы (например, «ЦБ» для центральной). Префикс нужен, чтобы коды и номера документов из разных баз не пересекались.
  2. Нажмите Настроить синхронизацию данных и выберите сценарий из списка — например, обмен «Бухгалтерия — Управление торговлей».
  3. Укажите способ подключения ко второй базе: прямое подключение, через файловый каталог или по FTP.
  4. Настройте правила отбора — какие организации, склады и за какой период участвуют в обмене.
  5. Выполните первую синхронизацию и проверьте, что данные прошли в обе стороны.
Сопоставление полей
Номенклатура→Справочник «Номенклатура» базы-приёмника
Контрагенты→Справочник «Контрагенты»
Документы реализации→Документы продаж в формате EnterpriseData
Префикс базы-источника→Код/номер объекта в приёмнике

Если типового сценария для вашей пары конфигураций нет, обмен настраивается через конвертацию данных (отдельная конфигурация «Конвертация данных », редакция 3) — там вручную сопоставляются объекты источника и приёмника. Это задача уже для специалиста.

Обмен с сайтом, банком и маркетплейсом

Три самых частых внешних обмена работают каждый по своему стандарту — универсального способа «выгрузить на любую площадку» нет.

Выгрузка на сайт (интернет-магазин). Используется открытый формат CommerceML: 1С выгружает каталог товаров и цены в файлы import.xml (товары) и offers.xml (предложения и остатки), а сайт их принимает. В типовых конфигурациях для торговли обмен настраивается в разделе обмена с сайтом: указываете адрес сайта, логин, пароль и расписание. Сайт на «1С-Битрикс» или другой CMS с поддержкой CommerceML принимает такой обмен без доработок.

Выгрузка в банк. Платёжные поручения отдаются в клиент-банк в формате «1С:Предприятие — Клиент банка». 1С формирует текстовый файл 1c_to_kl.txt, вы загружаете его в программу банка, а встречный файл kl_to_1c.txt с выписками загружаете обратно в 1С. Настройка — в разделе Банк и касса, обычно через команду выгрузки/загрузки платёжных документов. Сегодня чаще используют прямой обмен с банком (DirectBank), когда файлы не нужны вовсе, но файловый формат остаётся запасным вариантом.

Выгрузка на маркетплейс. Единого файлового формата здесь нет: каждая площадка принимает данные по своему API. Передача идёт либо через типовой модуль обмена с маркетплейсом (в конфигурациях для торговли), либо через интеграцию по OData/веб-сервисам. Поэтому «выгрузить файл на маркетплейс» в прямом смысле нельзя — настраивается именно программный обмен.

Для интеграции со сторонней программой по API в 1С есть стандартный интерфейс OData. Его включают в Конфигураторе при публикации базы на веб-сервере (Администрирование → Публикация на веб-сервере, флажок публикации стандартного интерфейса OData). После этого внешняя система читает и пишет данные 1С по HTTP, без файлов.

Проверка файла и разбор ошибок выгрузки

Выгрузка «прошла без ошибок» и «данные дошли правильно» — не одно и то же. Перед тем как отдать файл получателю, проверьте его.

  • XML проверяется на соответствие схеме: если обмен настроен по формату (CommerceML, EnterpriseData), файл должен валидироваться по XSD-схеме этого формата. Невалидный XML принимающая сторона отклонит целиком.
  • CSV чаще всего ломается на кодировке и разделителях. Для русских данных берите кодировку UTF-8 (или ту, что ждёт получатель), а разделитель — точку с запятой, если принимающая сторона — Excel с русскими региональными настройками.
  • Excel-файл проверяйте на лишние пустые строки и объединённые ячейки — они сбивают автоматический разбор.
Диагностика: выберите симптом

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

Выгрузка больших объёмов без перегрузки базы

Когда выгружается не сотня, а сотни тысяч строк, главный риск — не ошибка формата, а нагрузка на базу и зависание сеансов других пользователей.

Несколько приёмов, которые реально помогают:

  • Дробите выгрузку по периодам. Вместо «вся номенклатура за всё время» выгружайте помесячно или блоками. Так и файл меньше, и база не держит огромную выборку в памяти.
  • Запускайте тяжёлую выгрузку в нерабочее время. Регулярные обмены ставьте в расписание на ночь — в типовых конфигурациях это настраивается в самом задании синхронизации.
  • Не выгружайте лишние реквизиты. Чем меньше колонок и чем проще структура, тем быстрее формируется файл.
  • Для разовой массовой выгрузки на клиент-серверной базе предпочтительнее фоновое или регламентное задание, а не интерактивная обработка — интерактивный сеанс держит соединение всё время выгрузки.

Если выгрузка на сайт каждый раз передаёт весь каталог заново, проверьте, поддерживает ли обмен передачу только изменений. Инкрементальный обмен (только то, что поменялось с прошлого раза) кратно снижает объём и время.

Отдельно про формат при больших объёмах: Excel ограничен примерно миллионом строк на лист и тяжело открывает большие файлы. Для многомиллионных выгрузок берите CSV или XML — они и формируются быстрее, и обрабатываются программой, а не человеком.

Частые вопросы

Можно ли выгрузить данные из 1С без программиста?
Да. Выгрузка списка в Excel и типовая синхронизация баз настраиваются пользователем с правами администратора — через Ещё → Вывести список и раздел «Синхронизация данных». Программист нужен только для нестандартных обменов через конвертацию данных.
Чем отличается выгрузка в `.dt` от обмена данными?
Файл .dt — это полная копия всей базы, он загружается только в пустую базу и заменяет её целиком. Обмен данными переносит выбранные объекты (справочники, документы) в работающую базу, не затирая остальное.
В каком формате выгружать товары на сайт?
В формате CommerceML — это открытый стандарт для обмена «1С — сайт». Товары и цены выгружаются в файлы import.xml и offers.xml, которые принимает большинство CMS с поддержкой этого формата.
Почему при выгрузке в CSV ломается кодировка?
CSV не хранит информацию о кодировке, и Excel открывает файл в кодировке по умолчанию. Выгружайте в UTF-8 и согласуйте кодировку с получателем, либо используйте .xlsx, где эта проблема не возникает.
Как часто можно запускать синхронизацию баз?
По расписанию — хоть каждые несколько минут, но для тяжёлых баз разумнее раз в несколько часов или ночью. Частоту задают в настройке синхронизации; она должна соответствовать мощности сервера и реальной потребности в актуальных данных.