21.02.2006, 17:17 | #1 |
Участник
|
Передать контейнер в job через COM
Здравствуйте! собственно проблема в заголовке.
Пытаюсь сделать так, но передача контейнера как параметра не проходит. в самом job args параметр убрал и поставил на вход контейнер. Код: Dim Axapta As Variant Dim Container As Variant Dim Args As Variant Set Axapta = CreateObject("AxaptaCOMConnector.Axapta") Axapta.Logon "MyUser", "", "", "MyConfiguration" Set Container = Axapta.CreateContainer() Container.Append "Element1", 2, 3.3 Axapta.CallJob "MyOtherJob", Container Axapta.logoff Код: Set Args = Axapta.CreateObject("args") ‘ call "MyOtherJob" with args object Axapta.CallJob "MyOtherJob", Args Заранее спасибо. |
|
21.02.2006, 17:36 | #2 |
Administrator
|
А Вы уверены что контейнер в VB и контейнер в Axapta - есть одно и тоже? Тут AndyD как-то даже расписывал структуру поля типа контейнер в Axapta.
Я бы советовал передавать аргументы через строку
__________________
Возможно сделать все. Вопрос времени |
|
21.02.2006, 17:50 | #3 |
Microsoft Dynamics
|
Никак. Через объект класса Args в качестве параметра можно передать либо: а) объект (args.parmObject), б) значение перечислимого типа (args.parmEnum), в) строку (args.parm)
В Вашем случае, предпочтительнее последний вариант. |
|
21.02.2006, 17:56 | #4 |
Участник
|
Цитата:
А Вы уверены что контейнер в VB и контейнер в Axapta - есть одно и тоже?
Цитата:
Creates a COM object of the IAxaptaContainer type. The Microsoft Axapta container corresponds to the container known from the Axapta X++ language.
Цитата:
Я бы советовал передавать аргументы через строку
|
|
21.02.2006, 18:04 | #5 |
Участник
|
Можно попробовать черезКласс / SysAnyType и parmObject
|
|
21.02.2006, 19:34 | #6 |
Участник
|
Сделал так:
1. Создал класс в аксапте qqq_CreateSale,
2. Код: Dim ax As Axapta Dim salestable As Variant Dim Container As IAxaptaContainer Set ax = CreateObject("AxaptaCOMConnector.Axapta") ax.Logon "myuser", "", "", "Myconfiguration" Set Container = ax.CreateContainer Container.Append "Element1", 2, 3.3 Set qqq_CreateSales = ax.CreateObject("qqq_CreateSales", Container) qqq_CreateSales.Call "CreateSale" ax.Logoff qqq_CreateSales = nothing ax = nothing |
|