XML-файл с отчётом пришёл извне: как принять его в 1С 8.3
Содержание
Загрузить отчет в 1С из файла XML можно тремя путями, и выбор зависит от того, что внутри файла. Декларацию в формате ФНС принимают в журнале регламентированных отчётов (Отчеты → Регламентированные отчеты). Данные из другой базы 1С грузят обработкой обмена. XML из сторонней программы (кассы, склада, маркетплейса) — только через правила конвертации или свою обработку.
Частая ошибка — открыть XML
через Файл → Открыть и ждать, что 1С сама поймёт, куда его положить. Платформа покажет файл как текст, и только. Формат файла определяет инструмент, а не наоборот.
Что лежит внутри файла и с чего начать
Прежде чем что-то загружать, откройте XML в любом текстовом редакторе с подсветкой (Notepad++, VS Code) и посмотрите первые 10–20 строк. Этого хватает, чтобы понять сценарий.
📌 Признаки формата ФНС:
- корневой элемент
<Файл>с атрибутамиИдФайл,ВерсПрог,ВерсФорм; - внутри элемент
<Документ>с атрибутомКНД(например,1151001у декларации по НДС,1151100у 6-НДФЛ,1151111у расчёта по страховым взносам); - кодировка в заголовке —
windows-1251; - имя файла вида
NO_NDS_7701_7701_7701234567770101001_20261020_<GUID>.xml.
📌 Признаки выгрузки из 1С:
- корень
<V8Exp:Data>или похожий с пространством имёнhttp://v8.1c.ru/...— это выгрузка обработкой «Выгрузка и загрузка данных XML»; - корень
<ФайлОбмена>с атрибутами вродеВерсияФормата,ИмяКонфигурацииИсточника— выгрузка по правилам КД 2.0; - упоминание
EnterpriseDataв пространстве имён — универсальный формат КД 3.0.
📌 Сторонний XML — всё остальное: свои теги вроде <Order>, <Receipt>, <Item> без признаков выше.
Перед любой загрузкой в рабочую базу сделайте резервную копию. Обмен создаёт и перезаписывает объекты, а откатить его без копии нельзя. Безопаснее сначала прогнать файл на копии базы.
Регламентированный отчёт в XML: загрузка в 1С-Отчетность
Типовая ситуация: декларацию подготовили в другой программе, прислал прошлый бухгалтер или ответили из инспекции. Её нужно видеть в журнале, сверить с данными учёта или отправить.
- Откройте
Отчеты → Регламентированные отчеты. - В командной панели журнала найдите команду загрузки — кнопку «Загрузить» (в части релизов она спрятана в меню «Ещё»).
- Укажите XML-файл. Программа сама определит форму по коду КНД и организацию по ИНН и КПП.
- Откройте загруженный отчёт и нажмите «Проверить» — встроенная проверка покажет ошибки заполнения и контрольных соотношений.
Что важно знать о результате:
- 🧾 отчёт попадает в журнал как обычный, со статусом «Подготовлен» или аналогичным начальным — его можно редактировать и отправлять;
- 🔢 данные учёта при этом не меняются: загрузка декларации не создаёт ни документов, ни проводок;
- 🏢 если организации с таким ИНН/КПП в базе нет, загрузка не пройдёт — сначала заведите её в справочнике «Организации».
Загружаются не все формы. Если команда сообщает, что форма не поддерживается, проверьте файл в бесплатной программе ФНС «Налогоплательщик ЮЛ»: она читает XML-форматы налоговой и покажет, корректен ли файл.
Самая частая причина отказа — версия формата. Файл с ВерсФорм="5.08" не загрузится в релиз, который уже работает с новой версией формата, и наоборот. Решение одно: обновить конфигурацию или запросить у отправителя выгрузку в актуальном формате.
Перенос из другой базы 1С стандартной обработкой обмена
Если XML выгружен из 1С, его почти всегда грузят той же обработкой, которой выгружали. Подходов два, и путать их нельзя.
| Инструмент | Когда подходит | Риски |
|---|---|---|
| «Выгрузка и загрузка данных XML» | Конфигурации одинаковые, вплоть до релиза | Дубли при повторной загрузке, перезапись объектов по ссылке |
| «Универсальный обмен данными в формате XML» + правила КД 2.0 | Конфигурации разные (например, УТ → БП) | Без правил не работает; ошибки в правилах дают битые ссылки |
| Синхронизация через EnterpriseData | Обе конфигурации типовые, на БСП | Сопоставление объектов при первой загрузке нужно проверить вручную |
Обработка «Выгрузка и загрузка данных XML»
Это внешняя обработка (файл ВыгрузкаЗагрузкаДанныхXML83.epf), её распространяют с диском технологической поддержки. В конфигурации её нет.
- Откройте обработку через
Файл → Открыть(илиCtrl+O). - При первом открытии платформа предупредит об опасных действиях — подтвердите, если файл получен из надёжного источника.
- Перейдите на вкладку «Загрузка», укажите XML и запустите.
Обработка пишет объекты по внутренним ссылкам (GUID). Если в базе уже есть объект с той же ссылкой — он будет перезаписан данными из файла. Это удобно при переносе, но опасно, если в базе-приёмнике данные успели поменять.
Синхронизация через универсальный формат
В типовых конфигурациях на БСП (БП 3.0, УТ 11, ЗУП 3.1) обмен через EnterpriseData настраивается в Администрирование → Синхронизация данных. Там же есть варианты обмена через файл: одна база выгружает сообщение в каталог, другая забирает.
Как проверить, что всё загрузилось
Сразу после загрузки сравните итоги, а не отдельные документы:
- 🔍 число документов за период в списке источника и приёмника — отбором по дате;
- 💰 обороты по ключевым счетам в оборотно-сальдовой ведомости за тот же период;
- 👥 новые элементы справочников: отсортируйте список по дате создания или коду и посмотрите, не появились ли двойники контрагентов и номенклатуры.
Расхождение в один-два документа обычно означает, что они не прошли проведение в приёмнике. Их видно в списке по отсутствию отметки о проведении.
Внешние обработки и расширения для своего формата
Сторонний XML — отчёт кассы, выгрузка маркетплейса, реестр от банка — типовыми средствами не грузится. Нужна обработка, которая прочитает файл и создаст нужные документы.
Вариантов размещения три:
- 📂 Внешняя обработка (.epf) — открывается через
Файл → Открыть, удобна для разовой загрузки; - 🗂 Дополнительная обработка — регистрируется в справочнике дополнительных отчётов и обработок (в БП 3.0 —
Администрирование → Печатные формы, отчеты и обработки), доступна пользователям из меню и может работать по расписанию; - 🧩 Расширение конфигурации (.cfe) — когда загрузка должна стать частью программы: свой документ, регламентное задание, кнопка в форме. Расширения появились в платформе 8.3.6.
Скелет разбора XML средствами платформы. Пример читает строки вида <Item Code="00123" Qty="5" Price="250.00"/> в таблицу значений:
Функция ПрочитатьСтроки(ИмяФайла)
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
Таблица.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ИмяФайла);
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "Item" Тогда
Строка = Таблица.Добавить();
Строка.Код = Чтение.ПолучитьАтрибут("Code");
Строка.Количество = Число(Чтение.ПолучитьАтрибут("Qty"));
Строка.Цена = Число(Чтение.ПолучитьАтрибут("Price"));
КонецЕсли;
КонецЦикла;
Чтение.Закрыть();
Возврат Таблица;
КонецФункции
Дальше по таблице ищут номенклатуру по коду и заполняют табличную часть документа. Поиск обязательно проверяйте на пустую ссылку: строку с неизвестным кодом лучше вывести в протокол, чем молча пропустить.
Если у формата есть XSD-схема, удобнее загрузить её как XDTO-пакет и читать файл через ФабрикаXDTO. Тогда ошибки структуры ловятся на чтении, а не в середине создания документов.
Правила конвертации: когда нужны КД 2.0 и КД 3.0
«Конвертация данных» — отдельная конфигурация 1С, в которой описывают, какой объект источника во что превращается в приёмнике. Сама она ничего не грузит: она создаёт правила.
КД 2.0
- Из обеих конфигураций выгружают структуру метаданных обработкой
MD83Exp.epf. - В КД 2.0 загружают обе структуры и описывают правила: справочник → справочник, документ → документ, соответствие реквизитов.
- Правила сохраняют в XML-файл.
- В базе-приёмнике открывают «Универсальный обмен данными в формате XML», на вкладке загрузки указывают файл данных. Правила обычно лежат внутри файла выгрузки, отдельно их подключать не нужно.
Ключевое при настройке — правила поиска. Если справочник ищется по коду, а в двух базах коды разные, получите дубли. Надёжнее искать по ИНН для контрагентов, по артикулу или наименованию для номенклатуры.
КД 3.0
КД 3.0 работает с форматом EnterpriseData. Результат — не файл правил, а программный модуль менеджера обмена, который встраивают в конфигурацию или расширение. Этот путь выбирают, когда нужен постоянный обмен между нетиповой базой и типовой.
Для разовой загрузки одного отчёта КД избыточна. Если файл придёт один раз, быстрее написать внешнюю обработку на 50–100 строк.
Почему XML не загружается: разбор ошибок
Проверить сам файл до загрузки можно сверкой со схемой. Для форматов ФНС схемы публикует налоговая, для обменов КД 2.0 схема фиксированная. Любой XML-редактор с проверкой по XSD покажет строку, где структура нарушена.
Автоматизация: загрузка по расписанию и из командной строки
Когда файлы приходят каждый день, ручная загрузка превращается в рутину. Три рабочих способа:
- Дополнительная обработка с расписанием. В карточке дополнительной обработки для команды с типом «Вызов серверного метода» задаётся расписание. Обработка забирает файлы из каталога и складывает обработанные в архив.
- Регламентное задание в расширении. Самый надёжный вариант для клиент-серверной базы: задание выполняется на сервере 1С без участия пользователя.
- Пакетный запуск. Для файловой базы — задача в планировщике Windows с запуском внешней обработки:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Обмен" /P"пароль" /Execute"D:\Scripts\ZagruzkaXML.epf" /C"D:\Inbox"
Параметр /C передаёт строку в ПараметрЗапуска, обработка берёт из неё каталог. Номер версии в пути подставьте свой.
Пароль в bat-файле лежит открытым текстом. Заведите для обмена отдельного пользователя с правами только на нужные объекты и закройте доступ к каталогу со скриптом.
Для любой автоматической загрузки сделайте протокол: какой файл, сколько создано объектов, какие строки отклонены. Без него ошибку в ночной загрузке найдут через неделю, на сверке.
Частые вопросы
Можно ли загрузить в 1С XML-декларацию из программы «Налогоплательщик ЮЛ»?
Создаст ли загрузка декларации проводки или документы?
Можно ли загрузить XML в базу 1С через веб-клиент?
Как загрузить XML из Excel в 1С?
Что делать, если файл XML очень большой и загрузка зависает?
ЧтениеXML, а не целиком в DOM. Записывайте объекты пачками в транзакциях по 500–1000 штук, чтобы ошибка в одной строке не откатывала всю загрузку.