Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Чтение и запись XML в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
В основе работы с XML-файлами лежит технология доступа SAX, которая осуществляет считывание по одному тегу. Для этого существует два типа данных – ЗаписьXML и ЧтениеXML.
Запись данных справочника в XML-файл:
Код 1C v 8.х
Чтение данных из XML-файла в справочник:
Код 1C v 8.х
Создадим обработку в типовой конфигурации для экспорта плана счетов. Структура xml-файла должна быть такой. Корневой элемент xml-документа соответствует плану счетов в целом. В нем располагаются подчиненные элементы с именем Счет, содержащие информацию о счетах. В качестве содержимого элементов указывается наименование счета. Остальные данные записываются в качестве атрибутов (код, признаки валютного, количественного учета и пр.). В качестве подчиненных элементов для элемента Счет задаются элементы, обозначающие его субсчета с теми же атрибутами. Приведем код процедуры экспорта плана счетов.
Код 1C v 7.x
В результате будет получен файл, вот его фрагмент:
Код
А теперь приведем код для импорта плана счетов из xml-файла в новую конфигурацию. Код модуля соответствующей обработки должен содержать процедуру Выполнить(), которая имеет такой вид.
Приветствую вас, друзья. Хочу поделиться опытом работы с файлами XML, возможно, пригодится начинающим в этом деле )
1 пример — записьчтение XML, выгрузим документ в xml файл и загрузим его обратно
2 пример, выгрузка номенклатуры в идентичную конфигурацию по COM Соединению.
Для выгрузки документа в базу с другой конфигурацией будем объявлять элементы и пространства имен вручную.
Такой метод не всегда эффективен, так как наименования реквизитов могут отличаться, и запись осуществится с ошибками (Например с пустыми реквизитами), вполне подойдет для выгрузки и загрузки определенных элементов между не типовыми конфигурациями. Для более сложных задач (ВыгрузкаЗагрузка документов и справочников со структурой подчиненности) между не типовыми конфигурациями рекомендуется использовать Конвертацию данных и универсальный обмен данными в формате XML .
Пример Выгрузки и загрузки данных между одинаковыми базами средствами XDTO.
Пример выгрузки номенклатуры в одинаковую базу, без сохранения файла XML на диске:
Кстати, можно использовать данный метод между не типовыми конфигурациями, без использования «СериализаторXDTO» как в первом примере )
Спасибо за внимания! Прошу строго не судить ) возможно данный пример поможет именно для решение вашей задачи !) Удачи (=
Буду рад услышать более эффективные решения для подобных задач ! Спасибо !)
Источник: