В современной системе электронного документооборота (ЭДО) и автоматизированной торговли формат XML стал стандартом де-факто для передачи первичных учетных документов. Пользователи платформы 1С:Предприятие часто сталкиваются с необходимостью передать данные о реализации товаров внешним системам, маркетплейсам или логистическим операторам именно в этом структурированном виде. Стандартная печатная форма или PDF не подходят для машинной обработки, поэтому требуется именно машиночитаемый файл.
Процесс сохранения накладной не сводится к одной кнопке «Сохранить как», так как конфигурации 1С могут существенно различаться. В типовых решениях, таких как 1С:Управление торговлей или 1С:Бухгалтерия предприятия, механизмы выгрузки реализованы через обмен данными или специализированные отчеты. Ошибки на этапе формирования файла могут привести к отказу в приемке документов контрагентом, поэтому важно строго следовать алгоритму.
В этой статье мы детально разберем различные способы экспорта товарной накладной (ТОРГ-12) или универсального передаточного документа (УПД) в формат XML. Мы рассмотрим как встроенные средства конфигурации, так и использование внешних обработок, а также уделим внимание валидации полученного файла перед отправкой.
Подготовка документа к выгрузке
Перед тем как инициировать процесс сохранения, необходимо убедиться, что сам документ в базе данных заполнен корректно и проведен. Система 1С формирует XML-файл на основе данных, записанных в регистры накопления и таблицы документов в момент проведения. Если в документе есть ошибки или не заполнены обязательные реквизиты, такие как ИНН контрагента или код товара, генерация файла может прерваться или выдать некорректный результат.
Откройте нужный документ реализации и внимательно проверьте вкладку «Товары». Убедитесь, что для каждой номенклатурной позиции указан актуальный штрихкод (EAN-13) или внутренний идентификатор, который требуется принимающей стороне. Также критически важно проверить раздел «Основное», где указаны данные продавца и покупателя.
⚠️ Внимание: Если вы планируете передавать данные в государственные информационные системы (например, Честный ЗНАК), убедитесь, что в карточках номенклатуры заполнен атрибут «Код маркировки». Отсутствие этого данные в XML приведет к блокировке приемки товара.
После визуальной проверки нажмите кнопку «Провести и закрыть». Только проведенный документ имеет статус «Активен» в базе данных и доступен для процедур обмена. Черновики или документы с пометкой «Не проведен» не могут быть корректно сконвертированы в формат обмена.
☑️ Проверка перед выгрузкой
Стандартный механизм обмена через формат EnterpriseData
В современных версиях конфигураций 1С (начиная с релизов 3.0 и выше) основным способом выгрузки данных является использование формата EnterpriseData. Этот формат представляет собой универсальный XML-контейнер, который позволяет передавать не только накладные, но и справочники номенклатуры, контрагентов и договоры. Для пользователя этот процесс часто скрыт за интерфейсом «Выгрузить данные».
Чтобы воспользоваться этим методом, перейдите в раздел администрирования или обмена данными. В меню выберите пункт Обмен электронными документами или Синхронизация данных. Здесь вам будет предложено создать новую выгрузку. Выберите тип объекта «Реализация товаров и услуг» и укажите конкретный документ или период, за который нужно выгрузить данные.
Система сформирует пакет файлов. Обычно это архив, внутри которого содержится основной XML-файл с данными и, возможно, файлы схем (XSD) для валидации. Если вам нужен именно «чистый» XML одной накладной без обертки обмена, этот способ может потребовать дополнительной распаковки и фильтрации файлов.
Отличия форматов обмена
Стандартный обмен 1С-1С использует свой специфический формат XML, который может отличаться от формата, требуемого внешними сервисами (например, API маркетплейсов). Всегда уточняйте у принимающей стороны, какой именно стандарт XML они ожидают увидеть: CommerceML, EnterpriseData или кастомный формат.
При выгрузке через стандартный механизм важно правильно настроить правила сериализации. В окне настроек выгрузки часто можно выбрать опцию «Выгружать только изменения» или «Выгружать все данные». Для разовой передачи накладной выбирайте режим полной выгрузки выбранного документа, чтобы избежать потери контекста.
Использование печатных форм с поддержкой XML
Многие пользователи не знают, но в некоторых конфигурациях 1С функционал печати документов расширен возможностью сохранения не только в PDF, но и в XML. Этот метод наиболее прост и не требует глубоких знаний в настройке обменов. Он подходит для ситуаций, когда нужно быстро отправить файл конкретному менеджеру или загрузить его в личный кабинет поставщика.
Откройте форму документа реализации. В верхней панели команд найдите кнопку Печать или иконку принтера. В выпадающем списке выберите пункт «Сохранить как» или «Экспорт». Если в вашей конфигурации подключены дополнительные обработки, вы можете увидеть там пункт «Выгрузить в XML» или «Сохранить в формате EDI».
Если стандартными средствами такая опция недоступна, можно воспользоваться внешней печатной формой. Часто интеграторы устанавливают обработки, которые добавляют в меню печати пункт «Экспорт в XML (для маркетплейса)». При выборе этого пункта система предложит указать путь для сохранения файла на вашем компьютере.
- 📂 Локальное сохранение: Файл сохраняется на жесткий диск пользователя в указанную папку.
- 📧 Отправка по почте: Некоторые обработки позволяют сразу прикрепить сформированный XML к письму из 1С.
- 🌐 Загрузка в облако: Продвинутые интеграции могут сразу отправлять файл по HTTPS API.
Если в списке печатных форм нет нужного варианта, проверьте наличие обновлений конфигурации или обратитесь к администратору базы для подключения внешней обработки печати с поддержкой XML.
Для сложных интеграций, где требуется передача партий, серийных номеров или свойств товаров, этот метод может быть недостаточен.
Настройка правил обмена данными (КД 2.0 / 3.0)
Для профессиональной настройки выгрузки, особенно если требуется регулярная автоматическая отправка накладных, используется механизм «Конвертация данных». Это мощный инструмент, позволяющий гибко управлять тем, какие поля документа попадут в итоговый XML-файл. Настройка осуществляется в режиме конфигуратора или через специальную обработку.
В рамках правил обмена вы создаете правило для объекта «РеализацияТоваровУслуг». Внутри правила вы указываете соответствие полей 1С полям целевого XML-схемы. Например, поле СуммаДокумента из 1С может быть сопоставлено с тегом <TotalAmount> в выгружаемом файле. Это позволяет адаптировать выгрузку под требования любого партнера.
| Поле в 1С | Тег в XML | Тип данных | Обязательность |
|---|---|---|---|
| НомерДок | DocumentNumber | Строка | Да |
| ДатаДок | DocumentDate | Дата (ISO) | Да |
| Контрагент.ИНН | BuyerINN | Число | Да |
| СуммаДокумента | TotalSum | Число (10.2) | Да |
| ВалютаДок | CurrencyCode | Строка (ISO) | Нет |
После настройки правил необходимо выполнить тестовую выгрузку. В обработке конвертации данных выберите режим «Выгрузить данные», укажите отбор по нужному документу и запустите процесс. Система сгенерирует файл согласно вашим правилам. Проверка полученного файла в текстовом редакторе позволит убедиться в корректности тегов.
Валидация и проверка структуры XML файла
После того как файл сохранен на диск, его нельзя просто так отправлять партнеру без проверки. XML — строгий формат, и одна лишняя запятая или неверная кодировка могут сделать файл нечитаемым для принимающей системы. Валидация позволяет убедиться, что структура файла соответствует ожидаемой схеме (XSD).
Вы можете открыть полученный файл в любом текстовом редакторе, например, в Notepad++ или Visual Studio Code. Визуально проверьте наличие открывающих и закрывающих тегов. Особое внимание уделите кодировке: в первой строке файла должно быть указано <?xml version="1.0" encoding="UTF-8"?> или encoding="windows-1251"> в зависимости от требований партнера.
Для автоматической проверки используйте онлайн-валидаторы XML или специализированное ПО. Загрузите файл и, если есть, файл схемы (XSD), который вам предоставил контрагент. Система подсветит ошибки, например, несоответствие типа данных или отсутствие обязательного атрибута.
⚠️ Внимание: Частая ошибка — наличие спецсимволов в текстовых полях (например, амперсанд & или кавычки), которые не экранированы. В XML они должны быть заменены на сущности (например,&вместо&). 1С обычно делает это автоматически, но при ручном редактировании файла можно нарушить структуру.
Если валидация прошла успешно, файл готов к передаче. Сохраните копию файла в архиве документов по сделке. Это поможет в будущем быстро восстановить данные или доказать факт отправки корректной информации в случае спорных ситуаций.
Автоматизация выгрузки через внешние обработки
Если ручная выгрузка занимает много времени, целесообразно внедрить автоматизацию. Для этого существуют готовые решения на платформе 1С, которые позволяют выгружать накладные в XML по расписанию или по событию (например, сразу после проведения документа). Такие обработки часто называют «Драйверами обмена».
Внешняя обработка подключается к базе данных как дополнительный отчет или обработка. В ее настройках вы указываете папку для выгрузки, шаблон имени файла (например, TOV_<НомерДок>.xml) и формат данных. После настройки процесс становится незаметным для пользователя: провели документ — файл появился в папке.
Преимущество такого подхода заключается в исключении человеческого фактора. Менеджер не забудет выгрузить файл, а система гарантированно соблюдет все технические требования к формату. Кроме того, можно настроить логирование ошибок: если выгрузка не удалась, система отправит уведомление администратору.
Автоматизация выгрузки через внешние обработки снижает риск ошибок и экономит время персонала, превращая рутинную операцию в фоновый процесс.
При выборе готовой обработки убедитесь, что она совместима с вашей версией платформы 1С:Предприятие (8.2, 8.3) и режимом работы (файловый или клиент-серверный). Некоторые решения требуют установки дополнительных компонентов на компьютер пользователя или на сервер.
Частые ошибки при формировании XML
Даже при соблюдении инструкций пользователи могут сталкиваться с проблемами. Чаще всего ошибки связаны не с самой 1С, а с несовпадением ожиданий принимающей стороны и реальной структурой файла. Понимание типовых проблем поможет быстрее найти решение.
Одна из распространенных проблем — неверная кодировка символов. Если файл открывается в браузере или редакторе с «кракозябрами» вместо русских букв, значит, при сохранении была выбрана неверная кодировка. Принимающая система в таком случае не сможет прочитать названия товаров или имена контрагентов.
Другая частая ошибка — округление сумм. В 1С суммы хранятся с высокой точностью, а в XML могут требовать округления до 2 знаков после запятой. Разница даже в одну копейку может привести к отказу в проведении документа у бухгалтера контрагента. Всегда сверяйте итоговые суммы в файле с суммами в документе 1С.
Проблема с длинными строками
Некоторые старые системы не умеют обрабатывать строки в XML длиннее 255 символов. Если название вашего товара очень длинное, оно может обрезаться или вызвать ошибку парсинга. В таких случаях требуется настройка правила сокращения наименования при выгрузке.
⚠️ Внимание: Интерфейсы и названия пунктов меню в 1С могут меняться в зависимости от версии конфигурации и установленных обновлений. Если вы не находите указанную кнопку или раздел, воспользуйтесь поиском по конфигурации (Ctrl+F) или обратитесь к документации вашего конкретного релиза.
FAQ: Вопросы и ответы
Можно ли открыть файл XML из 1С в Excel?
Да, Microsoft Excel умеет открывать XML-файлы. При открытии программа предложит выбрать способ отображения данных: как таблицу, как книгу XML-данных или через панель задач. Однако структура может быть сложной для восприятия, так как XML содержит служебные теги, не видимые в 1С.
Чем отличается XML от формата CommerceML?
CommerceML — это специфический стандарт на основе XML, разработанный специально для обмена данными в системах 1С (товары, цены, остатки). Обычный XML может быть любым, в то время как CommerceML имеет строгую структуру тегов, понятную только совместимым системам.
Почему при выгрузке пропадают знаки после запятой в количествах?
Это зависит от настроек формата выгрузки. В некоторых стандартах количество товара передается только целыми числами. Если вам нужны дробные значения (например, для товаров на развес), необходимо проверить настройки правила обмена или форматного файла, где задана точность числа.
Как передать файл XML, если он весит более 10 Мб?
Стандартная почта часто имеет ограничения на размер вложений. Для больших накладных (например, оптовая продажа с тысячами позиций) рекомендуется использовать облачные хранилища с ссылкой на файл, FTP-сервер или специализированные системы ЭДО, которые не имеют таких жестких ограничений.
Нужно ли подписывать XML файл электронной подписью?
Сам по себе XML файл не содержит электронной подписи. Для юридической значимости документ должен быть либо распечатан и подписан вручную, либо упакован в контейнер (например, ZIP) с файлом подписи (.sig), либо передан через оператора ЭДО, который обеспечивает юридическую значимость передачи.