Translate

Showing posts with label #AX2012. Show all posts
Showing posts with label #AX2012. Show all posts

Wednesday, January 15, 2020

X++ code to setup print management destination settings on Customer

 PrintMgmtSettings       printMgmtSettings;
    PrintMgmtDocInstance    printMgmtDocInstance;
    CustTable               custtable = CustTable::find("C005751");

    container               printerSetting;
    SRSPrintDestinationSettings printDestinationSetting;

    printMgmtDocInstance    = printMgmtDocInstance::find(custtable.RecId,77,printMgmtNodeType::CustTable,printMgmtDocumentType::CustAccountStatement,1);

    if(printMgmtDocInstance.RecId == 0 && custtable.email() != strMin())
    {
        printerSetting = conNull();
        printDestinationSetting = new SRSPrintDestinationSettings();

        ttsBegin;

        printMgmtDocInstance.DocumentType = printMgmtDocumentType::CustAccountStatement;
        //printMgmtDocInstance.Name = strFmt("Email 'Account Statements' to %1", custtable.AccountNum);
        printMgmtDocInstance.NodeType = printMgmtNodeType::CustTable;
        printMgmtDocInstance.PrintType = PrintMgmtDocInstancetype::Original;
        printMgmtDocInstance.PriorityId = 1;
        printMgmtDocInstance.ReferencedRecId = custtable.recId;
        printMgmtDocInstance.ReferencedTableId = 77;// CustTable;
        printMgmtDocInstance.insert();

        // just use a new instance of SRSPrintDestinationSettings to serialize an empty container
        printDestinationSetting.unpack(printerSetting);
        printDestinationSetting.printMediumType(srsPrintMediumType::Email);
        printDestinationSetting.emailTo(custtable.email());
        //printDestinationSetting.emailCc(ccEmailString);
        printDestinationSetting.emailSubject("Proserv statements");
        printDestinationSetting.emailAttachmentFileFormat(SRSReportFileFormat::PDF);
        printerSetting = printDestinationSetting.pack();


        printMgmtSettings.clear();
        printMgmtSettings.Description = printmgmtdocInstance.Name;
        printMgmtSettings.NumberOfCopies = 1;
        printMgmtSettings.ParentId = printmgmtdocInstance.RecId;
        printMgmtSettings.PrintJobSettings = printerSetting;
        printMgmtSettings.PriorityId = printMgmtDocInstance.PriorityId;
        printMgmtSettings.insert();

        ttsCommit;
    }

Tuesday, September 29, 2015

AX2012- Opening an url form AX X++ code

Infolog.lookupurl("www.google.com");


this statement will quickly open google website in default browser.


Hope this helps,
Prasan

AX2012- Update/Change FinancialDimension value in X++ code

static void PSV_UpdateOpDivDimension_Items(Args _args)
{
InventTable inventTable;
DimensionAttributeValueSetStorage dimStorage;
DimensionAttribute dimAttrOpDiv;
DimensionAttributeValue dimAttributeValue;
changeCompany('DAT')
{
while select forUpdate inventTable
{
ttsBegin;
dimStorage = DimensionAttributeValueSetStorage::find(inventTable.DefaultDimension);
dimAttrOpDiv = DimensionAttribute::findByName("Operating_Division");

dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue(dimAttrOpDiv, 'NewValue', true, true);

dimStorage.addItem(dimAttributeValue);
inventTable.DefaultDimension = dimStorage.save();
inventTable.doUpdate();
ttsCommit;
}
}
}


This code updates the items financial dimensions to new values.


hope this helps,
Thanks
Prasan

Tuesday, July 30, 2013

Finding the current company curreny code in AX 2012

Hello,

Here is the code to find the company currency code in AX 2012

Method 1:
currencyCode = Ledger::accountingCurrency(CompanyInfo::current());

Method 2:
currencyCode = Ledger::accountingCurrency(CompanyInfo::Find().recid);

Method 3:
currencyCode = CompanyInfo::standardCurrency();
Thanks,
Prasan