Выгрузка документов из 1С:Предприятие — рутинная задача, с которой регулярно сталкиваются бухгалтеры, логисты и IT-специалисты.hether вы отправляете данные в налоговую, синхронизируете склады с маркетплейсами или просто архивируете первичку, правильная выгрузка экономит часы работы. Но даже опытные пользователи иногда теряются: какой формат выбрать, как избежать ошибок при конвертации, и почему Excel «портит» суммы с копейками.

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

1. Стандартные способы выгрузки: что можно сделать без программирования

Большинство задач по выгрузке документов решаются штатными средствами — без привлечения разработчиков. Рассмотрим основные варианты, доступные в типовой конфигурации (на примере 1С:Бухгалтерия 3.0 и 1С:Управление торговлей 11).

Самый простой способ — выгрузка в Excel через меню Файл → Сохранить как... или кнопку «Выгрузить» в списке документов. Однако у этого метода есть ограничения:

  • 📊 Форматирование: даты преобразуются в текст, суммы с копейками могут округляться до целых.
  • 🔄 Связи: не сохраняются ссылки между документами (например, счёт → оплата).
  • 📈 Объём: при выгрузке более 10 000 строк Excel может «зависнуть».

Для бухгалтерских отчётов удобнее использовать регламентированные отчёты (например, Декларация по НДС или Книга покупок). Они автоматически формируются в формате, пригодном для загрузки в Личный кабинет налогоплательщика или Контур.Экстерн. Путь к ним: Отчёты → Регламентированные отчёты.

📊 Какой формат выгрузки вы используете чаще?
Excel
XML
DBF
Текстовый (CSV/TXT)
Другой

Ещё один полезный инструмент — универсальный обмен данными (Администрирование → Обмен данными). Здесь можно настроить выгрузку в XML или DBF по заданному шаблону. Например, для передачи остатков на склад Wildberries или в программу Склад-Мастер.

💡

Если вам нужны данные в Excel с сохранением формул и форматирования, используйте внешнюю обработку «Выгрузка в Excel» от фирмы 1С (доступна в каталоге дополнений). Она позволяет гибко настраивать колонки и избегать проблем с копейками.

2. Выгрузка в XML: когда нужна структура, а не просто таблица

Формат XML незаменим, когда требуется сохранить иерархию документов и справочников — например, при переносе данных между базами 1С или интеграции с внешними системами. В отличие от Excel, здесь сохраняются все связи: какой товар относится к какой группе, какой документ является основанием для другого и т.д.

Чтобы выгрузить документ в XML:

  1. Откройте нужный документ (например, Реализация товаров и услуг).
  2. Нажмите Ещё → Выгрузить в файл (или Файл → Сохранить как...).
  3. Выберите формат XML (*.xml).
  4. Укажите путь для сохранения и подтвердите экспорт.

Для пакетной выгрузки нескольких документов используйте обработку «Выгрузка данных в XML» (Файл → Открыть → Дополнительные отчёты и обработки). Здесь можно задать фильтры по дате, типу документа или контрагенту.

Что делать, если XML-файл не открывается в другой программе?

Частая проблема — несовпадение схемы данных. Проверьте:

1. Версию формата (например, CommerceML 2.0 для обмена с сайтами).

2. Кодировку файла (должна быть UTF-8 или Windows-1251).

3. Наличие обязательных тегов (например, <Каталог> для товаров).

Если ошибка сохраняется, попробуйте открыть файл в Notepad++ и сравнить его со схемой (XSD), которую ожидает принимающая система.

Для автоматизации обмена XML между базами 1С настройте планы обмена (Администрирование → Обмен данными → Планы обмена). Это позволит синхронизировать данные по расписанию, избегая ручного экспорта/импорта.

⚠️ Внимание: При выгрузке в XML через планы обмена проверьте настройки прав доступа. Если у пользователя нет прав на чтение справочников (например, Номенклатура), в файле окажутся пустые ссылки вместо наименований товаров.

3. Выгрузка в DBF: для совместимости со старыми системами

Формат DBF актуален при обмене с устаревшим ПО (например, 1С:Предприятие 7.7, Парус или Галактика). Он поддерживает табличную структуру, но не сохраняет иерархию. Главные плюсы:

  • 🔄 Совместимость с большинством учётных систем 90-х — 2000-х.
  • 📊 Поддержка больших объёмов данных (до миллионов записей).
  • 🔧 Возможность редактирования в Excel или FoxPro.

