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

Публикация № 1499218 25.08.21

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        КонецЦикла;

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

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

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

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

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

Специальные предложения

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


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

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

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

См. также

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Все знают, что такое кэш, и зачем он нужен. Но в 1С разработчик обычно использует кэширование только на уровне конфигурации, а в какой-нибудь обработке скорее ломает голову над запросом - как получить все данные за один заход... Хочется рассказать о том, как можно добиться хороших результатов с стратегией "разделяй и властвуй".

30.10.2017    30735    unichkin    18    

Функция сравнения значений (рекурсивно)

Универсальные функции 8.3.14 8.3.14 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Позволяет сравнивать значение с эталонным как строго (точное совпадение полей, количества и последовательности элементов массивов), так и не строго (все элементы эталона есть в значении).

30.12.2022    1175    DrWeb3    31    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    59361    tormozit    53    

Хитрости СКД. Часть 3

СКД Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Система компоновки данных Система компоновки данных Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022    5913    milkers    11    

Базовые принципы работы с регламентными заданиями подсистем БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

В очередной публикации рассмотрим некоторые базовые приемы работы с регламентными заданиями в рамках библиотеки стандартных подсистем

22.05.2022    6004    quazare    24    

Модули общего назначения - готовые полезные функции и процедуры конфигураций на БСП

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

В данной статье я рассматриваю несколько полезных "классических" функций и процедур для работы с данными, которые уже встроены в БСП и готовы к использованию.

25.04.2022    8082    quazare    11    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    56665    tormozit    79    

Вывод табличных документов с разной ориентацией страниц в один pdf файл

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

Привожу код для вывода нескольких табличных документов c разной ориентацией страниц в один файл pdf.

06.04.2022    2185    sdjoker    5    

Полезный код для программистов 1С (часть 3). Подготовка печатных форм + подсистема Управление печатью (БСП)

БСП (Библиотека стандартных подсистем) Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Мы все любим 1С, не так ли? Вот дает 1С прекрасный механизм возможности модификации макетов печатных форм в БСП. А из всех рекомендаций это получение макета и заполнение параметров областей. И вы спросите: "А что не так... ты печатные формы накодить не можешь без указаний сверху?". Да вот в том то и дело, что я могу все. А вот пользователям от такого механизма пользы 0, если из всех доступных изменений остаются только шрифты, да текст произвольный накинуть. А ведь можно больше, надо только соблюдать несколько правил при подготовке печатных форм...

07.03.2022    7730    vandalsvq    0    

Подмена заголовка 1С Промо

Универсальные функции Работа с интерфейсом Россия Россия Бесплатно (free) Бесплатно (free)

Подстановка имени базы данных в начало заголовка окон с программой 1С (конфигуратор и предприятие). Удобно при одновременной работе с большим количеством баз данных. Скрипт интересен будет как для программистов, так и для администраторов баз данных. Заголовок можно менять для любой программы, не только для 1С, для этого требуется немного исправить скрипт. Программисту 1С не составит труда переделать скрипт.

08.12.2018    12273    moolex    26    

Конвертируем печатную форму pdf в картинку (jpg, gif, png и прочие) на сервере

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Была поставлена интересная задача конвертировать печатную форму в файл картинку. По условию задачи клиенту на почту нужно присылать только файл картинку (jpg, gif).

22.12.2021    5066    John_d    25    

Несколько простых приемов для удобной работы в конфигураторе

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Простая и удобная среда разработки 1С:Предприятия позволяет практически любому человеку начать работать под капотом 1С - в конфигураторе. Время идет, новички становятся программистами, специалистами, а об удобных приемах работы узнают годами, по ходу своего карьерного пути. А здорово было бы, если бы все знали удобные приемы в начале своего пути? Эти несколько приемов будут полезны новичкам, так как они затрагивают ту область работы, с которой приходится сталкиваться в начале карьеры.

12.11.2021    11410    acces969    95    

