Коннекторы для интеграции

 

Коннектор с типом систем «Microsoft Dynamics AX 4.0»

 

Примеры настройки ответной части системы Dynamics AX 4.0

Для выполнения любого из действий интеграции в системе AX 4.0 необходимо на форме справочника создать кнопку. В качестве обработчика кнопки необходимо задать код на X++, инициирующий одно из действий интеграции. В следующих разделах приведены примеры кода.

 

Выгрузка данных из системы DIRECTUM и загрузка в систему Dynamics AX 4.0

 

  // Код системы DIRECTUM.

  Str        DIRECTUMCode ="<Код системы DIRECTUM>";

  // Режим выгрузки данных из DIRECTUM.

  Str        Mode = "Batch";

  // Признак запуска действия интеграции в скрытом режиме.

  Str        HiddenMode = "-1";

  // Код системы AX.

  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();

 

Выгрузка данных из системы Dynamics AX 4.0 и загрузка в систему DIRECTUM

 

  // Код системы DIRECTUM.

  Str        DIRECTUMCode ="<Код системы DIRECTUM>";

  // Режим выгрузки данных из AX.

  Str        Mode = "Batch";

  // Признак запуска действия интеграции в скрытом режиме.

  Str        HiddenMode = "-1";

  // Код системы AX.

  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();

 

Открытие окна со списком электронных документов, связанных с объектом системы Dynamics AX 4.0

 

  Str        DIRECTUMCode = "<Код системы DIRECTUM>"; // Код системы DIRECTUM

  Str        IntegrationSystemCode = "<Код интегрированной системы>"; // Код системы AX

  Str        ObjectID = "<ИД объекта>"; // Идентификатор объекта системы AX

  Str        ObjectType = "<Тип объекта>"; // Имя таблицы системы AX

  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();

 

Отправка объекта системы Dynamics AX 4.0 вложением в задачу DIRECTUM

 

  // Код системы DIRECTUM.

  Str        DIRECTUMCode ="<Код системы DIRECTUM>";

  // Код системы Ax.

  Str        IntegrationSystemCode = "<Код интегрированной системы>";

  // Идентификатор объекта системы AX.

  Str        ObjectID = "<ИД объекта>";

  // Имя таблицы системы AX.

  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();

 

 

 

 

См. также:

·         Общие сведения;

·         Порядок настройки.