TO Move the records up and down in Form Grid
Check the following Form:
AOT->Form-> HRCCompLevel
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.
06 May 2010
07 April 2010
How to read one element from dimensions in Forms and Reports
Use Display Method
Display SysDim department()
{
return VendTable_1.Dimension[1];//Here 1 means Department Element
}
Display SysDim department()
{
return VendTable_1.Dimension[1];//Here 1 means Department Element
}
29 March 2010
AOT MAPs in Dynamicis AX with example
mapping different fields with the same EDT from different tables to each other.
Please click here for better example
For example let's that you have an a customer Table and a vendors table and
you want to fill in the fields of a new table from these tables.
If maps did not exist you would have to do this in your new table:
void initFromCustTable(CustTable _custTable)
{
this.AccountNum = _custTable.AccountNum;
this.Name = _custTable.Name;
this.country = _custTable.Country;
this.language = _custTable.Language;
}
AND
void initFromCustTable(VendTable _vendable)
{
this.AccountNum = _vendable.AccountNum;
this.Name = _vendable.Name;
this.country = _vendable.Country;
this.language = _vendable.Language;
}
BUT
if you use a map (mapping newTable, CustTable and Vendor) all you need is
this:
void initFromCustVendMap(CustVendMap _custVendMap)
{
this.AccountNum = _custVendMap.AccountNum;
this.Name = _custVendMap.Name;
this.country = _custVendMap.Country;
this.language = _custVendMap.Language;
}
ONLY once on the map and then you just call the same method with different
buffers:
this.initFromCustVendMap(YourCustTableBuffer);
this.initFromCustVendMap(YOurVendTableBuffer); // NOTE same method but
different buffer.
for more info visit:
http://msdn.microsoft.com/en-us/library/bb278211(AX.10).aspx
Please click here for better example
For example let's that you have an a customer Table and a vendors table and
you want to fill in the fields of a new table from these tables.
If maps did not exist you would have to do this in your new table:
void initFromCustTable(CustTable _custTable)
{
this.AccountNum = _custTable.AccountNum;
this.Name = _custTable.Name;
this.country = _custTable.Country;
this.language = _custTable.Language;
}
AND
void initFromCustTable(VendTable _vendable)
{
this.AccountNum = _vendable.AccountNum;
this.Name = _vendable.Name;
this.country = _vendable.Country;
this.language = _vendable.Language;
}
BUT
if you use a map (mapping newTable, CustTable and Vendor) all you need is
this:
void initFromCustVendMap(CustVendMap _custVendMap)
{
this.AccountNum = _custVendMap.AccountNum;
this.Name = _custVendMap.Name;
this.country = _custVendMap.Country;
this.language = _custVendMap.Language;
}
ONLY once on the map and then you just call the same method with different
buffers:
this.initFromCustVendMap(YourCustTableBuffer);
this.initFromCustVendMap(YOurVendTableBuffer); // NOTE same method but
different buffer.
for more info visit:
http://msdn.microsoft.com/en-us/library/bb278211(AX.10).aspx
23 March 2010
Select Multiple records in Grid ,update and print and read the data source records
//THis Code can use for to select multiple record in Grid and we can updater the status of the field, and in
// to enable while in selection of records, menuitem->properties->multiselect= Yes.
void clicked()
{
HRMApplication hrmApplicationlocal,local;
;
super();
for (hrmApplicationlocal = hrmApplication_ds.getFirst(true) ? hrmApplication_ds.getFirst(true) : hrmApplication; hrmApplicationlocal; hrmApplicationlocal = hrmApplication_ds.getNext())
{
ttsbegin;
select forupdate local where local.hrmApplicationId == hrmApplicationlocal.hrmApplicationId;
local.status = HRMApplicationStatus::Interview;
local.update();
ttscommit;
}
hrmApplication_ds.executeQuery();
}
--------------------
void clicked()
{
Table2 custTransOpenLoc;
Counter c;
;
super();
for (custTransOpenLoc = Table2_ds.getFirst(0,1);
custTransOpenLoc;
custTransOpenLoc=Table2_ds.getNext())
{
c++;
info(strfmt("%1",C));
}
}
------------------
void clicked()
{
FormDataSource fdS = CustTransOpen_ds;
CustTransOpen custTransOpenLoc;
;
breakpoint;
for (custTransOpenLoc = fdS.getFirst(true) ? fdS.getFirst(true) : CustTransOpen;
custTransOpenLoc;
custTransOpenLoc=fdS.getNext())
{
info();
}
super();
}
// to enable while in selection of records, menuitem->properties->multiselect= Yes.
void clicked()
{
HRMApplication hrmApplicationlocal,local;
;
super();
for (hrmApplicationlocal = hrmApplication_ds.getFirst(true) ? hrmApplication_ds.getFirst(true) : hrmApplication; hrmApplicationlocal; hrmApplicationlocal = hrmApplication_ds.getNext())
{
ttsbegin;
select forupdate local where local.hrmApplicationId == hrmApplicationlocal.hrmApplicationId;
local.status = HRMApplicationStatus::Interview;
local.update();
ttscommit;
}
hrmApplication_ds.executeQuery();
}
--------------------
void clicked()
{
Table2 custTransOpenLoc;
Counter c;
;
super();
for (custTransOpenLoc = Table2_ds.getFirst(0,1);
custTransOpenLoc;
custTransOpenLoc=Table2_ds.getNext())
{
c++;
info(strfmt("%1",C));
}
}
------------------
void clicked()
{
FormDataSource fdS = CustTransOpen_ds;
CustTransOpen custTransOpenLoc;
;
breakpoint;
for (custTransOpenLoc = fdS.getFirst(true) ? fdS.getFirst(true) : CustTransOpen;
custTransOpenLoc;
custTransOpenLoc=fdS.getNext())
{
info();
}
super();
}
22 March 2010
TO select multiple Records Using check box field in form and To change the status in field values like Openorder, invoiced, recevied
Table level
Add a field to ur table which is used as data source in ur form ,
for that field use enum type : noyes in field property:
Form level:
-
public void init()
{
super();
ttsbegin;
while select forupdate custTable where custTable.Choose == NOYes::Yes
{
custTable.Choose = NOYes::No;
custTable.update();
}
ttscommit;
}
--
--
void clicked()
{
super();
//if(CustTable.Choose)
ttsbegin;
// while select CustTable
// where CustTable.Choose == noyes::Yes
while select forupdate CustTable
where CustTable.Choose == noyes::Yes
{
CustTable.StatusSag = statussag::OpenStatus;
CustTable.Choose = noyes::No;
CustTable.Update();
}
ttscommit;
CustTable_ds.executeQuery();
}
--
void clicked()
{
super();
//if(CustTable.Choose)
ttsbegin;
while select forupdate CustTable
where CustTable.Choose == noyes::Yes
{
CustTable.StatusSag = statussag::CloseTrans;
CustTable.Choose = noyes::No;
CustTable.Update();
}
ttscommit;
CustTable_ds.executeQuery();
}
Add a field to ur table which is used as data source in ur form ,
for that field use enum type : noyes in field property:
Form level:
-
public void init()
{
super();
ttsbegin;
while select forupdate custTable where custTable.Choose == NOYes::Yes
{
custTable.Choose = NOYes::No;
custTable.update();
}
ttscommit;
}
--
--
void clicked()
{
super();
//if(CustTable.Choose)
ttsbegin;
// while select CustTable
// where CustTable.Choose == noyes::Yes
while select forupdate CustTable
where CustTable.Choose == noyes::Yes
{
CustTable.StatusSag = statussag::OpenStatus;
CustTable.Choose = noyes::No;
CustTable.Update();
}
ttscommit;
CustTable_ds.executeQuery();
}
--
void clicked()
{
super();
//if(CustTable.Choose)
ttsbegin;
while select forupdate CustTable
where CustTable.Choose == noyes::Yes
{
CustTable.StatusSag = statussag::CloseTrans;
CustTable.Choose = noyes::No;
CustTable.Update();
}
ttscommit;
CustTable_ds.executeQuery();
}
Subscribe to:
Posts (Atom)
Merge Dimensions (MainAccountId and LedgerDimensions) defaultDimension in D365 F&O and X++
public DimensionDynamicAccount getLedgerDimension(container _conData, TransDate _transDate = today()) { int ...
-
Please click here to access Custom Workflow step by step process:
-
public InventQty onHandInventory(ItemId itemId, InventSiteId inventSiteId,InventLocationId inventLocation) { InventOnhand inventOnh...
-
1. In classDeclaration extend SrsReportDataProviderPreProcess instead of SrsReportDataProviderBase 2. Temp table properties should b...