Чтение XML-документов в 1С: как открывать файлы, способы их записи и преобразования в структуру

Автор статьи
Бобков Олег
Менеджер отдела продаж

Работа с учетными программами представляет собой совокупность ежедневного выполняемых рутинных процессов. Использование сразу нескольких систем, отличающихся форматами хранения данных, обуславливает потребность в наличии универсального способа обработки. Подобным вариантом, оказывающим помощь в выгрузке, передаче и последующей загрузке информации в базу стал расширяемый язык разметки eXtensible Markup Language, рекомендованный к применению W3C (Консорциум Всемирной Паутины). Сегодня предприятия, пользующиеся стандартизированными библиотеками, имеют возможность в кратчайшие сроки реализовывать процесс обмена — создание, чтение и запись файлов XML, преобразуемых в структуру 1С, позволяет решить многие актуальные задачи.

Как можно загрузить XML

Общее представление

Одним из главных преимуществ, отличающих рассматриваемую спецификацию, принято считать удобство и интуитивную понятность предлагаемого синтаксиса. Целью разработчиков являлось создание универсального языка разметки, одинаково комфортного для прочтения как машинными алгоритмами, так и непосредственными пользователями. Несмотря на внушительный по меркам индустрии возраст, релиз состоялся еще в 1998 году — стандарт по-прежнему остается одним из наиболее востребованных и популярных способов адаптации данных.

Для прочтения написанной процедурой объектов достаточно передать путь к заданному документу, используя либо интерфейс, позволяющий вручную указывать место хранения, либо текст обработки, в котором точно прописывается актуальный маршрут. В рамках 1С работа с XML файлами зачастую реализуется с помощью объектной модели DOM — при условии, что размер элемента не превышает 100 МБ. Схема предусматривает последовательную проверку каждого представленного узла и на практике выглядит следующим образом:

  • Объявление механизмов, применяемых для чтения.
  • Определение цикла поочередного обхода.
  • Считывание данных и их атрибутов.
  • Представление информации, включая опцию записи в таблицы или переменные.
  • Завершение процесса.

Работа в 1С 8.x

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

Механизм XDTO

В целях обеспечения доступности рассматриваемой методики разработчики учетной программы интегрировали собственную конфигурацию — Data Transfer Objects. В редакциях 8.1 и выше опция трансфера доступна по умолчанию, и позволяет пользователям не вдаваться в специфику формирования файловых объектов. За технические нюансы отвечает непосредственно платформа 1С, тогда как взаимодействующим с ней сотрудникам остается только указать информацию, требующую обработки. Правда, стоит учесть, что для полноценной реализации новой функции потребуется выполнение ряда специфических манипуляций.

Загрузка с помощью XDTO возможна после сообщения учетной программе его структуры, для передачи которой используется набор схем. Они создаются как с помощью специального приложения, так и в обычном текстовом редакторе. Итоговый документ должен описывать содержание и типы данных, которые будут использованы объектом. Перед тем как записать XML файл в 1С, схематическое описание загружается в общую конфигурацию, в раздел «Пакеты».

Самый простой вариант — создание вручную. Достаточно отразить наличие головного элемента и вложения с определенными атрибутами, экспортировать получившуюся в результате набора структуру в формат xsd, и передать ее второй стороне, исключая необходимость повторной генерации XDTO. Для сохранения новых версий на жестком диске применяется типовой серверный алгоритм, при этом следует учитывать, что сведения добавляются отдельно по каждой позиции, а при увеличении количества уровней вложения описывать придется все заголовки.

Чтение файла

Готовые решения для всех направлений

Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Узнать больше

Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

Узнать больше

Обязательная маркировка товаров - это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

Узнать больше

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Узнать больше

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

Узнать больше

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

Узнать больше

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

Узнать больше

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

Узнать больше

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Узнать больше

Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

Узнать больше
Показать все решения по автоматизации

Считывание файла средствами внутреннего языка

Максимально простая процедура, для реализации которой создается объект ЧтениеXML — 1С, заранее получившая необходимую информацию, раскладывает содержание полученного документа по нужным разделам.

Особенности записи данных

В целях оперативного выполнения подобной операции платформой осуществляется отдельная обработка. Пользователь открывает учетную программу, авторизуется и последовательно выбирает разделы «Файл — выгрузка», указывая конкретную область сохранения документа — жесткий или съемный накопитель — а также требуемый формат. Стоит отметить, что скорость во многом зависит от размера объекта, так что перед запуском очередного цикла следует уточнить, какую именно информацию нужно выгрузить. Программа допускает слияние путем добавления новых позиций — в этом случае в качестве конечного указывается уже существующий элемент, либо используется буфер.

Выгрузка с помощью XDTO

Пакет представляет собой объект метаданных, предназначенный для обмена с использованием рассматриваемого формата. Его задача — создание понятной системе структуры, которая в дальнейшем будет использоваться ею в процессе выгрузки. Альтернативное решение — уже упомянутое применение файлового структурирования, при котором параметры задаются вручную. В обоих случаях завершение процедуры, означающее определение схемы, позволяет перейти к созданию документов любой сложности.

Механизм XDTO

