Дозагрузка данных в файлы .xml

25.08.21

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Искал, но не нашел /(может и не умею искать) краткое описание дозагрузки данных в .xml файл, ну и решил сделать из этого первую публикацию.

Не так давно столкнулся с ситуацией, когда надо было дозаписывать записи в документ .xml.

Сам документ ничего особого с себя не представляет, примерно такой вот структуры:

Как видим Запись XML  и несколько атрибутов, но не об этом….

Как же записать следующие записи такого типа?!

Некоторые решения ведут за собой чтение документа, перенос данных в ТЗ, к нему крепим следующую запись и потом опять создаем документ и записываем его….но…не хотел так делать и все)

Потому нашел вариант, который мне нравится и быстро работает - все через ПостроительDOM.

Не спорю, на большие количества записей он будет работать медленней, но в данной ситуации как раз по мне!

Что же нам нужно? Тут все просто, вначале прочитаем файл .xml:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(Путь + ИмяФайла);
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(ЧтениеXML);
ЧтениеXML.Закрыть();

Далее найдем нужный корень структуры .xml файла в который будет дозаписывать наши строки (к) из какого то источника, будь то ТЗ, структура и т.п. (в моем случае это будет «СтрокаСчета»  в «ОстаткиБанковскиеСчета») и проведем запись новосозданной строки(к):           

ТаблицаИсточник = Запрос.Выполнить().Выгрузить();

     Корневой = Документ.ЭлементДокумента;

        Для каждого Строка Из ТаблицаИсточник Цикл

            Элемент = Документ.СоздатьЭлемент("СтрокаСчета");
            Элемент.УстановитьАтрибут("Дата", Строка(ТекущаяДата()));
            Элемент.УстановитьАтрибут("НаименованиеКомпании", Строка. Компания);
            Элемент.УстановитьАтрибут("ЕРДПОУ", Строка.КодПоЕДРПОУ);
            Элемент.УстановитьАтрибут("НазваниеБанка", Строка.Банк);
            Элемент.УстановитьАтрибут("МФО", Строка.Банк.Код);
            Элемент.УстановитьАтрибут("IBAN", Строка.НомерСчета);
            Элемент.УстановитьАтрибут("Валюта", Строка.Валюта);
            Элемент.УстановитьАтрибут("Сумма", Строка.СуммаОстаток);
            Корневой.ДобавитьДочерний(Элемент);

        КонецЦикла;

Ну и последний штрих - это записать уже отредактированный нами документ кодом типа:

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(Путь + ИмяФайла);
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(Документ, ЗаписьXML);
ЗаписьXML.Закрыть();

После получаем наш файл будет выглядеть так:

Надеюсь, кому то помогло.

Тестирование проводил на упр. формах УНФ выше 1.6.10.

Вступайте в нашу телеграмм-группу Инфостарт

Выгрузка .xml файл сохранение ПостроительDOM

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    190362    370    294    

427

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    85822    231    181    

168

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    162819    989    329    

486

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    209141    178    253    

297

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    885    3    8    

2

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    35443    261    68    

199

Операции по ВЭД Файловый обмен (TXT, XML, DBF), FTP Программист Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Бухгалтерский учет Платные (руб)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:". Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные) Обработка актуализирована на начало 2026 года (ставка НДС 22%)

24400 руб.

09.08.2016    95914    373    379    

117

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

58000 руб.

29.10.2018    63510    83    135    

82
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. makfromkz 35 26.08.21 09:05 Сейчас в теме
Далее найдем нужный корень структуры .xml файла в который будет


Я чуток не понял, как вы найдете нужный элемент когда структура посложнее ваше?
2. BehV 15 26.08.21 10:25 Сейчас в теме
(1)
Корневой = Документ.ЭлементДокумента;
"ЭлементДокумента" - это корневой узел файла XML.

Корневой = Документ.ЭлементДокумента.ДочерниеУзлы;
"ДочерниеУзлы" - это список (массив) дочерних узлов у любого узла XML документа.

Ищем нужный нам уровень...проще почитать как работает чтение XML через ПостроительDOM, но основное я и писал, что структура не сложна, и это для меня самый простой метод)
Для отправки сообщения требуется регистрация/авторизация