Thursday, 31 August 2017

Reverse string in Dynamics AX.

Hi guys,
Reverse string in Dynamics AX.

static void reverseString(Args _args)
{
    int     i;
    str     temp;
    str     retVar = 'DynamicsAX';
    int     length;
    str     getvalue,RV;
    ;
    length = strLen(retVar);
    for(i=length; i>=1; i--)
    {
        temp =SubStr(retVar,i,1);
        getvalue +=temp;

        // other way with strReverse function
        RV = strReverse(retVar);
    }
    info(RV);
}

Add filter on display method on form control in AX 2012 R3

Hi guys,

Here I have added display method ("displayInternalPackingSlipId" set auto declaration as yes on form control) to display GSN number on the “VendPackingSlipJour” form. In this form main data source is “VendPackingSlipJour”.
Override context method as bellow on display method control  and modified logic as per need.

public void context()
{
    int             selectedMenu;
    formrun         fr;
    Args            ag;
    Name            strtext;
    querybuilddataSource qb1;
    queryrun    qr;
    query       q;
    PopupMenu menu = new PopupMenu(element.hWnd());
    int a = menu.insertItem('Filter By Field');
    int b = menu.insertItem('Filter By Selection');
    int c = menu.insertItem('Remove Filter');
    ;

    selectedMenu = menu.draw();
    switch (selectedMenu)
    {
    case -1: //Filter by field
            break;
    case a:
            ag = new args('SysformSearch');
            fr = new formrun(ag);
            fr.run();
            fr.wait();
    //Reading User entered value for filter process
            strtext = fr.design().controlName('FindEdit').valueStr();
            if(strtext)
            {
    //Creating a query for filter
                q   = vendPackingSlipJour_ds.query();
                qb1 = q.dataSourceTable(tablenum(VendPackingSlipJour));
                qb1 = qb1.addDataSource(TableNum(VendPackingSlipVersion));
                qb1.addLink(FieldNum(VendPackingSlipJour,Recid),FieldNum(VendPackingSlipVersion,VendPackingSlipJour));
                qb1.addRange(FieldNum(VendPackingSlipVersion,InternalPackingSlipId)).value(strtext);
                vendPackingSlipJour_ds.query(Q);
                vendPackingSlipJour_ds.executeQuery();
            }
            break;

    case b:   // Filter By Selection
            q   = vendPackingSlipJour_ds.query();
            qb1 = q.dataSourceTable(tablenum(VendPackingSlipJour));
            qb1 = qb1.addDataSource(TableNum(VendPackingSlipVersion));
            qb1.addLink(FieldNum(VendPackingSlipJour,RecId),FieldNum(VendPackingSlipVersion,VendPackingSlipJour));
            qb1.addRange(FieldNum(VendPackingSlipVersion,InternalPackingSlipId)).value(displayInternalPackingSlipId.valueStr());
            vendPackingSlipJour_ds.query(Q);
            vendPackingSlipJour_ds.executeQuery();
            break;
    case c :   // Remove Filter
            q   = new Query();
            qb1 = q.addDataSource(tablenum(VendPackingSlipJour));
            qb1.clearLinks();
            qb1.clearRanges();
            vendPackingSlipJour_ds.query(Q);
            vendPackingSlipJour_ds.removeFilter();
            break;

    Default:
            break;
    }

}

Happy DAXing. 


Thursday, 10 August 2017

Get customer email in ax 2012

Get customer email in ax 2012

static void Custermail(Args _args)
{
    LogisticsElectronicAddress          led;
    LogisticsLocation                   ll;
    CustTable                           ct;

    DirPartyLocation     dpl;
    str phone,fax,email,url;
    RecId  RecId;
    ;
    select  ct where ct .AccountNum =='ABC'
    join dpl where ct.Party == dpl.Party
    join led where led.Location == dpl.Location
    && led.IsPrimary == NoYes::Yes
    && led.Type == LogisticsElectronicAddressMethodType::Email;
    {
        email =  led.Locator;
        info(email);
    }
}

Thursday, 6 July 2017

