Система 1С — это не просто программа для бухгалтерии или управления торговлей. Это мощная ERP-платформа, которая лежит в основе автоматизации тысяч компаний по всей стране. Одной из ключевых задач при работе с 1С является передача информации между разными системами. Например, вам может понадобиться перенести данные в стороннее приложение, интегрировать 1С с маркетплейсами, отправить документы в электронном виде или создать архивную копию. В таких случаях часто требуется выгрузка в формате XML.
XML — универсальный текстовый формат, который легко читается как людьми, так и программами. Он поддерживает структурированное представление данных, что делает его идеальным для обмена информацией между разными системами. В 1С предусмотрено несколько способов выгрузки в XML: от простых встроенных функций до сложных механизмов на основе XDTO. Выбор подходящего метода зависит от целей, объема данных и требований к структуре результата.
В этой статье мы подробно рассмотрим основные способы выгрузки из 1С в XML, покажем, как выгрузить документы, справочники и другие объекты, а также дадим рекомендации по выбору оптимального решения. Перед началом работы важно убедиться, что выполнена корректная настройка сервера 1С, особенно если вы планируете регулярный обмен данными.
Зачем нужна выгрузка из 1С в формат XML
Выгрузка данных из 1С в XML решает множество практических задач. Вот лишь некоторые из них:
- Интеграция с внешними сервисами (например, с системами электронного документооборота или онлайн-кассами).
- Передача первичных документов (счетов-фактур, накладных, актов) контрагентам.
- Резервное копирование или архивирование данных.
- Миграция между разными версиями 1С или перенос данных в другую информационную базу.
- Подготовка данных для аналитики или отчетности вне 1С.

XML-файлы удобны тем, что их можно легко проверить, отредактировать вручную или обработать с помощью других программ. Кроме того, большинство современных систем принимают данные именно в этом формате. Поэтому умение выгрузить данные из 1С в XML — важный навык для любого специалиста, работающего с автоматизацией учета.
Электронные документы: Формализованные и неформализованные
При работе с документами в 1С важно понимать разницу между формализованными и неформализованными электронными документами.
Формализованные документы — это структурированные данные, соответствующие определённому стандарту (например, УПД, УКД, УТД). Они содержат строго заданные поля и могут быть автоматически обработаны получателем. Такие документы часто используются в ЭДО (электронном документообороте) и передаются через операторов связи, например, через 1С-ЭДО.
Неформализованные документы — это, как правило, сканы или PDF-файлы, подписанные электронной подписью. Их содержание не структурировано, и для обработки требуется ручное вмешательство.
Если вы хотите выгрузить документ в XML, речь почти всегда идет о формализованном варианте. Именно такие документы можно экспортировать в виде XML-файла, содержащего все необходимые реквизиты и значения полей.
Выгрузка всего документа базовыми средствами XML
1С предоставляет встроенную возможность сохранить любой объект (документ, справочник, регистр) в XML-файл. Для этого используется метод ЗаписатьXML(). Он доступен для большинства объектов конфигурации и позволяет быстро выгрузить данные без написания сложного кода.

Пример использования:
Документ = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("000000001");
Файл = Новый Файл("C:\Выгрузка\Реализация.xml");
Поток = Новый ФайлЗаписьXML(Файл);
Документ.ЗаписатьXML(Поток);
Поток.Закрыть();
Этот способ прост и подходит для быстрой выгрузки одного документа. Однако он имеет ограничения:
- Структура XML-файла жестко задана платформой 1С и может не соответствовать требованиям внешней системы.
- Нельзя гибко управлять содержимым — выгружается весь объект целиком.
- Не поддерживается контроль версий или преобразование данных.
Поэтому такой метод чаще используется для внутренних нужд, например, для архивирования или отладки.
«Ручная» выгрузка документа базовыми средствами XML
Если стандартный экспорт не подходит, можно создать XML-файл «вручную» с помощью объектов ЗаписьXML и ЧтениеXML. Это дает полный контроль над структурой и содержанием файла.
Пример:
Файл = Новый Файл("C:\Выгрузка\СвойФормат.xml");
Поток = Новый ФайлЗаписьXML(Файл);
Поток.Открыть();
Поток.ЗаписатьНачалоЭлемента("Документ");
Поток.ЗаписатьАтрибут("Номер", Документ.Номер);
Поток.ЗаписатьАтрибут("Дата", Документ.Дата);
// Записываем табличную часть
Поток.ЗаписатьНачалоЭлемента("Товары");
Для Каждого Строка Из Документ.Товары Цикл
Поток.ЗаписатьНачалоЭлемента("Товар");
Поток.ЗаписатьЭлемент("Наименование", Строка.Номенклатура.Наименование);
Поток.ЗаписатьЭлемент("Количество", Строка.Количество);
Поток.ЗаписатьКонецЭлемента(); // Товар
КонецЦикла;
Поток.ЗаписатьКонецЭлемента(); // Товары
Поток.ЗаписатьКонецЭлемента(); // Документ
Поток.Закрыть();
Преимущества такого подхода:
- Полная свобода в формировании структуры XML.
- Возможность фильтровать или преобразовывать данные перед записью.
- Подходит для создания файлов по требованиям внешних систем (например, для передачи в ФНС или на маркетплейсы).
Недостаток — требуется больше времени на разработку и тестирование. Но если вы работаете с нестандартными форматами, это часто единственный рабочий вариант.
Выгрузка через глобальную фабрику XDTO
XDTO (eXtended Data Transfer Objects) — это технология 1С, предназначенная для сериализации объектов в XML с возможностью контроля структуры. Глобальная фабрика XDTO позволяет описывать, как именно объект должен быть представлен в XML.

