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

 

Коннектор с типом систем «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();

 

 

 

 

См. также:

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

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