Справочники и Данные · 11 мин
Как загрузить XML в 1С Управление торговлей
Как загрузить XML в 1С Управление торговлей 11: универсальная загрузка через EnterpriseData, обработки, сопоставление номенклатуры, типичные ошибки и проверка результата.
Загрузка XML в 1С: Управление торговлей (УТ 11) — типовая задача при обмене данными с поставщиками, интернет-магазинами, ЭДО-операторами и другими учётными системами. XML-файлы могут содержать номенклатуру, цены, остатки, заказы, счета-фактуры и накладные, и для каждого типа данных в конфигурации предусмотрен свой механизм загрузки.
В УТ 11 есть два основных пути: штатный обмен в формате EnterpriseData (через план обмена «Синхронизация данных через универсальный формат») и универсальная загрузка через обработку «Универсальный обмен данными в формате XML». Дополнительно для прайсов и каталогов поставщиков используется «Помощник загрузки данных из внешних источников», а для электронных документов — встроенный механизм ЭДО (БЭД).
Выбор способа зависит от структуры файла: если XML подготовлен в формате CommerceML (типовой формат обмена с сайтами и каталогами) или EnterpriseData — загрузка выполняется штатными средствами без программирования. Если файл имеет произвольную структуру, потребуется либо конвертация, либо обработка с правилами обмена, либо доработка.
Определяем формат XML-файла
Прежде чем выбирать инструмент, откройте файл в текстовом редакторе и посмотрите на корневые элементы. От этого зависит, каким механизмом его можно загрузить без доработок.
Если в начале файла видны теги <КоммерческаяИнформация>, <Каталог> или <ПакетПредложений> — это формат CommerceML, который используется для обмена каталогами товаров и заказами с сайтами. Если присутствует <Сообщение> с телом вида <Body> и объектами EnterpriseData — это универсальный формат 1С. Файлы с произвольной структурой (выгрузки из сторонних систем, самописные форматы поставщиков) штатно не читаются.
Как выбрать способ загрузки
Подготовка базы перед загрузкой
Любая массовая загрузка изменяет данные необратимо: создаются новые элементы справочников, перезаписываются цены, формируются документы. Поэтому первый шаг — резервная копия. В файловой базе достаточно скопировать каталог с файлом 1Cv8.1CD, в клиент-серверной — сделать выгрузку в dt через конфигуратор или средствами СУБД.
Второй шаг — проверка настроек учёта. Убедитесь, что включены нужные функциональные опции: для загрузки цен — «Цены номенклатуры», для заказов — «Заказы поставщикам» или «Заказы клиентов», для сертификатов и характеристик — соответствующие опции номенклатуры. Если опция отключена, загруженные данные могут не отображаться в интерфейсе.
Загрузка через синхронизацию данных (EnterpriseData)
Это штатный способ для файлов в универсальном формате 1С. Откройте раздел «НСИ и администрирование» → «Синхронизация данных» и включите флажок «Синхронизация данных». Затем создайте новую настройку: «Синхронизация данных» → «Настроить синхронизацию данных» → выберите вариант обмена с другой программой через универсальный формат.
В настройке укажите способ обмена «через каталог» или загрузку файла вручную. Для разовой загрузки удобнее вариант: создать настройку, а затем в списке настроек нажать «Выполнить обмен» и выбрать файл XML. Программа прочитает сообщение, сопоставит объекты по правилам и предложит просмотреть состав загружаемых данных.
Перед применением данных обязательно откройте «Предупреждения» и «Сопоставление объектов»: здесь видно, какие элементы будут созданы как новые, а какие привязаны к существующим. Несопоставленная номенклатура создаст дубли — это самая частая проблема при таком обмене.
- 1Сделайте резервную копию базы
- 2Включите «Синхронизацию данных» в настройках НСИ и администрирования
- 3Создайте настройку обмена через универсальный формат (EnterpriseData)
- 4Выполните обмен и укажите XML-файл
- 5Проверьте сопоставление объектов и предупреждения
- 6Подтвердите загрузку и проверьте созданные документы и справочники
Загрузка через «Универсальный обмен данными в формате XML»
Обработка «Универсальный обмен данными в формате XML» применяется, когда файл подготовлен по правилам конвертации данных (КД 2). Она открывается через «Файл» → «Открыть» — обработка входит в типовую поставку или находится в каталоге шаблонов конфигурации.
В обработке на вкладке «Загружаемые данные» выберите файл XML, при необходимости загрузите правила обмена (отдельный XML-файл с правилами конвертации). Включите режим отладки и флажок «Вывод информационных сообщений», чтобы видеть ход загрузки. Кнопка «Загрузить данные» запускает процесс.
Способ требует понимания структуры правил: если файл выгружен из другой базы 1С типовой обработкой, правила обычно уже встроены в файл. Если файл сторонний — загрузка без корректных правил завершится ошибкой или пустым результатом.
Загрузка прайсов и каталогов поставщиков
Для XML-каталогов поставщиков в формате CommerceML в УТ 11 есть «Помощник загрузки данных из внешних источников» (раздел «Закупки» или «CRM и маркетинг» в зависимости от версии, либо через «Загрузка данных из файла» в карточке соглашения с поставщиком). Помощник умеет читать CommerceML, а также Excel и CSV.
На этапе сопоставления колонок и полей укажите, какие данные из файла соответствуют артикулу, наименованию, цене, штрихкоду. Программа попытается найти существующую номенклатуру по артикулу или штрихкоду — несопоставленные позиции будут предложены для создания. Проверьте единицы измерения: расхождение единиц (штуки против упаковок) приводит к ошибкам в ценах и остатках.
Если поставщик присылает XML нестандартной структуры, практичный вариант — попросить выгрузку в CommerceML или Excel, либо заказать простую внешнюю обработку под конкретный формат. Это дешевле, чем регулярная ручная конвертация.
Загрузка электронных документов (УПД, накладные, счета-фактуры)
XML-файлы электронных документов (форматы ФНС: УПД, товарная накладная, счёт-фактура) загружаются через механизм электронных документов: раздел «ЭДО» → «Электронные документы» → «Загрузить из файла». Программа распознает формат по содержимому файла, проверит подпись (если есть файл подписи) и создаст входящий документ — например, «Приобретение товаров и услуг».
При загрузке документов критично сопоставление номенклатуры поставщика с вашей: в карточке номенклатуры заполняется регистр «Номенклатура контрагентов» по сопряжению «Артикул поставщика — наша номенклатура». После первичного сопоставления последующие загрузки от того же контрагента проходят автоматически.
Как проверить результат загрузки
Новые позиции созданы без дублей, заполнены артикул, единица измерения, вид номенклатуры
Появились дубли с похожими наименованиями, пустые единицы измерения
Цены записаны документом «Установка цен номенклатуры» на корректную дату и вид цен
Цены нулевые, записаны в неверный вид цен или в чужой валюте
Документы проведены, контрагент и договор заполнены, суммы сходятся с XML
Документы созданы, но не проведены, либо расходятся итоговые суммы
После загрузки нет сообщений об ошибках в протоколе обмена
В протоколе есть записи «Не найден объект», «Ошибка при вызове метода»
Типичные ошибки и способы их устранения
Самая частая ошибка — «Ошибка формата потока» или «Ошибка разбора XML». Причины: файл повреждён при передаче, сохранён не в UTF-8, содержит недопустимые символы или это вообще не XML, а переименованный Excel. Откройте файл в браузере: если структура не отображается деревом — файл испорчен.
Вторая группа ошибок — дубли справочников. Они возникают, когда сопоставление идёт по наименованию, а в файле наименование отличается пробелом или регистром. Настройте поиск по артикулу, штрихкоду или ИНН (для контрагентов) — это самые надёжные ключи сопоставления.
Третья группа — ошибки прав доступа и блокировок: «Нарушение прав доступа» означает, что у пользователя нет прав на создание документов или элементов справочников. Выполняйте загрузку под пользователем с полными правами или правами на соответствующие объекты.
Если XML от поставщика приходит регулярно, не загружайте его вручную каждый раз. Один раз настройте сопоставление номенклатуры контрагентов и рассмотрите вариант автоматической загрузки из каталога по расписанию — это устраняет человеческий фактор и экономит время при больших прайсах.
Когда нужна доработка или внешняя обработка
Штатные механизмы покрывают EnterpriseData, CommerceML и форматы ФНС. Всё остальное — зона доработок. Признак того, что без обработки не обойтись: файл имеет собственную структуру тегов, поставщик не может выгрузить в стандартном формате, а объём данных исключает ручной ввод.
Варианты решения: написание правил конвертации в «1С: Конвертация данных» (для загрузки через универсальную обработку), создание внешней обработки с чтением XML через ЧтениеXML, либо промежуточная конвертация файла в Excel/CSV и загрузка помощником. Для разовой задачи дешевле конвертировать файл, для регулярной — вложиться в обработку.
Что важно запомнить
Способ загрузки XML в УТ 11 определяется форматом файла: EnterpriseData — через синхронизацию данных, CommerceML — через помощник загрузки, документы ФНС — через ЭДО, файлы по правилам КД — через универсальную обработку. Всегда делайте копию базы, тестируйте на копии и проверяйте сопоставление объектов до подтверждения загрузки.
Частые вопросы
Можно ли загрузить XML в УТ 11 без программиста?
Да, если файл в формате EnterpriseData, CommerceML или это электронный документ ФНС — штатные механизмы справляются без доработок. Для XML произвольной структуры потребуется внешняя обработка или конвертация файла в поддерживаемый формат.
Почему после загрузки появились дубли номенклатуры?
Сопоставление шло по наименованию, и строки в файле отличались от базы. Удалите дубли через обработку «Поиск и удаление дублей», затем настройте поиск по артикулу или штрихкоду и повторите загрузку на копии.
Что делать, если XML открывается с ошибкой разбора?
Проверьте, что файл действительно XML (откройте в браузере), кодировка — UTF-8, файл не обрезан при скачивании. Если поставщик прислал файл в другой кодировке, пересохраните его в UTF-8 через «Блокнот» или попросите выгрузку заново.
Как загрузить из XML только цены, без создания новой номенклатуры?
В помощнике загрузки или при сопоставлении в синхронизации отключите создание новых элементов и оставьте только сопоставленные позиции. Несопоставленная номенклатура будет пропущена, а цены запишутся только по найденным товарам.
Можно ли автоматизировать регулярную загрузку XML?
Да. Настройка синхронизации данных позволяет забирать файлы из сетевого каталога по расписанию. Для нестандартных форматов регулярную загрузку автоматизируют внешней обработкой с регламентным заданием.
Чем загрузка XML отличается от загрузки из Excel?
Excel удобен для прайсов и табличных данных через помощник загрузки, но не передаёт структуру документов и связи объектов. XML (EnterpriseData, CommerceML) переносит документы, справочники и связи между ними, но требует соответствия формату.