One of my form's I want to display the purchase order numbers(in a drop down),whose status is "not invoiced"
Take a new form->new StringEdit control->lookup();
use the following code.
----
public void lookup()
{
PurchTable purchTable;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(PurchTable), this);
Query query = new Query();
QueryBuildDataSource queryBuildDataSource = query.addDataSource(tablenum(PurchTable));
;
sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchId));
sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchName));
sysTableLookup.addLookupfield(fieldnum(PurchTable,PurchStatus));
queryBuildDataSource.addRange(fieldnum(PurchTable, PurchStatus)).value(enum2str(PurchStatus::Backorder));
queryBuildDataSource.addRange(fieldnum(PurchTable, PurchStatus)).value(enum2str(PurchStatus::Received));
queryBuildDataSource.addRange(fieldnum(PurchTable, PurchStatus)).value(enum2str(PurchStatus::Canceled));
queryBuildDataSource.addRange(fieldnum(PurchTable, PurchStatus)).value(enum2str(PurchStatus::None));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
_______________________________________
To filter PurchId values
To avoid the null values in Dynamic lookup
public void lookup()
{
PurchTable purchTable;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(PurchTable), this);
Query query = new Query();
QueryBuildDataSource queryBuildDataSource = query.addDataSource(tablenum(PurchTable));
;
sysTableLookup.addLookupfield(fieldnum(PurchTable, PurchId));
queryBuildDataSource.addRange(fieldnum(PurchTable, PurchId)).value("000010..000020");
//To avoid the null values in Dynamic lookup
//queryBuildDataSource.addRange(fieldnum(Test_Vend,Name)).value(SysQuery::valueNotEmptyString());
//queryBuildDataSource.addRange(fieldnum(Test_Vend,Name)).value('!="" ');
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
This blog is for Dynamics AX (AXAPTA) Developers,this will help you for your development issues. This site contains some Microsoft Dynamics AX X++ Codes for use in your day to day use.
31 March 2011
29 March 2011
To restrict the object by calling from another object.
//To execute the code only by calling some object.
//Take a table or form. form init()-> there is some code. that code has to execute only when ever //calling by the projTable. Means that form is having DS is ProjTable. then that code has to //execute.
if (element.args().dataset() == tablenum(ProjTable))
{
// while select Regulatory
// DO the code..
}
//Take a table or form. form init()-> there is some code. that code has to execute only when ever //calling by the projTable. Means that form is having DS is ProjTable. then that code has to //execute.
if (element.args().dataset() == tablenum(ProjTable))
{
// while select Regulatory
// DO the code..
}
Records get from Form in cache Records
//To get the record in form which is in currently in Datasource:
//Take a table buffer. Use the following code.
Regulatory _Regulatory ;
;
for ( _Regulatory = Regulatory_ds.getFirst(); _Regulatory; _Regulatory = Regulatory_ds.getNext())
// above line Regulatory_ds is the DataSource_DS
{
// get the records here one by one.
}
//Take a table buffer. Use the following code.
Regulatory _Regulatory ;
;
for ( _Regulatory = Regulatory_ds.getFirst(); _Regulatory; _Regulatory = Regulatory_ds.getNext())
// above line Regulatory_ds is the DataSource_DS
{
// get the records here one by one.
}
15 March 2011
Adding Find\Filter functionality on Display method
Override Context method of Form control which is using display method and provide code for filter. E.g I have done below for PhysicalInvent field of InventOnHandItem form.
void context()
{
int selectedMenu;
real test;
formrun fr;
Args ag;
Itemname strtext;
querybuilddataSource qb1;
queryrun qr;
query q;
PopupMenu menu = new PopupMenu(element.hWnd());
int a = menu.insertItem('Find');
int b = menu.insertItem('Filter');
int c = menu.insertItem('Remove Filter');
selectedMenu = menu.draw();
switch (selectedMenu)
{
case -1:
break;
case a:
ag = new args('SysformSearch');
fr = new formrun(ag);
fr.run();
fr.wait();
strtext = fr.design().controlName('FindEdit').valueStr();
if(strtext)
{
q = inventSum_Ds.query();
qb1 =q.dataSourceTable(tablenum(InventSum));
QB1.addRange(FieldNum(InventSum,PhysicalInvent)).value(SySQuery::value(strtext));
INVENTSUM_DS.query(Q);
INVENTSUM_ds.executeQuery();
}
break;
case b:
InventSum_DS.filter(FieldNum(InventSum,PhysicalInvent),Sysquery::value(InventSum.PhysicalInvent()));
break;
case c :
InventSum_DS.removeFilter();
break;
Default:
break;
}
}
void context()
{
int selectedMenu;
real test;
formrun fr;
Args ag;
Itemname strtext;
querybuilddataSource qb1;
queryrun qr;
query q;
PopupMenu menu = new PopupMenu(element.hWnd());
int a = menu.insertItem('Find');
int b = menu.insertItem('Filter');
int c = menu.insertItem('Remove Filter');
selectedMenu = menu.draw();
switch (selectedMenu)
{
case -1:
break;
case a:
ag = new args('SysformSearch');
fr = new formrun(ag);
fr.run();
fr.wait();
strtext = fr.design().controlName('FindEdit').valueStr();
if(strtext)
{
q = inventSum_Ds.query();
qb1 =q.dataSourceTable(tablenum(InventSum));
QB1.addRange(FieldNum(InventSum,PhysicalInvent)).value(SySQuery::value(strtext));
INVENTSUM_DS.query(Q);
INVENTSUM_ds.executeQuery();
}
break;
case b:
InventSum_DS.filter(FieldNum(InventSum,PhysicalInvent),Sysquery::value(InventSum.PhysicalInvent()));
break;
case c :
InventSum_DS.removeFilter();
break;
Default:
break;
}
}
09 March 2011
Current Time task 18
static void getTime(Args _args)
{
int hour,minute;
;
hour=timeNow()/3600; // return the current time only hours
minute=((timeNow() mod 3600)/60); // return the minutes
info(strfmt("Time - %1:%2",hour,minute));
}
{
int hour,minute;
;
hour=timeNow()/3600; // return the current time only hours
minute=((timeNow() mod 3600)/60); // return the minutes
info(strfmt("Time - %1:%2",hour,minute));
}
Subscribe to:
Posts (Atom)
Ledger Voucher creation Framework and x++ code to create ledger voucher
Please click her for MS reference file Below is the out of the box example reference and code. SalesInvoiceJournalPostSubBill_Extension-...
-
{ "Message" : "Please verify that the user is valid and set up correctly." } Sol: System Administration > Se...
-
Please click here to access Custom Workflow step by step process:
-
FormRun formRun = sender.formRun(); Object inventTrans_ds = formRun.dataSource(formDataSourceStr(InventMarking,InventTransO...