Совет Максима Горбунова о существующей в Аксапте возможности публикации данных в xml-формате. При помощи сервера пакетов можно публиковать данные. Причем публиковать можно в автоматическом режиме по заданному расписанию.

Максим Горбунов, maxim@mazzy.ru

Загрузить

xmlpublish.zip (4.5Kb, внутри AxXMLExport.xsd, SysINetPublishXMLExport.xpo, XMLPublishFix.xpo. Для загрузки требуется регистрация на форуме у Mazzy)

 

Выгрузка данных в XML c помощью менеджера публикаций Axapta

Одной из задач, стоявших перед разработчиками языка XML было создание языка, который будет поддерживаться большим набором приложений. Сейчас, когда с момента создания языка в 1996 году прошло восемь лет, можно сказать, что цель была достигнута: XML де-факто стал стандартом для обмена информацией между приложениями. Axapta, которая с самого своего рождения развивалась под знаком передовых технологий, разумеется, не могла игнорировать XML.

Что же предлагается пользователю Axapta для обмена данными в формате XML? К сожалению, не так уж и много. В первую очередь, обычно, вспоминают Commerce Gateway, предназначенный для обмена данными через Microsoft BizTalk Server. Вероятно, это наиболее технологичный вариант, позволяющий гибкую настройку. Однако, в случае, если все, что Вам необходимо, просто заставить обменятся данными две программы, обе из которых работают в общем сетевом окружении, связка «Commerce Gateway + MS BizTalk Server» вряд ли будет оптимальным решением, так как потребует слишком много ресурсов уже на этапе первоначальной настройки.

С моей точки зрения, гораздо более простой альтернативой использованию Commerce Gateway для обмена данными Axapta является Менеджер публикаций, входящий в состав стандартного приложения еще с версии 2.0. Он позволяет:

Настройка публикаций

Менеджер публикаций исключительно прост в настройке. Вся работа происходит в форме «Менеджер публикаций» (Рисунок 1).


Рисунок 1

Для того, чтобы эта форма нормально открылась, добавьте хотя бы одно изображение в форму «Изображения» (Главное меню – Администрирование – Настройки – Интернет – Изображения).


Рисунок 2

Нажмите на кнопку «Новый…» (Рисунок 2), чтобы создать новый шаблон публикации.


Рисунок 3

В появившейся форме (Рисунок 3) Вам предлагается выбрать способ создания шаблона публикации (явное подражание офисным продуктам Microsoft, правда способ только один) и дать ему название. Как только Вы справитесь с этой задачей, нажимайте кнопку «Открыть…». После этого запустится Мастер шаблонов публикации данных, который поможет Вам создать новый шаблон за шесть несложных шагов. В процессе работы с мастером Вам предстоит выбрать:

В результате работы мастера Вы получите новый шаблон публикации (Рисунок 4).


Рисунок 4

Нажав на кнопку «Выбрать…», Вы сможете ограничить выгружаемую выборку (Рисунок 5).


Рисунок 5

Наконец, нажмите на кнопку «Опубликовать», чтобы создать файл с выгруженными данными.

В результате Вы получите XML -документ, который соответствует следующей схеме AxXMLExport.xsd (Рисунок 6).


Рисунок 6

Структура XML -документа описана в с файле со схемой в тегах аннотации. Повторю теги в виде таблице и в самой статье:

Тег Описание

AxaptaXMLExport

Корневой элемент. Встречается ровно один раз.

definitions

Описание структуры выгруженных данных. При выгрузке данных мастером публикаций элемент не заполняется, однако обрабатывается классом XMLDataImport.

transaction

Собственно данные. Состоят из набора объектов - строк таблиц.

Record

Строка таблицы. Атрибут name содержит имя таблиц в том виде, в каком оно записано в AOT. Атрибут row содержит порядковый номер записи (нумерация идет в пределах одной таблицы)/

Field

Поле таблицы. В атрибуте name записано имя поля в том виде, в каком оно записано в AOT

Method

Значение display-метода, вызванного для выгружаемой строки таблицы. В атрибуте name записано имя метода в том виде, в каком оно записано в AOT. Не появляется в стандартном приложении (то есть появляется только после установки модификации).

 

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

Максим Горбунов, maxim@mazzy.ru