Для выгрузки в DBF:

  1. Откройте список документов (например, Поступление товаров).
  2. Выделите нужные строки (или нажмите Ctrl+A для выделения всех).
  3. Нажмите Ещё → Выгрузить в DBF.
  4. Укажите путь и имя файла (расширение .dbf добавится автоматически).

Если кнопки «Выгрузить в DBF» нет, используйте внешнюю обработку «ВыгрузкаЗагрузкаДанныхXML» (входит в поставку 1С). Она поддерживает DBF наряду с XML и TXT.

Формат Подходит для Ограничения Скорость выгрузки
Excel (XLSX) Отчёты, аналитика, ручная обработка Округление чисел, нет связей между документами Средняя (зависит от версии Excel)
XML Обмен между базами 1С, интеграция с сайтами Сложная структура, требует валидации Высокая
DBF Обмен со старыми системами (1С 7.7, Парус) Нет иерархии, ограничения на длину полей Очень высокая
CSV/TXT Импорт в веб-сервисы (Яндекс.Маркет, OZON) Нет типов данных, проблемы с разделителями Высокая
⚠️ Внимание: В DBF поля с датами сохраняются в формате YYYYMMDD (например, 20260515 для 15 мая 2026). Если принимающая система ожидает другой формат, потребуется конвертация.

4. Программная выгрузка: для разработчиков и сложных задач

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

Пример 1. Выгрузка документа в Excel:

Процедура ВыгрузитьВExcel

Таблица = Новый ТаблицаЗначений;

Таблица.Колонки.Добавить("Дата");

Таблица.Колонки.Добавить("Номер");

Таблица.Колонки.Добавить("Сумма");

Запрос = Новый Запрос;

Запрос.Текст ="ВЫБРАТЬ

| РеализацияТоваровУслуг.Дата КАК Дата,

| РеализацияТоваровУслуг.Номер КАК Номер,

| РеализацияТоваровУслуг.СуммаДокумента КАК Сумма

|ИЗ

| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";

Результат = Запрос.Выполнить;

Выборка = Результат.Выбрать;

Пока Выборка.Следующий Цикл

НоваяСтрока = Таблица.Добавить;

НоваяСтрока.Дата = Выборка.Дата;

НоваяСтрока.Номер = Выборка.Номер;

НоваяСтрока.Сумма = Выборка.Сумма;

КонецЦикла;

Excel = Новый ExcelПриложение;

Книга = Excel.Kниги.Добавить;

Лист = Книга.Листы(1);

Лист.Ячейки(1,1).Значение ="Отчёт по реализации";

Лист.Ячейки(2,1).CopyFromRecordset(Таблица.Выгрузить);

Excel.Видимость = Истина; // Показать Excel

КонецПроцедуры

Пример 2. Выгрузка справочника в XML:

Процедура ВыгрузитьНоменклатуруВXML

ЗаписьXML = Новый ЗаписьXML;

ЗаписьXML.ОткрытьФайл("C:\Export\Номенклатура.xml");

ЗаписьXML.ЗаписатьОбъявлениеXML;

ЗаписьXML.ЗаписатьНачалоЭлемента("КаталогТоваров");

ЗаписьXML.ЗаписатьАтрибут("ВерсияСхемы","2.0");

Выборка = Справочники.Номенклатура.Выбрать;

Пока Выборка.Следующий Цикл

ЗаписьXML.ЗаписатьНачалоЭлемента("Товар");

ЗаписьXML.ЗаписатьАтрибут("Код", Выборка.Код);

ЗаписьXML.ЗаписатьАтрибут("Наименование", Выборка.Наименование);

ЗаписьXML.ЗаписатьКонецЭлемента; // Товар

КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента; // КаталогТоваров

ЗаписьXML.Закрыть;

КонецПроцедуры

Для автоматизации таких задач создайте регламентное задание (Администрирование → Регламентные задания) и привяжите к нему процедуру выгрузки. Например, чтобы каждый день в 23:00 формировался XML-отчёт для ФНС.

Отладить код в консоли запросов (Сервис → Консоль запросов)

Проверить права пользователя на чтение данных

Создать резервную копию базы (Администрирование → Выгрузить информационную базу)

Убедиться, что на диске достаточно места для экспорта-->

5. Типичные ошибки и как их избежать

Даже при кажущейся простоте выгрузки пользователи сталкиваются с проблемами. Разберём самые частые и способы их решения.

1. Ошибка «Недостаточно памяти» при выгрузке в Excel

  • 🔹 Причина: слишком много данных (более 50 000 строк) или сложные формулы.
  • 🔹 Решение: разбейте выгрузку на части по датам или контрагентам. Или используйте CSV вместо XLSX.