Для использования XDTO необходимо:
- Создать XDTO-пакет в конфигураторе (раздел «Общие» → «XDTO-пакеты»).
- Определить типы объектов, которые будут экспортироваться.
- Связать эти типы с объектами метаданных 1С (документами, справочниками и т.д.).
После этого выгрузка выполняется так:
Фабрика = Новый XDTOФабрика("ИмяXDTOПакета");
ОбъектXDTO = Фабрика.ПолучитьОбъектXDTO(Документ);
Файл = Новый Файл("C:\Выгрузка\XDTO_Реализация.xml");
Поток = Новый ФайлЗаписьXML(Файл);
Фабрика.ЗаписатьXML(ОбъектXDTO, Поток);
Поток.Закрыть();
Этот способ обеспечивает:
- Строгую типизацию.
- Возможность версионирования форматов.
- Поддержку сложных связей между объектами.
Он особенно полезен при построении масштабных интеграций, где важно соблюдать соответствие формату на протяжении долгого времени.
Выгрузка документа через XDTO-пакет
Рассмотрим пример выгрузки документа «Реализация товаров и услуг» через XDTO-пакет. Допустим, вы создали пакет с именем «ЭкспортДокументов». В нем описан тип «Реализация», связанный с одноименным документом 1С.
Код выгрузки будет выглядеть так:
Документ = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("000000001");
Если Документ = Неопределено Тогда
Сообщить("Документ не найден");
Возврат;
КонецЕсли;
Фабрика = Новый XDTOФабрика("ЭкспортДокументов");
ОбъектXDTO = Фабрика.ПолучитьОбъектXDTO(Документ);
ПутьФайла = "C:\Выгрузка\" + Документ.Номер + ".xml";
Файл = Новый Файл(ПутьФайла);
Поток = Новый ФайлЗаписьXML(Файл);
Фабрика.ЗаписатьXML(ОбъектXDTO, Поток);
Поток.Закрыть();
Сообщить("Документ выгружен в " + ПутьФайла);
Важно: перед использованием XDTO-пакета убедитесь, что он корректно настроен и содержит все необходимые типы. Также проверьте, чтобы все поля, которые вы хотите выгрузить, были включены в описание XDTO-объекта.
Какой оптимальный способ выгрузки в формате XML выбрать
Выбор метода зависит от ваших задач. Чтобы помочь с выбором, приведём сравнительную таблицу:
| Метод | Сложность | Гибкость | Подходит для |
|---|---|---|---|
| Базовый экспорт через ЗаписатьXML() | Низкая | Низкая | Архивирования, отладки, внутреннего обмена |
| Ручная сборка XML | Средняя | Высокая | Интеграции с внешними системами, нестандартные форматы |
| XDTO-фабрика | Высокая | Очень высокая | Масштабные проекты, долгосрочные интеграции, строгие требования к формату |
Если вам нужно быстро выгрузить один документ и не требуется особая структура — используйте базовый метод. Если вы интегрируетесь с внешней системой и должны точно соответствовать её формату — пишите ручной XML. А если вы строите комплексную автоматизацию предприятия с множеством точек обмена — выбирайте XDTO.