Как программно создать файл XML в 1С

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

  • Последовательно считывать и записывать информацию.
  • Преобразовывать строки, выбранные из текстового содержания или значения атрибута, в заданный тип.
  • Формировать строковое атрибутное представление для размещения в тексте.
  • Получать формат, соответствующий переданному типовому параметру.
  • Проверять возможность прочтения и соответствие структуре по умолчанию.
  • Применять функцию «записатьXML» и возвращать тип данных.
  • Использовать модель схемы и объектного доступа DOM, соответствующую стандартам Level 2, XPath и Load and Save, а также канонической версии 1.1 Canonical.

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

Как осуществляется перенос между базами

Разработчики предлагают для решения подобной задачи форму 1С: Конвертация, основывающуюся на использовании стандартных файлов XML. Алгоритм процедуры предусматривает предварительное формирование пользователем документа, содержащего перечень последовательных правил, на основе которых и будет выполняться заданная операция. Программный продукт обеспечивает оперативный трансфер как между идентичными, так и между различными по типологии конфигурациями. В первом случае продолжительность процесса составляет не более часа, тогда как в остальных придется ждать чуть дольше.

Локализация баз данных в одном месте, равно как и наличие доступа сразу к нескольким хранилищам, обеспечивает возможность использования механизма OLE. Это достаточно удобная заготовка, в ходе которой реализуется прямая файловая транзакция, что не слишком сокращает время обработки, но при этом сводит к нулю вероятность возникновения ошибок. Нужно учитывать, что технология не подходит для применения в тех случаях, когда речь идет о распределенных областях хранения.

Представление файла

Еще один, пожалуй, самый распространенный метод — файловый перенос. Простота и удобство обуславливаются возможностью использования любых форматов, включая doc, xls или dbf, однако на практике удобнее всего открыть в 1С файл XML, так как его структура позволяет сразу распределить информацию в соответствии с заданной схемой. Алгоритм укладывается в три последовательных операции: выгрузка, передача, загрузка. При этом фактическое местонахождение пользователей не имеет значения, что делает способ абсолютно универсальным. Небольшие размеры формируемых документов позволяют передавать их онлайн, через съемные носители или облачные сервисы хранения.

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

Как правильно сформировать XML-документ произвольной структуры

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

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

Одно из преимуществ XML — отсутствие зависимости от конкретной платформы. Любая программа, предназначенная для обработки подобных объектов, способна считывать и использовать содержащуюся в них информацию, невзирая на то, какое оборудование или операционная система имеются в распоряжении пользователя. Так, например, грамотное применение структуры тегов позволяет открывать и обрабатывать данные, полученные с сервера, при помощи различных офисных приложений. Подобная совместимость во многом обуславливает популярность технологии в тех случаях, когда требуется быстрые трансферы между базами и компьютерами сети.

Данные из 1C

Стандартный алгоритм файловой генерации представляет собой следующую последовательность действий:

  1. Инициализация в 1С нового класса «ЗаписьXML», к примеру, с идентичным наименованием.
  2. Открытие временного файла и запись объявления.
  3. Заполнение содержания, с обязательным указанием начала и конца элемента.
  4. Запись и закрытие полученного объекта.

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

Преобразование объекта XDTO в текст

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

  1. Создать типовой файл записи.
  2. Отметить, что XML должно выводиться в строку 1С.
  3. Записать объект XDTO в элемент.
  4. Завершить процесс, получив результирующий вывод.

При этом нужно учитывать, что используемая пакетная переменная данных содержит информацию в формате, соответствующем одной из конфигураций, предложенных по умолчанию. В тех случаях, когда от платформы поступает запрос в сторону внешнего сервиса, предоставляющего динамическое описание, есть вероятность ошибки кода, обуславливаемой отсутствием в механизме сведений о структуре. Решение проблемы — замена в содержании элемента «ФабрикаXDTO» на «Прокси.ФабрикаXDTO», где последний является объектом типа WSПрокси, обеспечивающим обращение к ресурсу.

Документ произвольной структуры

Готовые решения для всех направлений

Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Узнать больше

Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

Узнать больше

Обязательная маркировка товаров - это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

Узнать больше

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Узнать больше

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

Узнать больше

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

Узнать больше

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

Узнать больше

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

Узнать больше

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Узнать больше

Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

Узнать больше
Показать все решения по автоматизации

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

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

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

Как загрузить XML документ произвольной структуры

Для решения этой задачи необходимо написание стандартной обработки, при создании которой следует учитывать следующие аспекты:

  • Путь к загружаемому объекту указывается в переменной.
  • Используется модель последовательного доступа.
  • Проверяется, текущая часть элемента — чтение атрибутов возможно только в том случае, если она является начальной.

После завершения цикла в информационное окно выводится текстовое уведомление либо признак конца элемента. Если тестовая проверка не показала наличия ошибок в чтении — алгоритм может использоваться для дальнейшего решения производственных задач.

XDTO-пакеты

Заключение

Специфика взаимодействия с учетными платформами обуславливает необходимость наличия у сотрудников базовых знаний и определенного уровня квалификации, позволяющего свободно работать с документами и отчетностью. С учетом того, что большинство отечественных компаний используют 1С, грамотная работа с XML становится немаловажным аспектом. Быстрый обмен данными и оперативная обработка информации способствуют принятию правильных решений, и, как следствие, приносят выгоду бизнесу. Добиться желаемого эффекта — повышения эффективности — также помогает оптимизация рутинных процессов, для реализации которой достаточно интегрировать продукты мобильной автоматизации, предлагаемые компанией «Клеверенс».



Количество показов: 4140

Статьи по схожей тематике