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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.12.2007, 04:00   #1  
Blog bot is offline
Blog bot
Участник
 
25,640 / 848 (80) +++++++
Регистрация: 28.10.2006
C# and AX Development: Using the .NET Business Connector for Dynamics AX / Axapta
Источник: http://olondono.blogspot.com/2007/12...ector-for.html
==============



Axapta ax;

AxaptaRecord custtable;

AxaptaObject query;
AxaptaObject queryrun;
AxaptaObject querybuilddatasource;
AxaptaObject querybuildrange;

//---------------------------------
// Making logon
ax = new Axapta();

ax.Logon("", "", "", "");
//---------------------------------

//---------------------------------
// Create query objects and query data
query = ax.CreateAxaptaObject("Query");
querybuilddatasource = query.Call("AddDataSource", 77) as AxaptaObject; // CustTable's tableId = 77
querybuildrange = querybuilddatasource.Call("AddRange", 1) as AxaptaObject; // AccountNum's fieldId = 1

querybuildrange.Call("value", "4000"); // We're looking for customer with AccountNum=4000
//---------------------------------

//---------------------------------
// Run query
queryrun = ax.CreateAxaptaObject("QueryRun", query) as AxaptaObject;

queryrun.Call("prompt");

queryrun.Call("next");
//---------------------------------

//---------------------------------
// Get result
custtable = queryrun.Call("getNo", 1) as AxaptaRecord;

MessageBox.Show((string)custtable.get_Field("Name"));
//---------------------------------

//---------------------------------
// Making logoff
ax.Logoff();
//---------------------------------


NOTE: Add reference to the Microsoft.Dynamics.BusinessConnectorNet library.

Or, using the EASY WAY:



Axapta ax;
AxaptaRecord custtable;
AxaptaObject connTest;

//---------------------------------
// Making logon
ax = new Axapta();

ax.Logon("", "", "", "");
//---------------------------------

//---------------------------------
// Make a call to our class and get the Customer
connTest = ax.CreateAxaptaObject("ConnTest");

custtable = connTest.Call("getCust", "4000") as AxaptaRecord;

MessageBox.Show((string)custtable.get_Field("Name"));
//---------------------------------

//---------------------------------
// Making logoff
ax.Logoff();
//---------------------------------


And the Axapta Class 'ConnTest' looks like:


class ConnTest
{

}

public CustTable getCust(str _custAccount)
{
Query q;
QueryRun qr;
QueryBuildDataSource qbds;
QueryBuildRange qrange;

TableId _tableId;
CustTable _custtable;
;

_tableId = tablename2id("CustTable");

q = new Query();

qbds = q.addDataSource(_tableId);

qrange = qbds.addRange(fieldname2id(_tableId, "AccountNum"));
qrange.value(_custAccount);

qr = new QueryRun(q);

qr.interactive(false);

qr.prompt();

if (qr.next())
_custtable = qr.getNo(1);

return _custtable;
}

Источник: http://olondono.blogspot.com/2007/12...ector-for.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 


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

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

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