Универсальные функции с примерами использования Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

14 универсальных функций, с примерами использования - для обычного и управляемого интерфейса

26.02.2016    45357    unichkin    48    

Понимание схемы JSON (JSON Schema), часть 1

Файловый обмен (TXT, XML, DBF), FTP Бесплатно (free) Бесплатно (free)

Перевод книги https://json-schema.org/understanding-json-schema/

08.11.2021    18380    malikov_pro    2    

Интеграция 1С с ГИИС ДМДК

WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:ERP Управление предприятием 2 Ювелирная промышленность и торговля Ювелирная промышленность и торговля Россия Россия Бесплатно (free) Бесплатно (free)

ГИИС ДМДК - единая информационная платформа для взаимодействия участников рынка драгоценных металлов и драгоценных камней. с 01.09.21 стартовал обязательный обмен данными с Федеральной пробирной палатой (ФПП) исключительно через ГИИС. А постепенно - с 01.01.2022 и с 01.03.2022 - все данные о продаже драгоценных металлов и камней должны быть интегрированы с ГИИС. У многих пользователей возникает вопрос как автоматизировать обмен между программой 1С и ГИИС ДМДК. В настоящей статье ВЦ Раздолье поделится своим опытом о реализации такого обмена. Автор статьи - Мордовин Антон - архитектор систем на базе 1С Внедренческого центра "Раздолье".

30.09.2021    34411    1СERP    159    

Универсальная функция для программного выполнения СКД Промо

Универсальные функции Система компоновки данных Система компоновки данных Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Часто встречаются вопросы на форумах о программном формировании СКД. Вроде и информации много по этому поводу, но... Все как всегда :) Собственно, в описании без лишних слов выложен текст общей функции, в которую, для выполнения отчета, нужно передать (минимум 2 параметра): СКД и ТабличныйДокумент.

20.05.2015    32695    dj_serega    18    

Преобразование дерева значений в структуру

Универсальные функции 8.3.14 8.3.14 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Функция преобразования дерева значений в структуру. В обработке пример работы функции.

04.06.2021    2764    toxilamer    0    

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    18128    Nikola23    40    

Ускорение отладки управляемых форм Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Ускорение отладки управляемых форм в больших неповоротливых конфигурациях, когда заказчик просит что-то и сам не знает, что из этого получится.

23.05.2015    15649    moolex    6    

Генератор QR кодов для 1С без компонент через HTTP API

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Самый простой, на мой взгляд, способ получить QR код для 1СV8. Без внешних компонент, как говорится, бесплатно, без смс и регистрации))

17.12.2020    8352    shell_maxim    28    

Сохранение настроек

Универсальные функции БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Делюсь еще одним не самым очевидным способом хранения настроек в базах на БСП без доработки конфигурации. Весь код в статье.

22.11.2020    8491    ixijixi    8    

УстановитьСсылкуНового() как ход оптимизации! Промо

Универсальные функции Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Для себя открыл новую возможность применения данного метода в типовых конфигурациях. Особенность чрезвычайно интересная при загрузке справочников.

22.10.2014    62558    logarifm    85    

Произвольные колонтитулы и повтор шапки таблицы в табличном документе (функция)

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Пример рекурсивной функции, при помощи которой в табличный документ можно выводить верхний или нижний колонтитулы с произвольным содержимым, а также делать повтор шапки таблицы (или таблиц, если их несколько).

07.10.2020    11433    ellavs    6    

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020    9116    Neti    47    

Загрузка или обновление файла на яндекс диске через rest-api

Файловый обмен (TXT, XML, DBF), FTP WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Коллеги, в данной публикации я хочу поделиться кодом, с помощью которого можно загрузить файл на яндекс диск или обновить существующий.

12.08.2020    6677    pavelpribytkin96    11    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

Универсальные обработки Загрузка и выгрузка в Excel Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    85278    StepByStep    27    

Самый простой парсинг и обработка веб-страниц в 1С

