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

В этой статье мы разберем все способы экспорта — от ручного сохранения в Excel до автоматизированной выгрузки через XML и JSON. Вы узнаете, как избежать типичных ошибок при работе с большими объемами данных, какие настройки влияют на структуру выходного файла, и как настроить регулярный экспорт без участия пользователя. Особое внимание уделим нюансам для разных конфигураций: 1С:Бухгалтерия 8.3, 1С:Управление торговлей 11 и 1С:Зарплата и управление персоналом 3.1.

Если вы никогда раньше не занимались экспортом или сталкивались с проблемами при выгрузке — эта инструкция поможет разобраться во всех деталях. Для опытных пользователей мы подготовили раздел с продвинутыми техниками, включая работу с XDTO-пакетами и настройку обмена через REST API.

1. Основные форматы экспорта из 1С: какой выбрать?

Перед тем как приступить к выгрузке, нужно определиться с форматом выходного файла. От этого зависит не только совместимость с внешними системами, но и сохранность структуры данных. В 1С:Предприятие поддерживаются следующие основные форматы:

  • 📄 Excel (XLS/XLSX) — удобен для ручного анализа и редактирования. Подходит для выгрузки справочников, остатков товаров или бухгалтерских отчетов. Главный минус: ограничение на количество строк (1 048 576 в XLSX).
  • 📝 CSV — универсальный текстовый формат для обмена с другими программами. Легко обрабатывается скриптами, но требует точной настройки разделителей (запятая, точка с запятой).
  • 🔗 XML — стандарт для структурированного обмена. Используется в интеграциях с госорганами (например, выгрузка в ФНС или ПФР). Позволяет сохранять иерархию данных.
  • 💾 JSON — популярный формат для веб-сервисов и API. Компактнее XML, но менее читаемый для человека. Часто применяется при обмене с CRM-системами или маркетплейсами.
  • 🖼️ DBF — устаревший формат, но до сих пор используется в некоторых бухгалтерских программах (например, Парус). Имеет ограничение на длину названий полей (10 символов).

Выбор формата зависит от цели экспорта:

Цель экспорта Рекомендуемый формат Пример использования
Ручной анализ данных XLSX Выгрузка оборотно-сальдовой ведомости для аудитора
Автоматизированный обмен с сайтом JSON или XML Синхронизация каталога товаров с Wildberries
Отчетность в госорганы XML (по шаблонам ФНС) Выгрузка декларации по НДС
Импорт в другую 1С XML (через универсальный обмен) Перенос справочника контрагентов между базами
⚠️ Внимание: При экспорте в CSV проверьте кодировку файла. Если в данных есть кириллица, используйте UTF-8 или Windows-1251. В противном случае символы превратятся в "кракозябры".

Для большинства задач оптимальным выбором станет Excel (для визуальной работы) или XML/JSON (для автоматизированного обмена). Если вы не уверены, какой формат нужен, попробуйте экспортировать данные в XLSX и посмотрите, сохраняется ли структура. В 90% случаев этого достаточно для дальнейшей обработки.

📊 Какой формат вы чаще всего используете для экспорта из 1С?
Excel (XLS/XLSX)
CSV
XML
JSON
DBF
Другой

2. Руководство по экспорту в Excel: пошаговая инструкция

Экспорт в Excel — самая распространенная операция, с которой сталкиваются пользователи . Рассмотрим процесс на примере выгрузки справочника "Номенклатура" из 1С:Управление торговлей 11.

