|
![]() |
#1 |
Участник
|
Используйте бизнес-коннектор Аксапты. Это COM-объект "AxaptaCOMConnector.Axapta2".
Ниже привожу пример на VBA, как вызывать код Аксапты из других программ. В Аксапте создайте класс. В этом классе статический метод. Вызовите этот метод через бизнес-коннектор как указано ниже, только надо переписать код на Java. Я сейчас тоже программирую на Java, но не охота переписывать это ![]() X++: Sub testAxapta() Dim ax As New AxaptaCOMConnector.Axapta2 ax.Logon2 "UserId", "Password", "DataAreaId", "RU", "AOSServerName", "AOSInstanceName" ax.CallStaticClassMethod "ClassName", "MethodName" ax.Logoff End Sub Последний раз редактировалось Ace of Database; 28.09.2013 в 12:43. |
|
![]() |
#2 |
Участник
|
У нас возникли сложности с бизнес-коннектором при переходом на Windows Server-2008. Раньше он у нас интенсивно использовался (несколько тысяч вызовов в день). Но при переходе на новый Windows он периодически (в 5% случаев) перестал срабатывать. Поэтому сейчас от него отказались.
Используем для взаимодействия с Аксаптой другой способ, который могу предложить. В какой-нибудь базе на SQL-Server создайте таблицу, в нее из Java записывайте команды, которая должна выполнить Аксапта. А в Аксапте создайте пакетную обработку, которая периодически будет считывать эти команды и выполнять их. В общем реализуйте обмен через стороннее хранилище. В Аксапте 3.0 пакетная обработка срабатывает не чаще 1 раза в минуту плюс имеет свойство вываливаться пакетный сервер. Часто требуется немедленная реакция на команду из стороннего приложения. Поэтому мы и пакетную обрабоку не используем, а используем постоянно открытый клиент Аксапты, в котором на форме по таймеру каждую секунду считывается информация из стороннего хранилища. |
|
![]() |
#3 |
Участник
|
Я для себя решил идти по пути наименьшего сопротивления.
В связи с изменяющимися технологиями постепенно перестает работать код, использующий старые технологии. Поэтому я решил больше не углубляться в "нативные" технологии Microsoft. Лучше использовать для обмена простые и классические способы - такие, как файловый обмен через папку на диске или обмен через таблицы в базе данных. |
|
![]() |
#4 |
Участник
|
Ace of Database, огромное спасибо за подробные ответы. К сожалению, сейчас немного изменились задачи, и попробовать не смогу. Если обратно вернусь к этому вопросу, отпишусь.
|
|
|
|