2. В XML-файле пустые теги вместо данных

  • 🔹 Причина: отсутствуют права на чтение справочников (например, Контрагенты или Номенклатура).
  • 🔹 Решение: проверьте роли пользователя в Администрирование → Пользователи.

3. Даты в DBF отображаются как числа (например, 44668)

  • 🔹 Причина: DBF хранит даты в числовом формате (количество дней с 30.12.1899).
  • 🔹 Решение: в принимающей системе настройте преобразование по формуле =ДАТА(1899;12;30)+A1 (для Excel).

4. Выгрузка «зависает» на 99%

  • 🔹 Причина: блокировка базы другими пользователями или большие бинарные данные (например, вложения в документах).
  • 🔹 Решение: выполните выгрузку в нерабочее время или через COM-соединение с правами администратора.

1. Наличие свободного места на диске (экспорт 100 000 документов может занять 10+ ГБ).

2. Отсутствие блокировок в базе (Администрирование → Активные пользователи).

3. Совместимость версий 1С (например, УТ 11.4 и БП 3.0 могут использовать разные схемы XML).-->

6. Обмен данными между базами 1С

Если нужно перенести документы из одной базы 1С в другую (например, из Управления торговлей в Бухгалтерию), используйте типовой обмен данными. Он поддерживает:

  • 🔄 Синхронизацию справочников (Контрагенты, Номенклатура).
  • 📄 Перенос документов (Поступление, Реализация, Счёт-фактура).
  • 🔗 Сопоставление объектов по уникальным идентификаторам (GUID).

Для настройки обмена:

  1. В обеих базах откройте Администрирование → Обмен данными.
  2. Создайте новый план обмена (например, ОбменСБухгалтерией).
  3. Укажите узлы обмена (имена баз) и настройте правила преобразования.
  4. В меню Действия выберите Выгрузить данные или Загрузить данные.

Для обмена между разными конфигурациями (например, УТ 11 и ERP 2.5) используйте универсальный формат обмена (EnterpriseData). Он поддерживает:

  • 📦 Перенос остатков товаров.
  • 📊 Выгрузку оборотов по счётам.
  • 🔧 Гибкую настройку соответствий полей.
⚠️ Внимание: При обмене между базами с разными версиями платформы (например, 8.3.20 и 8.3.22) могут возникать ошибки из-за изменений в структуре метаданных. Перед массовым переносом протестируйте обмен на копии баз.

Если типовой обмен не подходит, разработайте собственное решение на основе:

  • HTTP-Сервисов (для облачных интеграций).
  • COM-соединения (для локальных баз).
  • Расширений конфигурации (для доработки логики обмена).

7. Выгрузка для отчётности: нюансы для ФНС, ПФР и статистики

При формировании отчётности для госорганов важно соблюдать требования к формату. Например:

  • 📋 ФНС: декларации по НДС, налогу на прибыль выгружаются в XML по схеме 5.05 (для 2026 года).
  • 📊 ПФР: формы СЗВ-ТД и СЗВ-СТАЖ — в XML с электронной подписью.
  • 📈 Росстат: некоторые отчёты требуют DBF или TXT с фиксированной шириной колонок.

Чтобы выгрузить регламентированный отчёт:

  1. Откройте Отчёты → Регламентированные отчёты.
  2. Выберите нужный отчёт (например, Декларация по НДС).
  3. Заполните параметры (период, организация).
  4. Нажмите Выгрузить и выберите формат (обычно предлагается автоматически).

Для проверки корректности XML-файлов перед отправкой используйте:

  • Программу «Налогоплательщик ЮЛ» (для ФНС).
  • Сервис «Контур.Экстерн» (проверяет логику и арифметику).
  • Валидатор XML (например, XML Notepad для визуального контроля структуры).

Если отчёт не проходит проверку,ные ошибки:

  • 🔹 Код 100: неверный формат даты (должен быть ДД.ММ.ГГГГ).
  • 🔹 Код 200: не совпадают контрольные соотношения (например, строка 010 ≠ сумме строк 020+030).
  • 🔹 Код 300: отсутствует обязательный реквизит (например, ИНН контрагента).
Как исправить ошибку"Недопустимый символ в XML"

Ошибка возникает, если в данных есть символы &, < или >, которые не экранированы. Решение:

1. В обработке выгрузки добавьте замену:

Текст = СтрЗаменить(Текст,"&","&");

Текст = СтрЗаменить(Текст,"<","<");

Текст = СтрЗаменить(Текст,">",">");

