Модификация прикладной системы
Разработка коннекторов к внешним системам
…ImportDataToIntegratedSystem
Назначение:
Преобразование данных из формата системы DIRECTUM в формат внешней системы и выполнения загрузки данных во внешнюю систему.
Входные параметры:
IntegratedSystemCode – строка, код интегрированной системы из справочника Интегрированные системы.
XMLDocument – вариантный, ссылка на объект типа "MSXML.DOMDocument", в котором содержатся данные, выгруженные из системы DIRECTUM.
HiddenMode – логический, cкрытый режим.
Возвращаемое значение:
Имя файла с данными, которые были приняты в интегрированную систему.
Схема процесса:
Описание:
Данная функция используется для выполнения преобразования данных, выгруженных из системы DIRECTUM, к формату данных внешней системы выгрузки данных из внешней системы и преобразования их к формату DIRECTUM. Данная функция может быть реализована различными способами, так как различные системы могут предоставлять различные возможности интеграции.
Формат XMLдокумента, который должен быть передан в параметре XMLDocument, соответствует формату данных, в котором формируется возвращаемое значение функции Connector<Код типа системы>ExportDataFromIntegratedSystem.
Шаблон текста функции (один из возможных вариантов реализации с преобразованием):
/******************************************************************************/
// Преобразовать документ с данными в формат внешней системы //
/******************************************************************************/
DESTINATION_SYSTEM_TYPE_CODE = "D"
REQUISITES_SETTINGS_DETAIL_DATASET_INDEX = 1
IntegrationSettingsReference = References.IntegratedSystemsDataExchangeSettings.GetComponent()
IntegratedSystem = References.IntegratedSystems.GetObjectByCode(IntegratedSystemCode)
IntegratedSystemID = IntegratedSystem.SYSREQ_ID
AddWhere = Format("%0:s.%1:s = %2:s and %0:s.%3:s = '%4:s'";
ArrayOf(IntegrationSettingsReference.TableName;
IntegrationSettingsReference.Requisites("IntegratedSystem").SQLFieldName; IntegratedSystemID;
IntegrationSettingsReference.Requisites("IntegratedSystemType").SQLFieldName; DESTINATION_SYSTEM_TYPE_CODE))
AddWhereID = IntegrationSettingsReference.AddWhere(AddWhere)
IntegrationSettingsReference.Open()
if not HiddenMode
Progress = CreateProgress(; IntegrationSettingsReference.RecordCount + 2; FALSE)
Progress.Show
endif
XSLStylesheet = CreateObject("MSXML.DOMDocument")
Dest = CreateObject("MSXML.DOMDocument")
Temp = CreateObject("MSXML.DOMDocument")
foreach IntegrationSetting in IntegrationSettingsReference
IntegrationSetting.OpenRecord()
// Получить XSL для импорта
XSLStylesheet.loadXML(IntegrationSetting.Requisites("Текст").AsString)
// Преобразовать исходную XML по схеме
Temp.loadXML(XMLDocument.transformNode(XSLStylesheet))
<Код формирования выходного XML документа>
if not HiddenMode
Progress.Next
endif
endforeach
IntegrationSettingsReference.Close()
IntegrationSettingsReference.DelWhere(AddWhereID)
/******************************************************************************/
// Выполнить обработку сформированного XMLдокумента //
/******************************************************************************/
<Код обработки XML документа после формирования>
/******************************************************************************/
// Определить имя выходного файла и сохранить его //
/******************************************************************************/
FullFileName = <Имя выходного файла с данными>
// Сохранить выходной файл
Dest.save(FullFileName)
// В результат поместить имя сформированного файла
Result = FullFileName
if not HiddenMode
Progress.Next
endif
/******************************************************************************/
// Инициировать процесс приема данных во внешнюю систему //
/******************************************************************************/
<Код загрузки данных во внешнюю систему>
if not HiddenMode
Progress.Next
Progress.Hide
endif
где
· <Код формирования выходного XML документа> - код, в котором формируется выходной XML документ. После преобразования данные должны попасть в документ, ссылка на который хранится в переменной Dest. Данные, преобразованные по одной настройке обмена данными хранятся в документе, ссылка на который находится в переменной Temp. Формирование документа Dest должно определяться для каждого типа систем, так как формат файла данных может различаться.
· <Код обработки XML документа после формирования> - код, в котором может выполняться произвольная обработка сформированного документа (выполняться проверка правильности формата, разрешение ссылок на записи справочников и т.д.)
· <Имя выходного файла с данными> - имя файла, в который помещаются данные, преобразованные к формату внешней системы;
· <Код загрузки данных во внешнюю систему> - код, предназначенный для загрузки данных во внешнюю систему из файла.
См. также:
· …GetDataExchangeSettingRequiredParamList;
· …ExportDataFromIntegratedSystem;
· …FindObject;
· …GetInfo;
© 2009, Компания DIRECTUM
|
Отправить комментарий к этому разделу на
support@directum.ru
|