Коннектор с типом систем «Microsoft Navision Axapta 3.0»
Примеры настройки ответной части системы Axapta 3.0
Для выполнения любого из действий интеграции в системе Axapta 3.0 необходимо на форме справочника создать кнопку. В качестве обработчика кнопки необходимо задать код на X++, инициирующий одно из действий интеграции. В следующих разделах приведены примеры кода.
Выгрузка данных из системы DIRECTUM и загрузка в систему Axapta 3.0
// Код системы DIRECTUM.
Str DIRECTUMCode ="<Код системы DIRECTUM>";
// Режим выгрузки данных из DIRECTUM.
Str Mode ="Batch";
// Признак запуска действия интеграции в скрытом режиме.
Str HiddenMode = "-1";
// Код системы Axapta.
Str IntegrationSystemCode = "<Код интегрированной системы>";
// Имя действия интеграции.
Str Action ="ImportDataToInregratedSystem";
COMVariant tempVariant;
COM DIRECTUMLogon;
COM DIRECTUMApplication;
Str AddParams;
COM ScriptFactory;
COM Script;
COM ScriptParams;
#define.SBLogonProgId("SBLogon.LoginPoint")
// Создать приложение DIRECTUM.
DIRECTUMLogon = new COM(#SBLogonProgId);
tempVariant = DIRECTUMLogon.GetApplication(COMVariant::createFromStr(
"SystemCode=" + DIRECTUMCode));
DIRECTUMApplication = COM::createFromVariant(tempVariant);
// Сформировать параметры.
AddParams = strfmt("Mode=%1;HiddenMode=%2;IntegratedSystemCode=%3",
Mode, HiddenMode, IntegrationSystemCode);
// Выполнить сценарий.
ScriptFactory = DirectumApplication.ScriptFactory();
Script = ScriptFactory.GetObjectByName(COMVariant::createFromStr(
"LaunchIntegrationAction"));
ScriptParams = Script.Params();
ScriptParams.Add(COMVariant::createFromStr("Action"),
COMVariant::createFromStr(Action));
ScriptParams.Add(COMVariant::createFromStr("AddParams"),
COMVariant::createFromStr(AddParams));
Script.Execute();
Выгрузка данных из системы Axapta 3.0 и загрузка в систему DIRECTUM
// Код системы DIRECTUM.
Str DIRECTUMCode ="<Код системы DIRECTUM>";
// Режим выгрузки данных из Axapta.
Str Mode ="Batch";
// Признак запуска действия интеграции в скрытом режиме.
Str HiddenMode = "-1";
// Код системы Axapta.
Str IntegrationSystemCode = "<Код интегрированной системы>";
// Признак отключения событий в справочниках DIRECTUM
// при приеме записей из внешней системы.
Str DisableEvents ="0";
// Имя действия интеграции.
Str Action ="ExportDataFromInregratedSystem";
COMVariant tempVariant;
COM DIRECTUMLogon;
COM DIRECTUMApplication;
Str AddParams;
COM ScriptFactory;
COM Script;
COM ScriptParams;
#define.SBLogonProgId("SBLogon.LoginPoint")
// Создать приложение DIRECTUM.
DIRECTUMLogon = new COM(#SBLogonProgId);
tempVariant = DIRECTUMLogon.GetApplication(COMVariant::createFromStr(
"SystemCode=" + DIRECTUMCode));
DIRECTUMApplication = COM::createFromVariant(tempVariant);
// Сформировать параметры.
AddParams = strfmt(
"Mode=%1;HiddenMode=%2;DisableEvents=%3;IntegratedSystemCode=%4",
Mode, HiddenMode, DisableEvents, IntegrationSystemCode);
// Выполнить сценарий.
ScriptFactory = DirectumApplication.ScriptFactory();
Script = ScriptFactory.GetObjectByName(COMVariant::createFromStr(
"LaunchIntegrationAction"));
ScriptParams = Script.Params();
ScriptParams.Add(COMVariant::createFromStr("Action"),
COMVariant::createFromStr(Action));
ScriptParams.Add(COMVariant::createFromStr("AddParams"),
COMVariant::createFromStr(AddParams));
Script.Execute();
Открытие окна со списком электронных документов, связанных с объектом системы Axapta 3.0
// Код системы DIRECTUM.
Str DIRECTUMCode ="<Код системы DIRECTUM>";
// Код системы Axapta.
Str IntegrationSystemCode = "<Код интегрированной системы>";
// Идентификатор объекта системы Axapta.
Str ObjectID = "<ИД объекта>";
// Имя таблицы системы Axapta.
Str ObjectType = "<Тип объекта>";
// Имя действия интеграции.
Str Action ="OpenBoundEDocumentsList";
COMVariant tempVariant;
COM DIRECTUMLogon;
COM DIRECTUMApplication;
Str AddParams;
COM ScriptFactory;
COM Script;
COM ScriptParams;
#define.SBLogonProgId("SBLogon.LoginPoint")
// Создать приложение DIRECTUM.
DIRECTUMLogon = new COM(#SBLogonProgId);
tempVariant = DIRECTUMLogon.GetApplication(COMVariant::createFromStr(
"SystemCode=" + DIRECTUMCode));
DIRECTUMApplication = COM::createFromVariant(tempVariant);
// Сформировать параметры.
AddParams = strfmt("IntegratedSystemCode=%1;ObjectType=%2;ObjectKey=%3",
IntegrationSystemCode, ObjectType, ObjectID);
// Выполнить сценарий.
ScriptFactory = DirectumApplication.ScriptFactory();
Script = ScriptFactory.GetObjectByName(
COMVariant::createFromStr("LaunchIntegrationAction"));
ScriptParams = Script.Params();
ScriptParams.Add(COMVariant::createFromStr("Action"),
COMVariant::createFromStr(Action));
ScriptParams.Add(COMVariant::createFromStr("AddParams"),
COMVariant::createFromStr(AddParams));
Script.Execute();
Отправка объекта системы Axapta 3.0 вложением в задачу DIRECTUM
// Код системы DIRECTUM.
Str DIRECTUMCode ="<Код системы DIRECTUM>";
// Код системы Axapta.
Str IntegrationSystemCode = "<Код интегрированной системы>";
// Идентификатор объекта системы Axapta.
Str ObjectID = "<ИД объекта>";
// Имя таблицы системы Axapta.
Str ObjectType = "<Тип объекта>";
// Kод типового маршрута, по которому должна быть создана задача.
Str StandardRouteCode ="<Код типового маршрута>";
// Имя действия интеграции.
Str Action ="SendExternalObjectAsTaskAttachment";
COMVariant tempVariant;
COM DIRECTUMLogon;
COM DIRECTUMApplication;
str AddParams;
COM ScriptFactory;
COM Script;
COM ScriptParams;
#define.SBLogonProgId("SBLogon.LoginPoint")
// Создать приложение DIRECTUM.
DIRECTUMLogon = new COM(#SBLogonProgId);
tempVariant = DIRECTUMLogon.GetApplication(COMVariant::createFromStr(
"SystemCode=" + DIRECTUMCode));
DIRECTUMApplication = COM::createFromVariant(tempVariant);
// Сформировать параметры.
AddParams = strfmt(
"IntegratedSystemCode=%1;ObjectType=%2;ObjectKey=%3;StandardRouteCode=%4",
IntegrationSystemCode, ObjectType, ObjectID, StandardRouteCode);
// Выполнить сценарий.
ScriptFactory = DirectumApplication.ScriptFactory();
Script = ScriptFactory.GetObjectByName(COMVariant::createFromStr(
"LaunchIntegrationAction"));
ScriptParams = Script.Params();
ScriptParams.Add(COMVariant::createFromStr("Action"),
COMVariant::createFromStr(Action));
ScriptParams.Add(COMVariant::createFromStr("AddParams"),
COMVariant::createFromStr(AddParams));
Script.Execute();
См. также:
© 2009, Компания DIRECTUM
|
Отправить комментарий к этому разделу на
support@directum.ru
|