AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2005, 08:22   #21  
velk is offline
velk
Участник
 
194 / 10 (1) +
Регистрация: 17.05.2004
:(
Странно но какие бы параметры не передавал все равно возникает ошибка ???
Может кто подскажет где же еще надо подстроить чтобы все это работало при трехзвенке???
Старый 25.06.2005, 23:49   #22  
maximus is offline
maximus
Участник
 
153 / 10 (1) +
Регистрация: 16.03.2005
2velk
Прочтайте внимательно и, думаю, найдете ответ на половину ваших вопросов. Описано для Axapta 3.0 SP 3

1. Запустите Excel, вид\панели инструментов\visual basic
2. Войдите в редактор васика (первая пиктограмма слева на появившейся панели)
3. insert module
4. введите код, не забывая, что одиночная кавычка означает комментарий

Sub main()

Dim Axapta ' As AxaptaCOMConnector.Axapta2
Dim AxaptaQuery ' As AxaptaCOMConnector.IAxaptaObject

Dim accnum
Dim name

Dim AxaptaDataSource ' As AxaptaCOMConnector.IAxaptaObject
Dim CustTableBuffer ' As AxaptaCOMConnector.IAxaptaRecord
' Log on to Axapta
Set Axapta = CreateObject("AxaptaCOMConnector.Axapta2")
Axapta.Logon "", "", "", ""

' Table ID
CustTable = 77
Set AxaptaQuery = Axapta.CreateObject("Query")
Set AxaptaDataSource = AxaptaQuery.Call("AddDataSource", CustTable)
Set AxaptaQueryRun = Axapta.CreateObject("QueryRun", AxaptaQuery)
I = 1
While (AxaptaQueryRun.Call("Next"))
Set CustTableBuffer = AxaptaQueryRun.Call("GetNo", 1)
accnum = CustTableBuffer.field("AccountNum")
name = CustTableBuffer.field("Name")
MsgBox CStr(accnum) + " " + name
I = I + 1
Wend
' Log off
Axapta.Logoff
Set Axapta = Nothing
End Sub

Это слегка модифицированный пример из мануала.

5. Запустите server manager и АОС (статус AOS = running, при этом в течение минимум 20 сек. он не падает)
6. в конфигурации клиента установите галку connect to Axapta Object Server(AOS)
7. Нажмите settings и убедитесь, что в Axapta Object Server Host Names что-то есть (или в Axapta Object Server IP Adress masks, здесь еще надо проверить наличие такого IP с сети) + запомните это имя
8. В окне васика нажмите F8, потом для трассировки нажимайте shift+f8
9. Если у вас все правильно настроено, то строка Axapta.Logon "", "", "", "" выполнится без ошибок. Данная строка работает следующим образом: берутся текущие настройки клиента. Если, например, во втором параметре указать запомненное вами имя, то данный скрипт будет всегда коннектиться через указанный АОС,т.е. настройка ложится поверх настроек клиента. Иногда здесь возникаю ошибки, об этом читайте далее.
10. Если все успешно работает и custtable содержит несколько клиентов, то у вас выскочит несколько msgbox'ов.
11. По окончании работы скрипта попытайтесь остановить AOS(не сервер manager!!!)
Он у вас будет долгое время висеть в stop pending. Это значит, что он не может остановиться. Наиболее вероятная причина - COM созданный в васике - еще жив!!!.
12. Останавливаем AOS через server manager.
13. Запускаем и то, и другое.
14. Пробуем вновь запустить скрипт. На строке логина имеем ошибку WINAPI 80020009 в шестнадцатеричном формате. Дело в том, что васик в экселе кеширует COM соединение, вместо того, чтобы его создавать заново!!!
12. Закрываем васик, можно сохраниться.
13. Открываем и запускаем скрипт. И он снова работает.

Вывод, Delphi, по-видимому, также кеширует COM соединение.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с импортом из Excel через COM Romsrs DAX: Программирование 18 10.06.2008 10:34
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Проблема доступа через COM Connector wit DAX: Функционал 0 10.07.2006 12:34
связь с 1С через COM rinugun DAX: Программирование 9 03.12.2004 11:28

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:57.