2. Или используйте функцию ЭкранироватьСтрокуДляXML из стандартной библиотеки 1С.

8. Автоматизация выгрузки: расписания и внешние сервисы

Ручная выгрузка отнимает время, особенно если документы нужно отправлять ежедневно. Автоматизировать процесс можно несколькими способами:

1. Регламентные задания в 1С

Настройте автоматическую выгрузку по расписанию:

  1. Откройте Администрирование → Регламентные задания.
  2. Создайте новое задание, укажите процедуру (например, ВыгрузитьДанныеВXML).
  3. Задайте расписание (ежедневно в 22:00) и пользователя, от имени которого будет выполняться задача.

2. Внешние сервисы интеграции

Для сложных сценариев (например, обмен с 1С:Документооборот или Bitrix24) используйте:

  • 🔗 1С:Коннект — облачный сервис для обмена данными между базами.
  • 🔗 Rarus:Интеграция — поддерживает обмен с SAP, Oracle, МойСклад.
  • 🔗 Zabbix — для мониторинга успешности выгрузок.

3. Скрипты на Python или PowerShell

Если нужно обработать выгруженные данные перед загрузкой в другую систему, напишите скрипт. Пример на Python для конвертации XML в JSON:

import xmltodict

import json

with open("export.xml","r", encoding="utf-8") as xml_file:

data = xmltodict.parse(xml_file.read)

with open("output.json","w", encoding="utf-8") as json_file:

json.dump(data, json_file, ensure_ascii=False, indent=4)

Для запуска таких скриптов по расписанию используйте Планировщик заданий Windows или cron в Linux.

⚠️ Внимание: При автоматизации учитывайте пиковые нагрузки. Например, если выгрузка запускается в то же время, что и регламентные операции (например, Закрытие месяца), база может «подвисать». Распределяйте задачи по времени.

FAQ: Частые вопросы по выгрузке документов из 1С

Можно ли выгрузить документы за прошлый год, если база уже архивирована?

Да, но для этого нужно:

  1. Восстановить архивную копию базы на тестовом сервере.
  2. Выгрузить данные в нужном формате.
  3. Если требуется перенос в текущую базу — использовать загрузку из XML с флагом «Помечать на удаление отсутствующие объекты» = Ложь.

Альтернатива: запросить выгрузку у администратора, если архив хранится в облаке (например, в 1С:Fresh).

Почему при выгрузке в Excel суммы с копейками становятся целыми числами?

Проблема в настройках региональных стандартов:

  1. В 1С откройте Сервис → Параметры → Язык и региональные стандарты.
  2. Установите формат числа с двумя знаками после запятой.
  3. При выгрузке выберите Сохранить форматирование.

Если проблема сохраняется, используйте CSV вместо XLSX — в нём копейки сохраняются корректно.

Как выгрузить документы с вложениями (сканы, фотографии)?

Вложения хранятся в базе как бинарные данные. Чтобы их выгрузить:

  1. Используйте обработку «Выгрузка и загрузка данных XML» с флагом «Включать вложения».
  2. Или напишите скрипт на встроенном языке, который сохраняет вложения в отдельную папку:
Процедура ВыгрузитьВложения(Документ)

Каталог ="C:\Export\Вложения\" + Документ.Номер +"\";

СоздатьКаталог(Каталог);

Для Каждого Вложение Из Документ.ВложенияФайлы Цикл

Вложение.Записать(Каталог + Вложение.ИмяФайла);

КонецЦикла;

КонецПроцедуры

Можно ли выгрузить данные напрямую в Google Sheets?

Прямой выгрузки нет, но есть обходные пути:

  1. Выгрузите данные в CSV, затем импортируйте в Google Sheets через Файл → Импорт.
  2. Используйте API Google Sheets + скрипт на для автоматической загрузки.
  3. Настройте интеграцию через Zapier или Make (ex-Integromat).

Для постоянной синхронизации удобнее использовать 1С:Коннект с подключением к Google Drive.

Как ускорить выгрузку больших объёмов данных (более 100 000 документов)?

Рекомендации для ускорения:

  • 🔹 Выгружайте данные порциями (по месяцам или типам документов).
  • 🔹 Используйте DBF или CSV вместо XML/Excel.
  • 🔹 Отключите журнализацию на время выгрузки (Администрирование → Журналы регистрации).
  • 🔹 Запускайте выгрузку в фоновом режиме:
Выгрузка = Новый ВыгрузкаДанныхXML;

Выгрузка.АсинхронныйРежим = Истина;

Выгрузка.Выгрузить("C:\Export\data.xml");