Экспорт данных из 1С:Предприятие — одна из самых востребованных операций как для бухгалтеров, так и для программистов. Без корректной выгрузки информации невозможно организовать обмен с контрагентами, загрузить данные в внешние сервисы или перенести историю в новую базу. Однако даже опытные пользователи сталкиваются с проблемами: то формат файла не подходит, то выгружаются не все поля, то возникают ошибки при открытии результата в Excel.
В этой статье мы разберём все этапы экспортной процедуры — от выбора метода выгрузки до обработки типичных ошибок. Особое внимание уделим автоматизации через встроенные обработки и скрипты, а также нюансам работы с популярными форматами: .xlsx, .xml, .json и .csv. Если вы никогда не занимались экспортом или хотите оптимизировать текущий процесс — здесь найдёте ответы на 90% практических вопросов.
Материал актуален для всех современных версий платформы 1С:Предприятие 8.3 (включая последние релизы 2026 года) и охватывает как типовые конфигурации (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом), так и самописные решения. Примеры кода и скриншоты интерфейса приведены для режима «1С:Предприятие» (не путать с конфигуратором!).
1. Типы экспорта в 1С: какой метод выбрать?
В 1С:Предприятие существует четыре основных способа выгрузки данных, каждый из которых подходит для разных задач. Ошибка на этом этапе приводит к потере времени: например, пытаться выгрузить справочник номенклатуры в .csv через «Сохранить как» — значит получить файл с разбитыми иерархиями и потерянными реквизитами.
Рассмотрим все варианты с указанием их плюсов, минусов и типичных сценариев применения:
- 📄 Ручной экспорт через меню (
Файл → Сохранить как): подходит для разовых выгрузок небольших таблиц (например, отчётов). Не требует навыков программирования, но ограничен форматами.mxl(для 1С) и.xlsx. Минус: невозможно настроить структуру выгружаемых данных. - ⚙️ Внешние обработки (например,
ВыгрузкаДанныхXML.epf): гибкий инструмент для регулярного обмена. Позволяет выгружать справочники, документы и регистры с сохранением связей. Плюс: можно доработать под специфические требования контрагентов. - 🤖 Программный экспорт через встроенный язык: максимальная автоматизация. Используется для интеграции с внешними системами (например, выгрузка заказов в Wildberries или Ozon). Требует: знания синтаксиса 1С или помощи разработчика.
- 🔄 Обмен через универсальные форматы (
EnterpriseData,CommerceML): стандарт для обмена между разными конфигурациями 1С. Пример: перенос данных из УТ 10.3 в УТ 11.
🔹 Ключевой критерий выбора: если вам нужно выгрузить данные одноразово для анализа — хватит ручного экспорта в Excel. Если требуется регулярный обмен (например, с маркетплейсом или другой 1С) — без программного решения или обработки не обойтись.
Для обмена с контрагентами на 1С всегда используйте формат XML с схемой CommerceML — это гарантирует совместимость с 90% типовых конфигураций.
2. Подготовка данных к экспорту: что нужно проверить?
Перед выгрузкой критически важно убедиться, что данные в базе полные и корректные. Например, если в справочнике Контрагенты отсутствуют ИНН или адреса, экспорт в ФНС или ЭДО завершится ошибкой. Вот чек-лист обязательных проверок:
☑️ Подготовка данных к экспорту
Особое внимание уделите связанным объектам. Например, при выгрузке документов РеализацияТоваровУслуг в XML должны присутствовать:
- 📦 Все позиции номенклатуры (включая характеристики и серии)
- 👤 Контрагенты с реквизитами (банковские счета, договора)
- 💰 Валюты и курсы (если документ многовалютный)
⚠️ Внимание: если выгружаете данные для ФНС или ЭДО, обязательно сверьтесь с актуальными требованиями к структурам файлов. Например, с 2026 года в чеках БСО требуется указывать дополнительные реквизиты покупателя.
Если в XML отсутствуют обязательные реквизиты (например, ИНН контрагента), система-получатель отвергнет файл с ошибкой "Несоответствие схеме". В случае с Excel это может привести к смещению колонок и некорректной аналитике.Что будет если экспортировать неполные данные?
Для проверки целостности данных перед экспортом используйте стандартный отчёт Анализ заполнения реквизитов (доступен в большинстве типовых конфигураций). Если отчёт показывает пропуски в критичных полях — исправьте их до выгрузки.
3. Пошаговая инструкция: экспорт в Excel (.xlsx)
Экспорт в .xlsx — самый распространённый сценарий для аналитики и отчётности. Рассмотрим процесс на примере выгрузки справочника Номенклатура из 1С:Управление торговлей 11.
Шаг 1. Откройте нужный справочник или отчёт
- Перейдите в раздел
Справочники → Номенклатура. - Откройте список позиций (например, через
Все действия → Открыть список). - При необходимости отфильтруйте данные (кнопка
Ещё → Настройка списка).
Шаг 2. Настройте колонки для экспорта
- 📌 Нажмите
Ещё → Настройка списка. - 📌 Включите галочками все нужные колонки (например,
Артикул,Цена продажи,Остаток). - 📌 Сохраните настройку под удобным именем (например,
Экспорт для прайса).
Шаг 3. Выгрузите данные
- Нажмите
Файл → Сохранить как. - Выберите формат
Лист Excel (*.xlsx). - Укажите путь сохранения и имя файла (например,
Прайс_2026.xlsx). - Нажмите
Сохранить.
⚠️ Внимание: если в данных есть иерархические справочники (например, группы номенклатуры), в Excel они отобразятся как отдельные строки с отступами. Чтобы сохранить структуру, после экспорта примените в Excel Данные → Группировка.
Если при открытии файла Excel выдаёт ошибку "Формат файла неверен", попробуйте сохранить его в формате .xls (старая версия) или используйте обработку ВыгрузкаВExcel.epf из каталога 1С.
4. Экспорт в XML: схемы, обработки и типичные ошибки
Формат .xml используется для обмена между системами 1С, интеграции с ЭДО, маркетплейсами и государственными сервисами (например, Честный ЗНАК). Главное отличие от Excel — здесь критично соблюдать структуру схемы, иначе файл не пройдёт валидацию.
Для выгрузки в XML в 1С предусмотрены:
- 📜 Универсальные обработки:
ВыгрузкаДанныхXML.epf(входит в поставку платформы). - 📜 Специализированные обработки: например,
ВыгрузкаДляФНС.epfилиCommerceML.epf(для обмена с сайтами). - 📜 Программный экспорт через методы
ЗаписатьXML()илиЗаписатьJSON().
Пример кода для программной выгрузки справочника в XML:
// Создаём объект записи XML
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Export\Номенклатура.xml");
// Выгружаем данные
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Товар");
ЗаписьXML.ЗаписатьАтрибут("Артикул", Выборка.Артикул);
ЗаписьXML.ЗаписатьЭлемент("Наименование", Выборка.Наименование);
ЗаписьXML.ЗаписатьЭлемент("Цена", Выборка.ЦенаПродажи);
ЗаписьXML.ЗаписатьКонецЭлемента(); // Закрываем тег "Товар"
КонецЦикла;
ЗаписьXML.Закрыть();
🔹 Типичные ошибки при экспорте в XML:
| Ошибка | Причина | Решение |
|---|---|---|
| Ошибка валидации схемы | Отсутствует обязательный тег или атрибут | Сверить структуру с XSD-схемой получателя |
| Кодировка CP1251 вместо UTF-8 | Не указан параметр кодировки при записи | Добавить ЗаписьXML.УстановитьСтроку("") |
| Пустые значения в числовых полях | В 1С число 0 может записываться как пустая строка | Заменить пустые значения на 0 перед экспортом |
Критичный нюанс: при обмене с маркетплейсами (Ozon, Wildberries) обязательно используйте схему CommerceML 2.07 или новее — старые версии могут не поддерживать актуальные реквизиты (например, штрихкоды GS1).
5. Автоматизация экспорта: расписания и внешние обработки
Если экспорт нужно выполнять регулярно (например, ежедневная выгрузка заказов в СДЭК или еженедельный отчёт в Excel), ручной метод не подходит. В 1С есть три способа автоматизации:
- ⏰ Регламентные задания: настройка расписания прямо в базе. Подходит для простых задач (например, выгрузка остатков каждый день в 23:00).
- 🤖 Внешние обработки с триггерами: можно привязать к событию (например, после проведения документа
РеализацияТоваровУслуг). - 🔄 Интеграция через REST API: для обмена с внешними сервисами (например, Bitrix24 или МойСклад).
Пример настройки регламентного задания:
- Откройте
Администрирование → Регламентные задания. - Создайте новое задание, выберите тип
Выполнение обработки. - Укажите путь к обработке (например,
ВыгрузкаЗаказовВExcel.epf). - Настройте расписание (ежедневно, еженедельно и т.д.).
- Сохраните и запустите тестовое выполнение.
⚠️ Внимание: при автоматизации экспорта в облачные сервисы (например, Google Sheets) учитывайте ограничения API. Например, Google блокирует частые запросы с одного IP — может потребоваться прокси или паузы между выгрузками.
Для отладки автоматических экспортов используйте журнал регистрации (Администрирование → Журнал регистрации). Фильтруйте записи по имени обработки — так вы увидите все ошибки и предупреждения.
6. Экспорт в JSON: работа с API и веб-сервисами
Формат .json стал стандартом для интеграции 1С с веб-сервисами, мобильными приложениями и low-code платформами (например, n8n или Zapier). Его главные плюсы:
- 📱 Легковесная структура (файлы меньше, чем XML).
- 🔌 Нативная поддержка в JavaScript/Python.
- 🔄 Удобно парсить в современных системах.
Пример выгрузки документа в JSON:
// Создаём объект записи JSON
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
// Выгружаем документ "Заказ покупателя"
Док = Документы.ЗаказПокупателя.НайтиПоНомеру("000123");
ЗаписьJSON.ЗаписатьНачалоОбъекта();
ЗаписьJSON.ЗаписатьКлючИЗначение("Номер", Док.Номер);
ЗаписьJSON.ЗаписатьКлюч("Дата");
ЗаписьJSON.ЗаписатьЗначение(Формат(Док.Дата, "ДФ=yyyy-MM-dd"));
ЗаписьJSON.ЗаписатьКлюч("Сумма");
ЗаписьJSON.ЗаписатьЧисло(Док.ИтогСумма);
// Выгружаем табличную часть
ЗаписьJSON.ЗаписатьКлюч("Товары");
ЗаписьJSON.ЗаписатьНачалоМассива();
Для Каждого Строка Из Док.Товары Цикл
ЗаписьJSON.ЗаписатьНачалоОбъекта();
ЗаписьJSON.ЗаписатьКлючИЗначение("Номенклатура", Строка.Номенклатура.Наименование);
ЗаписьJSON.ЗаписатьКлючИЗначение("Количество", Строка.Количество);
ЗаписьJSON.ЗаписатьКонецОбъекта();
КонецЦикла;
ЗаписьJSON.ЗаписатьКонецМассива();
ЗаписьJSON.ЗаписатьКонецОбъекта();
ЗаписьJSON.Закрыть();
// Сохраняем в файл
ТекстJSON = ЗаписьJSON.Закрыть();
ТекстJSON.Записать("C:\Export\Заказ_123.json");
🔹 Типичные проблемы при работе с JSON:
- 🕒 Даты в неверном формате: всегда используйте
Формат(Дата, "ДФ=yyyy-MM-dd")для совместимости. - 📉 Потеря точности чисел: в JSON нет типа
Числос фиксированной точностью — округляйте значения заранее. - 🔠 Кодировка символов: если в данных есть кириллица, убедитесь, что файл сохранён в
UTF-8.
7. Обработка ошибок: что делать, если экспорт не работает?
Даже при правильной настройке экспорт может завершаться ошибками. Рассмотрим топ-5 проблем и способы их решения:
| Ошибка | Вероятная причина | Решение |
|---|---|---|
| Файл не открывается в Excel | Неверный формат или повреждение данных | Попробуйте сохранить в .csv или используйте обработку ВыгрузкаВExcelПлюс |
| Ошибка "Недостаточно памяти" | Слишком большой объём данных | Разбейте экспорт на части или используйте ПакетнаяЗаписьXML |
| XML не проходит валидацию | Отсутствуют обязательные теги | Сверить структуру с XSD-схемой получателя |
| В JSON пустые значения вместо чисел | Не обработаны NULL-значения | Замените Неопределено на 0 или "" перед экспортом |
| Экспорт зависает на 99% | Блокировка данных другими пользователями | Выполните экспорт в монопольном режиме или ночью |
⚠️ Внимание: если ошибка возникает при обмене с государственными системами (например, Честный ЗНАК), проверьте актуальность криптографических сертификатов в личном кабинете. Истёкший сертификат может блокировать загрузку файлов.
1. Проверьте журнал регистрации ( 2. Включите режим отладки ( 3. Если ошибка в XML/JSON — валидируйте файл через онлайн-сервисы (например, XML Validator). 4. Для Excel попробуйте открыть файл в LibreOffice — он чаще показывает конкретную причину.Как диагностировать ошибку экспорта?
Администрирование → Журнал регистрации).
Сервис → Параметры → Отладка).
8. Оптимизация экспорта: как ускорить выгрузку больших данных?
Если в базе миллионы записей, стандартные методы экспорта могут работать часами. Вот проверенные способы ускорения:
- ⚡ Пакетная обработка: выгружайте данные порциями по 10 000 строк.
- ⚡ Отключение триггеров: перед экспортом временно отключите обработчики событий (
УстановитьПривилегированныйРежим(Истина)). - ⚡ Использование временных таблиц: для сложных выборок сначала сохраните данные во временную таблицу, а затем экспортируйте её.
- ⚡ Асинхронный экспорт: запускайте выгрузку в фоновом режиме через
ФоновоеЗадание.
Пример оптимизированного кода для выгрузки большого справочника:
// Используем пакетную запись для ускорения
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Export\БольшойСправочник.xml");
// Выгружаем данными порциями по 10 000 строк
Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Контрагент");
ЗаписьXML.ЗаписатьАтрибут("ИНН", Выборка.ИНН);
// ... другие поля
ЗаписьXML.ЗаписатьКонецЭлемента();
// Каждые 10 000 строк сбрасываем буфер на диск
Если Выборка.Счетчик() % 10000 = 0 Тогда
ЗаписьXML.Сбросить();
КонецЕсли;
КонецЦикла;
ЗаписьXML.Закрыть();
🔹 Дополнительные советы:
- 📊 Для
Excel: если файлы больше 100 МБ, используйте формат.csv— он открывается быстрее. - 📊 Для
XML/JSON: сжимайте файлы черезZipАрхивпрямо в 1С перед отправкой.
Самый быстрый способ экспорта больших данных — использование ADO или SQL-запросов напрямую к базе. Однако это требует прав администратора и знания структуры таблиц 1С.
FAQ: Ответы на частые вопросы
Как экспортировать данные с сохранением иерархии (например, группы номенклатуры)?
Для сохранения иерархии в Excel используйте обработку ВыгрузкаВExcelСИерархией.epf (доступна на Инфостарте). Для XML убедитесь, что в схеме предусмотрены теги для родительских элементов (например, <Группа><Наименование>Мебель</Наименование></Группа>).
Можно ли экспортировать данные из 1С прямо в Google Sheets?
Да, для этого нужно:
- Создать Google Apps Script с функцией загрузки данных.
- В 1С использовать
HTTPСоединениедля отправки JSON на веб-хук скрипта. - Настроить авторизацию через OAuth 2.0 (или использовать сервисный аккаунт).
Готовые решения есть на Гитхабе (поиск по запросу 1C to Google Sheets).
Почему при экспорте в Excel русские буквы отображаются как "?????"?
Это проблема кодировки. Решения:
- При сохранении файла выберите
Юникод (UTF-8). - В коде экспорта добавьте строку
Запись.УстановитьКодировкуТекста(КодировкаТекста.UTF8). - Откройте файл в LibreOffice и сохраните с правильной кодировкой.
Как автоматизировать экспорт так, чтобы файл отправлялся по email?
Используйте комбинацию регламентного задания и встроенной почты 1С:
// После выгрузки файла
Письмо = Новый ПочтаMail;
Письмо.Адресат = "client@example.com";
Письмо.Тема = "Ежедневный отчёт по продажам";
Письмо.Текст = "Во вложении актуальные данные.";
Письмо.Вложения.Добавить("C:\Export\Отчёт.xlsx");
Письмо.Отправить();
Для надёжности настройте SMTP-сервер в параметрах почты 1С.
Какие обработки для экспорта вы рекомендуете?
Топ-5 проверенных обработок с Инфостарта:
ВыгрузкаУниверсальнаяXMLJSON— поддерживает оба формата и гибкие настройки.ВыгрузкаВExcelПлюс— расширенные возможности для Excel (цвета, формулы).ОбменСWildberries— специализированная выгрузка для маркетплейса.ВыгрузкаДляЧестногоЗНАКа— формирует XML по требованиям ГИС МТ.МенеджерЭкспортаИмпорта— универсальный инструмент с историей выгрузок.
Все обработки бесплатны в базовой версии, но для некоторых нужна подписка на 1С:ИТС.