20.04.2009, 11:18 | #1 |
Участник
|
ComConnector
Запускаю такой джобик
X++: static void Job41(Args _args) { COM ax = new COM ('AxaptaCOMConnector.Axapta2'); COMVariant COMVariantContainer; COM COMContainer; COMVariant COMResult; int i; ; ax.logon2("логин", "пароль", "", "","","work"); } Цитата:
Метод "logon2" в COM-объекте класса "AxaptaCOMConnector.Axapta2" возвратил код ошибки 0x80004005 (E_FAIL), который означает: Связь клиент-сервер Microsoft Business Solutions-Axapta : При текущей конфигурации клиента не удалось обнаружить ни один сервер приложения Microsoft Axapta. Please restart the Axapta Business Connector before logging on.
Зарегестрировал коннектор как Registred Standart Com. Конект идёт через AOS. Может ComConnector надо регистрировать на компе AOS-а?
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
20.04.2009, 11:22 | #2 |
очами вижу
|
Этот джоб запускается на сервере или клиенте?
|
|
20.04.2009, 11:28 | #3 |
Участник
|
Пробовал и client и server тоже самое.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
20.04.2009, 11:54 | #4 |
----------------
|
Коннектор должен быть зарегистрирован там, где запускается джоб.
Попытайся указать имя сервера аоса в предпоследнем параметре, надеюсь, что в последнем у тебя имя аос-приложения, а не имя локальной конфигурации. |
|
|
За это сообщение автора поблагодарили: miklenew (2). |
20.04.2009, 12:14 | #5 |
Участник
|
Параметры функции
Цитата:
X++: ... ax.logon2("логин", "пароль", "", "","","work"); ... X++: void Logon2( COMVariant _user = COMVariant::createNoValue(),
COMVariant _userPassword = COMVariant::createNoValue(),
COMVariant _Company = COMVariant::createNoValue(),
COMVariant _language = COMVariant::createNoValue(),
COMVariant _serverManager = COMVariant::createNoValue(),
COMVariant _objectServer = COMVariant::createNoValue(),
COMVariant _configuration = COMVariant::createNoValue(),
COMVariant _isWebUser = COMVariant::createNoValue(),
COMVariant _reserved1 = COMVariant::createNoValue(),
COMVariant _reserved2 = COMVariant::createNoValue()); 1. Через связку: "Server + AOSName" (5 + 6 параметры функции) // axaptaAppl.Logon2("user","password",'','','AOSManagerServer','AOSInstanceName' ) 2. Через локальную конфигурацию : (7 параметр функции) // axaptaAppl.Logon2("user","password",'','','','', 'Local_Configuration_Name' ) (судя по тексту сообщения у Вас локальная конфигурация 'work' прописана в 6 параметре, а не в 7-ом) UPD: 3. (вариант 2 с другого бока) если в Navision Axapta Configuration Utility выгрузить конфигурацию (по кнопке Manage\Save As) во внешний файл, то можно подключиться и таким образом (7 параметр): // axaptaAppl.Logon2("user","password",'','','','', 'path_to_file\configuration_file_name.ext' ) Все способы вполне работоспособны (тестировалось на Axapta 3.0 SP5). Последний раз редактировалось petergunn; 20.04.2009 в 12:33. Причина: Добавлен 3 вариант |
|
|
За это сообщение автора поблагодарили: miklenew (5). |
20.04.2009, 12:51 | #6 |
Участник
|
Спасибо. То что надо.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
20.04.2009, 13:14 | #7 |
Member
|
Лучше конфигурацию прописывать не как имя конфигурации в реестре, а как путь к .AXC файлу.
В общем случае так будет работать надежнее, т.к. будет клиенто-пользователе-реестро независимой. Правда, будет зависимой от прав доступа на файл.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: miklenew (2). |
20.04.2009, 13:19 | #8 |
Member
|
__________________
С уважением, glibs® |
|