WEB-интеграция Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    22431    Infostart    30    

Загрузка или обновление файла на гугл диске

Файловый обмен (TXT, XML, DBF), FTP WEB-интеграция Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Коллеги, в данной публикации я хочу поделиться кодом, с помощью которого можно загрузить файл на гугл диск или обновить существующий.

06.08.2020    4837    pavelpribytkin96    9    

[8.2] Глобальные переменные в контексте сервера (управляемое приложение) Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

Можно ли в 8.2 на сервере хранить ссылку на объект внешней компоненты? Можно! Рассмотрим на примере... Эта статья - отчет на вопрос в http://infostart.ru/forum/forum14/topic29689/

09.12.2009    39379    Душелов    34    

Полезные встроенные функции для работы с печатными формами и не только на УТ 11.4 и БП 3.0 (сравнение)

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление торговлей 11 Россия Россия Бесплатно (free) Бесплатно (free)

В данном обзоре приведу примеры встроенных используемых функций для работы с печатными формами на примерах конфигураций Управление торговлей 11.4 и Бухгалтерия 3.0.

10.07.2020    13442    quazare    7    

Форма выбора (подбор) в управляемых формах

Универсальные функции Работа с интерфейсом Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    153365    user5300    37    

Отладка правил обмена 7.7, 8 Промо

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 1С:Конвертация данных 1С:Конвертация данных Бесплатно (free) Бесплатно (free)

Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.

29.10.2013    53913    pyrkin_vanya    71    

Получаем уровень группировки ячейки табличного документа

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Табличные документы отчетов часто формируются с разными уровнями группировок и иногда требуется определить номер уровня ячейки. Предлагаю свои функции, которые позволяют определить, как горизонтальный, так и вертикальный уровень группировки любой ячейки табличного документа.

23.03.2020    7730    maxx    16    

[БСП] Обмен через Конвертацию данных 2.1

Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Добавим новый план обмена и настроим в БСП типовой обмен через правила конвертации данных (КД 2.1)

03.02.2020    17640    John_d    22    

Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Сделаем ежедневную выгрузку и загрузку данных через конвертацию данных 2.1 из одной базы в другую. Но весь код и правила конвертации будут располагаться во внешней обработке.

22.01.2020    9387    John_d    33    

Проверка заполненности реквизитов через подписку на событие Промо

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Навеяло от...http://infostart.ru/public/203664/ но с другого бока. Пришли пингвины, заявили... (а база перекурочена предшественниками как черепаха богом) хотим чтоб если есть в документе такой то реквизит, чтоб он всегда был заполнен... или же никогда там не выбирались группы и перечислили наименования справочников при ссылке на которые не должно быть пустот. И что? Я рыжий сидеть дня два прсматривать каждый из почти двух сотен доков? Потому и уродились три подписки на события. Описание в тексте Выбор групп проверяется на событие ПередЗаписью а проверка реквизитов на событии ОбработкаПроверкиЗаполнения

16.10.2013    14731    ser6702    7    

Сходство Джаро - Винклера. Нечеткое сравнение строк

Универсальные функции Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

В области информатики и статистики сходство Джаро - Винклера представляет собой меру схожести строк для измерения расстояния между двумя последовательностями символов. В публикации рассмотрены некоторые особенности алгоритма, и представлен вариант его реализации на языке 1С.

25.12.2019    10668    brooho    21    

Автоматическое создание связанного объекта в базе 1С: Документооборот через бесшовную интеграцию

Универсальные функции Механизмы типовых конфигураций Платформа 1С v8.3 Платформа 1С v8.3 1С:Документооборот 1С:Документооборот 1С:ERP Управление предприятием 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free) Бесплатно (free)

При настройке бесшовной интеграции с базой документооборота часто возникает задача - пользователи просят автоматически создавать связанный объект в базе документооборота по некоторому условию. В данной публикации я хочу поделиться своим решением данной задачи.

23.12.2019    5723    pavelpribytkin96    2