Частые проблемы и решения
При выгрузке из 1С в XML пользователи часто сталкиваются с типичными ошибками. Вот самые распространенные из них и способы их решения:
- Ошибка кодировки. Убедитесь, что при создании XML-потока указана правильная кодировка (обычно UTF-8). В противном случае символы могут отображаться некорректно.
- Пустые поля. Некоторые поля в XML не должны быть пустыми. Перед записью проверяйте, заполнены ли обязательные реквизиты (например, ИНН контрагента или количество товара).
- Несоответствие структуры. Если внешняя система отказывается принимать файл, сравните его с эталонным. Часто проблема в лишних или отсутствующих элементах.
- Ошибки XDTO. Если при использовании XDTO возникает ошибка, проверьте, все ли типы описаны в пакете и правильно ли указаны имена свойств.
- Проблемы с правами. Убедитесь, что у пользователя 1С есть права на запись в указанную папку на диске.
Также стоит помнить: если вы выгружаете большой объем данных, лучше делать это порциями, чтобы не перегружать память сервера. И обязательно тестируйте выгрузку на небольшом наборе данных перед запуском в рабочем режиме.
В заключение отметим: 1С — это гибкая система, которая позволяет выгрузить данные практически в любом формате. XML — один из самых популярных и надежных вариантов. Независимо от того, работаете ли вы с бухгалтерией, управлением торговлей или зарплатой и управлением персоналом, знание способов выгрузки в XML поможет вам эффективно решать задачи интеграции и автоматизации. Главное — правильно выбрать метод, учитывая цели и ресурсы вашей компании.
Что нужно знать, прежде чем выгружать
Прежде чем приступить к выгрузке данных из 1С в XML, важно учесть несколько ключевых моментов. Во-первых, определите цель операции: вы хотите просто сохранить архивную копию, интегрироваться с внешней системой или передать документы контрагентам? От этого зависит выбор метода и структуры файла.

Во-вторых, убедитесь, что в базе данных заполнены все необходимые реквизиты. Например, чтобы выгрузить корректный УПД (универсальный передаточный документ), должны быть указаны ИНН покупателя, наименование номенклатуры, количество и цена. Если поля окажутся пустыми, файл может не пройти проверку в системах типа Контур.Диадок или других онлайн-сервисов ЭДО.
В-третьих, помните о правах доступа. Выгрузка и загрузка данных часто требуют расширенных полномочий в конфигурации. Убедитесь, что пользователь, от имени которого выполняется экспорт, имеет право читать нужные объекты и записывать файлы на диск или сервер.
Если вы работаете с типовыми решениями — например, «Управление торговлей», «Зарплата и управление персоналом» или отраслевыми решениями для розницы — учитывайте особенности их структуры. В таких конфигурациях уже могут быть встроены обработки для экспорта реализация акты накладные и других документов. Иногда проще использовать готовые внешние обработки, чем писать код с нуля.
Наконец, подумайте о последующей обработке файлов. Если вы планируете регулярную выгрузку и загрузку данных между системами, стоит автоматизировать процесс с помощью регламентных заданий или специальных модулей интеграции. Это особенно актуально при внедрении ERP-системы в крупной организации или ООО, где требуется синхронизация между бухгалтерией, продажами и складом.
Заключение
Выгрузка из 1С в XML — это не просто техническая задача, а важный элемент цифровой трансформации бизнеса. Независимо от того, используете ли вы 1С:Бухгалтерию, УТ или комплексную автоматизацию управления предприятием, умение корректно выгрузить документ в файл позволяет наладить бесперебойный документооборот, снизить риски ошибок и ускорить взаимодействие с клиентами и поставщиками.
Таким образом, перед тем как выгрузить данные, чётко сформулируйте задачу, выберите подходящий способ и протестируйте результат. Если возникают сложности — не бойтесь обратиться к разработчикам или специалистам по сопровождению. Многие фирмы, работающие с 1С, предлагают бесплатные консультации по вопросам интеграции и обновления конфигураций. В некоторых случаях достаточно одного звонка или заявки через форму на сайте, чтобы получить готовое решение.
Помните: надёжная выгрузка — это не только про технологии, но и про доверие. Когда вы отправляете контрагенту акты, накладные или счёт-фактуры, вы демонстрируете профессионализм вашей компании. Поэтому подходите к этому процессу ответственно — и тогда даже самый сложный обмен данными между системами станет простым и предсказуемым.

















