Tax::calcTaxAmount(salesLine.TaxGroup, salesLine.TaxItemGroup, Systemdateget(), salesLine.CurrencyCode, salesLine.LineAmount, TaxModuleType::Sales);
public TaxAmount taxValue1(SalesLine _salesLine)
{
TaxOnItem TaxOnItem;
TaxGroupData TaxGroupData;
real TaxAmount;
TaxValue TaxValue;
//SalesLine SalesLine
;
//select firstOnly from salesLine where salesLine.SalesId == 'YourSalesId';
if(_salesLine.TaxItemGroup && _salesLine.TaxGroup && _salesLine.LineAmount != 0)
{
select TaxOnItem
where TaxOnItem.TaxItemGroup == _salesLine.TaxItemGroup;
if(TaxOnItem)
{
select TaxGroupData
where TaxGroupData.TaxGroup == _salesLine.TaxGroup
&& TaxGroupData.TaxCode == TaxOnItem.TaxCode;
if(TaxGroupData)
{
TaxValue = TaxData::find(TaxOnItem.TaxCode, Systemdateget(), 0).TaxValue;
TaxAmount = (_salesLine.LineAmount * TaxValue) / 100;
}
}
}
return TaxValue;
}
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.
25 May 2017
X++ to to get financial dimension value using default dimension in AX 2012
#define.dimProductGroups("ProductGroups")
#define.dimCostCenters("CostCenters")
#define.dimDepartments("Departments")
private str getDimensionValue(RecId _dimensionDefault, Str dimName)
{
DimensionAttributeValueSetStorage dimStorage;
Str dimValue;
Counter i;
// DimensionDefault is a RecId that combines all Dimension Values
dimStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault);
for (i= 1 ; i<= dimStorage.elements() ; i++)
{
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
}
return dimValue;
}
Calling:
salesDeliveryLinesTmp.ProductGroup = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimProductGroups);
salesDeliveryLinesTmp.CostCenter = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimCostCenters);
salesDeliveryLinesTmp.Department = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimDepartments);
====
Using Dimension name getting default dimension getting dimension value;
private DimensionValue ceDimensionProductGroup(DimensionDefault _dimensionDefault)
{
DimensionValue value;
DimensionAttributeValueSetStorage dimStorage;
int i;
dimStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault);
for (i=1; i<=dimStorage.elements(); i++)
{
if (DimensionAttribute::findByName(CustParameters::find().CeDimensionReportValue3).Name == DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name)
{
value = dimStorage.getDisplayValueByIndex(i);
}
}
return value;
}
#define.dimCostCenters("CostCenters")
#define.dimDepartments("Departments")
private str getDimensionValue(RecId _dimensionDefault, Str dimName)
{
DimensionAttributeValueSetStorage dimStorage;
Str dimValue;
Counter i;
// DimensionDefault is a RecId that combines all Dimension Values
dimStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault);
for (i= 1 ; i<= dimStorage.elements() ; i++)
{
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == dimName)
{
dimValue = dimStorage.getDisplayValueByIndex(i);
}
}
return dimValue;
}
Calling:
salesDeliveryLinesTmp.ProductGroup = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimProductGroups);
salesDeliveryLinesTmp.CostCenter = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimCostCenters);
salesDeliveryLinesTmp.Department = this.getDimensionValue(custPackingSlipTrans.DefaultDimension,#dimDepartments);
====
Using Dimension name getting default dimension getting dimension value;
private DimensionValue ceDimensionProductGroup(DimensionDefault _dimensionDefault)
{
DimensionValue value;
DimensionAttributeValueSetStorage dimStorage;
int i;
dimStorage = DimensionAttributeValueSetStorage::find(_dimensionDefault);
for (i=1; i<=dimStorage.elements(); i++)
{
if (DimensionAttribute::findByName(CustParameters::find().CeDimensionReportValue3).Name == DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name)
{
value = dimStorage.getDisplayValueByIndex(i);
}
}
return value;
}
23 May 2017
SQL server 2012 BackUp database using compression query command
USE [MicrosoftDynamicsAX]
BACKUP DATABASE MicrosoftDynamicsAX
TO DISK = 'D:\Backup\Data\MicrosoftDynamicsAX_BackUp\MicrosoftDynamicsAX.bak'
WITH COPY_ONLY, COMPRESSION
GO
USE [MicrosoftDynamicsAX_model]
BACKUP DATABASE MicrosoftDynamicsAX_model
TO DISK = 'D:\Backup\Data\MicrosoftDynamicsAX_BackUp\MicrosoftDynamicsAX_model.bak'
WITH COPY_ONLY, COMPRESSION
GO
28 April 2017
How to get on hand inventory quantity or Available physical quantity in AX 2012
public InventQty onHandInventory(ItemId itemId, InventSiteId inventSiteId,InventLocationId inventLocation)
{
InventOnhand inventOnhand;
InventDim _inventDim;
InventDimParm inventDimParm;
InventQty availQty;
//inventDim
_inventDim.InventSiteId = inventSiteId;
_inventDim.InventLocationId = inventLocation;
inventDimParm.initFromInventDim(_inventDim);
inventOnhand = inventOnhand::newParameters(itemId,_inventDim,inventDimParm);
availQty = inventOnhand.availPhysical();
// info(strFmt("%1",availQty));
return availQty;
}
{
InventOnhand inventOnhand;
InventDim _inventDim;
InventDimParm inventDimParm;
InventQty availQty;
//inventDim
_inventDim.InventSiteId = inventSiteId;
_inventDim.InventLocationId = inventLocation;
inventDimParm.initFromInventDim(_inventDim);
inventOnhand = inventOnhand::newParameters(itemId,_inventDim,inventDimParm);
availQty = inventOnhand.availPhysical();
// info(strFmt("%1",availQty));
return availQty;
}
21 March 2017
02 March 2017
how to add date range in query value in AX 2012
queryBuildRange = queryBuildDataSource.addRange(fieldNum(CustPackingSlipJour,DeliveryDate));
queryBuildRange.value(queryRange(fromDate,toDate));
//queryBuildRange.value(SysQuery::range(fromDate,toDate));
queryBuildRange.value(queryRange(fromDate,toDate));
//queryBuildRange.value(SysQuery::range(fromDate,toDate));
Refreshing SSRS report meta data in Dynamimcs AX 2012 || Refreshing code changes in reports objects in SSRS
When changing parameter or Parameter labels or added new parameter in the Contract class, do the following:
1. In VS, remember to change the prompting string for the parameter.
2. Refresh the Datasets.
3. Build the VS project.
4. Add the Report to the AOT.
5. Delete the Report from the Report Server.
6. Deploy the report in VS.
7. Most importantly, Compile the SSRSReport in the AOT.
8. Go to SSRS report and restore and check the properties: Changed Time is affected or not.
Query changes not affected means:
static void deleteSRSReportQuery(Args _args)
{
SRSReportQuery srsReportQuery;
ttsBegin;
while select forUpdate srsReportQuery
{
srsReportQuery.doDelete();
}
ttsCommit;
}
1. In VS, remember to change the prompting string for the parameter.
2. Refresh the Datasets.
3. Build the VS project.
4. Add the Report to the AOT.
5. Delete the Report from the Report Server.
6. Deploy the report in VS.
7. Most importantly, Compile the SSRSReport in the AOT.
8. Go to SSRS report and restore and check the properties: Changed Time is affected or not.
Query changes not affected means:
static void deleteSRSReportQuery(Args _args)
{
SRSReportQuery srsReportQuery;
ttsBegin;
while select forUpdate srsReportQuery
{
srsReportQuery.doDelete();
}
ttsCommit;
}
Subscribe to:
Posts (Atom)
Service class to get the selected record and deleted matching records and refresh the form data source in D365 F&O
[DataContractAttribute] class ABCUserProfilesBulkDeleteContract { UserId userId; [DataMemberAttribute('UserId')] pu...
-
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...