Calculate Purchase order confirmation tax details (IGST/CGST/SGST) in AX 2009

Hi guys,

I was struggling  to calculate the GST taxes on purchase order confirmation. Here i am sharing some code to get Taxes details (IGST/CGST/SGST) in AX 2009.

static void GSTTotal(Args _args)
{
    vendPurchOrderJour vendPurchOrderJour;
    ITaxDocument taxDocument;
    ITaxDocumentComponentLineEnumerator componentLineEnumerator;
    ITaxDocumentComponentLine componentLineObject;
    ITaxDocumentMeasureEnumerator measureEnumerator;
    TaxAmount taxAmount,taxValue;
    TaxComponent_IN taxComponent;
    ;
    vendPurchOrderJour = vendPurchOrderJour::findRecId(5637291565); //Need to pass Confirmation journal recid
    taxDocument = TaxBusinessService::getTaxDocumentBySource(vendPurchOrderJour.TableId, vendPurchOrderJour.RecId);

    componentLineEnumerator = taxDocument.componentLines();

    while(componentLineEnumerator.moveNext())
    {
        componentLineObject = componentLineEnumerator.current();

        taxComponent = componentLineObject.metaData().taxComponent();
        taxValue = componentLineObject.getMeasure("Rate").value().value() * 100;
        taxAmount = componentLineObject.getMeasure("Tax Amount").value().value();

        info(strFmt("Component %1 ,Rate %2, Amount%3",taxComponent,taxValue,taxAmount));
    }
}


Happy DAXing.

Tuesday, 29 November 2016

Dynamics AX for Operations- Compilation Tool

Hi guys,
One of my friend explain the compilation tools to complile AX objects. Lets try this tricks.

click this article :
https://axamitblogs.blogspot.in/2016/11/dynamics-ax-for-operations-compilation.html


Tuesday, 19 January 2016

Add Sales Category/Procurement Category field on customized form in AX 2012

Hi guys,

After very long time today i'm writing a new post [AX 2012] 

I had a requirement to customized Sales Category/Procurement category on a new form it is not direct field to add on form. It was little bit tricky. 

I am showing the steps to do this.

Steps 1.
You need to add a int64 field on table and use edt as "SalesCategory".



Now go to the Properties of the SalesCategory field and set edt as salesCatefory. 



Step 2. Go to the form refresh and restore it to reflect the newly created field then expand datasource  and  go to the salesCategory field and add bellow highlighted methods in the snaps.




Paste these methods  into the datasource > field > method.

resolveRefrence

public Common resolveReference(FormReferenceControl _formReferenceControl)
{
    return EcoResCategory::resolveCategoryHierarchyRole(
        _formReferenceControl,
        EcoResCategoryNamedHierarchyRole::Sales);
}

lookupReference method 

public Common lookupReference(FormReferenceControl _formReferenceControl)
{
    return EcoResCategory::lookupCategoryHierarchyRole(
        _formReferenceControl,
        EcoResCategoryNamedHierarchyRole::Sales);
}


Steps 3. Add RefrenceGroup field into the Grid as bellow shown in the snaps. 



Step 4.
Reference field properties set dataSource and Reference field as "salescategory". 
Save  and compile objects.




Step 5. Now you are able to see the sales Category filed on Customized form.



Hope it will help.

Happy DAXing :-)













Sunday, 6 December 2015

Uninstall a model through Windows PowerShell

Hi guys,

A little demonstration on how to Uninstall Model in AX 2012

Steps -

1. Go to the  Start menu > All programs >  Administrative Tolls
2. At windows Powershell command prompt  > PS C:\>
3. Type the follwing command and press enter.

          Uninstall-AXModel -Model <ModelName>

This above command will uninstall specified Model and Confirmation request/Message will will be displayed on the screen.


For Information - click here


Happy DAXing :-)

Import General journal from excel in D365 F&O

 Hi Guys, Import General journal from excel in D365 F&O Code:  using System.IO; using OfficeOpenXml; using OfficeOpenXml.ExcelPackage; u...