Алгоритм действий:

  1. Откройте справочник Номенклатура через меню Справочники → Товары (номенклатура) → Номенклатура.
  2. Нажмите кнопку Ещё (или Действия в старых версиях) и выберите Выгрузить в Excel.
  3. В открывшемся окне укажите:
    • 📁 Путь сохранения файла (например, C:\Exports\Номенклатура.xlsx).
    • 📋 Выгружаемые колонки — снимите галочки с ненужных полей (например, Пометка удаления или Родитель).
    • 🔄 Формат файла — выберите Excel 2007+ (*.xlsx).
  • Нажмите Выгрузить и дождитесь завершения операции.
  • Если вам нужно выгрузить не весь справочник, а только часть данных (например, товары определенной группы), предварительно установите отбор:

    1. В окне справочника нажмите Ещё → Установить отбор.
    2. Добавьте условие, например: Группа = "Электроника".
    3. После применения отбора повторите шаги экспорта.

    Установить нужный отбор|Проверить список выгружаемых колонок|Выбрать формат XLSX для больших объемов|Указать корректный путь сохранения|Закрыть файл Excel, если он открыт-->

    Обратите внимание на типичную ошибку: если в данных есть длинные тексты (например, описания товаров), они могут обрезаться в ячейках Excel. Чтобы этого избежать, после выгрузки:

    1. Откройте файл в Excel.
    2. Выделите колонку с длинным текстом.
    3. Нажмите правой кнопкой → Формат ячеек → Выравнивание → Переносить по словам.
    ⚠️ Внимание: При экспорте в XLS (старый формат) данные ограничены 65 536 строками. Если у вас больше записей, используйте только XLSX.

    Для автоматизации рутинных выгрузок можно создать внешнюю обработку с предварительно настроенными параметрами. Например, обработка "ВыгрузкаВExcel.epf" позволит сохранять данные в один клик без повторной настройки колонок.

    3. Экспорт в XML: структурированный обмен данными

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

    Рассмотрим процесс на примере выгрузки документа "Реализация товаров и услуг":

    1. Откройте журнал документов Продажи → Реализация товаров и услуг.
    2. Выделите нужный документ и нажмите Ещё → Выгрузить в XML.
    3. В окне экспорта укажите:
      • 📁 Путь к файлу (например, C:\Exports\Реализация_001.xml).
      • 🔧 Схему выгрузки — выберите Универсальный обмен данными (XML).
      • 📌 Параметры — при необходимости добавьте префикс для тегов (например, ns:).
  • Нажмите Выгрузить.
  • Готовый XML-файл будет содержать структуру вида:

    <?xml version="1.0" encoding="utf-8"?>
    

    <Документ>

    <Шапка Номер="000000001" Дата="2026-05-20">

    <Контрагент>ООО "Ромашка"</Контрагент>

    <Сумма>12500.00</Сумма>

    </Шапка>

    <ТабличнаяЧасть>

    <Строка>

    <Номенклатура>Монитор 24"</Номенклатура>

    <Количество>2</Количество>

    <Цена>6250.00</Цена>

    </Строка>

    </ТабличнаяЧасть>

    </Документ>

    Для проверки корректности XML используйте валидаторы вроде XML Validator или встроенные инструменты Notepad++. Ошибки в структуре (например, незакрытые теги) приведут к сбою при импорте в другую систему.

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

    Если при попытке открыть XML-файл вы видите ошибку "Недопустимый формат", проверьте:

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

    2. Наличие специальных символов (например, &, <, >) — они должны быть экранированы как &amp;, &lt;, &gt;.

    3. Корректность структуры (все теги должны быть закрыты).

    Если проблема сохраняется, попробуйте открыть файл в блокноте и найти строку с ошибкой по номеру из сообщения валидатора.

    Для регулярного обмена данными между базами настройте планы обмена. Это позволит автоматически синхронизировать справочники и документы по расписанию. Например, можно настроить ежедневную выгрузку остатков товаров из 1С:УТ в 1С:Розница.

    Задача Рекомендуемая схема XML Примечание
    Обмен с ФНС НалоговаяДекларация_v5.xsd Используйте актуальную версию схемы с сайта ФНС
    Перенос справочников УниверсальныйОбменДанными Поддерживает иерархические справочники
    Интеграция с сайтом CommerceML 2.0 Стандарт для обмена с 1С-Битрикс

    4. Автоматизация экспорта: обработки и внешние отчеты

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

    • 🛠️ Внешние обработки — готовые решения для типовых задач (например, "ВыгрузкаЗаказовПокупателей.epf").
    • 🤖 Регламентные задания — настройка автоматического экспорта по расписанию (ежедневно, еженедельно).
    • 🔌 HTTP-сервисы — выгрузка данных по REST API для интеграции с веб-приложениями.

    Рассмотрим создание простого регламентного задания для ежедневной выгрузки остатков товаров:

    1. Перейдите в Администрирование → Поддержка и обслуживание → Регламентные задания.
    2. Нажмите Создать и выберите тип Выгрузка данных.
    3. Заполните параметры:
      • 📅 Расписание — установите время (например, Каждый день в 23:00).
      • 📂 Источник данных — укажите отчет Остатки товаров.
      • 📄 Формат выгрузки — выберите Excel или CSV.
      • 📌 Путь сохранения — например, \\Server\Exports\Остатки_${Дата}.xlsx (где ${Дата} — переменная текущей даты).
  • Сохраните задание и запустите его вручную для теста.
  • Для более гибкой настройки используйте внешние обработки. Например, обработка "Универсальный экспорт в Excel" позволяет:

    • 📊 Настраивать произвольные колонки и их порядок.
    • 🔍 Применять отборы и группировки.
    • 📈 Добавлять вычисляемые поля (например, СуммаСНДС = Сумма * 1.2).

    Готовые обработки можно скачать на портале 1С:ИТС или на сайтах партнеров (например, Инфостарт). Перед использованием проверьте совместимость с вашей версией конфигурации.

    💡

    Если вам нужно экспортировать данные с сохранением формул (например, расчеты в отчетах), используйте формат ODS (OpenDocument Spreadsheet). Он поддерживает формулы лучше, чем XLSX.

    ⚠️ Внимание: При настройке автоматического экспорта в сетевой папке (\\Server\...) убедитесь, что у пользователя есть права на запись. Иначе задание завершится с ошибкой "Отказано в доступе".

    5. Продвинутые техники: XDTO, JSON и работа с API

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

    • 🔗 XDTO-пакеты — технология для описания структуры данных при обмене между системами. Позволяет создавать сложные XML-сообщения с валидацией.
    • 📡 JSON — легковесный формат для обмена с веб-сервисами. Поддерживается в 1С 8.3.10+.
    • 🌐 REST API — взаимодействие с внешними системами по протоколу HTTP.

    Рассмотрим пример выгрузки данных в JSON с использованием встроенных механизмов :

    // Пример кода для выгрузки справочника контрагентов в JSON
    

    Процедура ВыгрузитьКонтрагентовВJSON()

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

    Запрос.Текст =

    "ВЫБРАТЬ

    | Контрагенты.Ссылка КАК Ссылка,

    | Контрагенты.Наименование КАК Наименование,

    | Контрагенты.ИНН КАК ИНН

    |ИЗ

    | Справочник.Контрагенты КАК Контрагенты";

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

    Выборка = РезультатЗапроса.Выбрать();

    МассивКонтрагентов = Новый Массив;

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

    Элемент = Новый Структура;

    Элемент.Вставить("ID", Выборка.Ссылка.УникальныйИдентификатор());

    Элемент.Вставить("Name", Выборка.Наименование);

    Элемент.Вставить("INN", Выборка.ИНН);

    МассивКонтрагентов.Добавить(Элемент);

    КонецЦикла;

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

    ЗаписьJSON.УстановитьСтроку();

    ЗаписьJSON.ЗаписатьJSON(МассивКонтрагентов);

    ТекстJSON = ЗаписьJSON.Закрыть();

    ТекстJSON.Записать("C:\Exports\Контрагенты.json", КодировкаТекста.UTF8);

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

    Этот код создаст файл Контрагенты.json со структурой:

    [
    

    {

    "ID": "a1b2c3d4-5678-90ef-1234-567890abcdef",

    "Name": "ООО «Ромашка»",

    "INN": "1234567890"

    },

    {

    "ID": "b2c3d4e5-6789-01fg-2345-678901bcdefg",

    "Name": "ИП Иванов И.И.",

    "INN": "0987654321"

    }

    ]

    Для работы с REST API используйте объект HTTPСоединение. Пример отправки данных на сервер:

    Процедура ОтправитьДанныеНаСервер()
    
    

    URL = "https://api.example.com/upload";

    ТокенДоступа = "ВашТокен12345";

    HTTP = Новый HTTPСоединение(URL);

    HTTP.УстановитьЗаголовок("Authorization", "Bearer " + ТокенДоступа);

    HTTP.УстановитьЗаголовок("Content-Type", "application/json");

    Данные = Новый Структура;

    Данные.Вставить("data", ТекстJSON); // ТекстJSON из предыдущего примера

    Ответ = HTTP.ОтправитьДляОбработки(Данные, "POST");

    Если Ответ.КодСостояния = 200 Тогда

    Сообщить("Данные успешно отправлены!");

    Иначе

    Сообщить("Ошибка: " + Ответ.ПолучитьТекст());

    КонецЕсли;

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

    ⚠️ Внимание: При работе с HTTPСоединение убедитесь, что на сервере разрешены исходящие соединения. В противном случае вы получите ошибку "Не удалось установить соединение". Настройки брандмауэра и прокси проверяются в Администрирование → Настройки программы → Сетевые настройки.

    Для обмена данными с маркетплейсами (Ozon, Wildberries, Яндекс Маркет) используйте готовые решения от партнеров 1С, такие как "1С:Интеграция с маркетплейсами". Они поддерживают автоматическую выгрузку каталога, остатков и заказов в форматах, требуемых площадками.

    6. Типичные ошибки при экспорте и их решения

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

    Ошибка Причина Решение
    Недостаточно памяти при экспорте большого отчета Ограничение ресурсов у клиентского приложения . Используйте Тонкий клиент или Веб-клиент, либо разбейте выгрузку на части.
    Файл Excel открывается пустым Несовместимость версий Excel или повреждение файла. Попробуйте открыть файл в LibreOffice Calc или пересохраните в CSV.
    Ошибка при записи XML: недопустимый символ В данных есть символы, запрещенные в XML (&, <, >). Замените символы на сущности (&amp;, &lt;, &gt;) или используйте CDATA.
    Не выгружаются иерархические справочники В настройках экспорта отключена опция Включать подчиненные элементы. Включите галочку Выгружать иерархию в параметрах выгрузки.
    Файл не найден при сохранении Неверно указан путь или нет прав на запись. Проверьте путь (например, C:\Exports\ должен существовать) и права доступа.

    Если при экспорте в Excel данные "съезжают" (например, даты отображаются как числа), выполните следующие действия:

    1. Откройте проблемный файл в Excel.
    2. Выделите колонку с датами.
    3. Нажмите правой кнопкой → Формат ячеек → Дата и выберите нужный формат.

    Для диагностики ошибок при обмене данными через XML используйте журнал регистрации:

    1. Перейдите в Администрирование → Журнал регистрации.
    2. Установите фильтр по событию ОбменДанными.
    3. Найдите запись с ошибкой и проанализируйте текст сообщения.
    💡

    Всегда тестируйте экспорт на небольшом объеме данных перед выгрузкой полного отчета. Это поможет выявить ошибки форматирования или потерю данных на раннем этапе.

    Если проблема не решается стандартными методами, обратитесь к логам сервера 1С (файлы .log в каталоге установки) или воспользуйтесь Отладчиком для анализа кода обработки.

    7. Оптимизация больших выгрузок: советы для ускорения

    При работе с большими объемами данных (десятки тысяч строк) экспорт может занимать часы или завершаться ошибкой. Чтобы избежать этого, следуйте рекомендациям:

    • Используйте серверный вызов — выгрузка на стороне сервера работает быстрее, чем через клиентское приложение. Для этого в коде укажите:
    НаСервере
    

    Процедура ВыгрузитьДанные()

    // Код выгрузки

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

    • 🗃️ Разбивайте данные на части — вместо выгрузки всего справочника экспортируйте данные порциями (например, по 10 000 строк).
    • 📉 Отключайте ненужные поля — чем меньше колонок выгружается, тем быстрее работает экспорт.
    • 🕒 Выгружайте в нерабочие часы — это снизит нагрузку на сервер и уменьшит риск блокировок.

    Пример оптимизированного кода для выгрузки больших данных в CSV:

    Процедура ВыгрузитьБольшойСправочник()
    
    

    // 1. Получаем данные порциями

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

    Запрос.Текст =

    "ВЫБРАТЬ ПЕРВЫЕ 10000

    | Номенклатура.Ссылка КАК Ссылка,

    | Номенклатура.Артикул КАК Артикул

    |ИЗ

    | Справочник.Номенклатура КАК Номенклатура";

    // 2. Создаем файл для записи

    ПутьКФайлу = "C:\Exports\Номенклатура.csv";

    Если НЕ ЗначениеЗаполнено(ПутьКФайлу) Тогда

    Возврат;

    КонецЕсли;

    Текст = Новый ЗаписьТекста(ПутьКФайлу, КодировкаТекста.UTF8, Ложь);

    // 3. Пишем заголовок

    Текст.ЗаписатьСтроку("Ссылка;Артикул");

    // 4. Выгружаем данные циклами

    Позиция = 0;

    Пока Истина Цикл

    Запрос.УстановитьПараметр("Смещение", Позиция);

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

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

    Если НЕ Выборка.Следующий() Тогда

    Прервать;

    КонецЕсли;

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

    Текст.ЗаписатьСтроку(СтрЗначение(Выборка.Ссылка) + ";" + Выборка.Артикул);

    КонецЦикла;

    Позиция = Позиция + 10000;

    КонецЦикла;

    Текст.Закрыть();

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

    Для ускорения обмена данными между базами используйте планы обмена с компрессией. Это снизит нагрузку на сеть и уменьшит размер передаваемых файлов. Настройка компрессии доступна в параметрах плана обмена:

    1. Откройте Администрирование → Обмен данными → Планы обмена.
    2. Выберите нужный план и нажмите Изменить.
    3. На вкладке Дополнительно включите опцию Сжимать данные при обмене.
    ⚠️ Внимание: При выгрузке данных в DBF учитывайте ограничение на длину названий полей (10 символов). Если в вашем справочнике есть поля с длинными именами (например, ДатаПоследнейИнвентаризации), они будут об