Sunday, February 11, 2018

Finding Conditions defined for print mgmt using X++

I had a requirement where I needed to look for print management conditions and then log it.

    PrintMgmtNodeInstance PrintMgmtNodeInstance;
    PrintMgmtSetupDoc PrintMgmtSetupDoc;
    PAECommunications PAECommunications;
    Query             query;
    int i;

 PrintMgmtNodeInstance = new PrintMgmtNodeInstance();
    PrintMgmtNodeInstance.parmNodeDefinition(new PrintMgmtNode_HRM());//or whatever your node is, sales/HCMWorker/depending on your situation this can vary.

    PrintMgmtNodeInstance.parmReferencedTableBuffer(tableBufferForPrintMGMTQuery);

    PrintMgmtSetupDoc = PrintMgmtSetupDoc::construct(PrintMgmtNodeInstance, PrintMgmtDocumentType::YOURPRINTMGMTDocType, CompanyInfo::languageId());
 
 i= PrintMgmtSetupDoc.getInstanceByPos(1).numConditionalSettings(); //the instance is always 1 so this is safe
   
    for (i=1;i<PrintMgmtSetupDoc.getInstanceByPos(1).numConditionalSettings();i++)
    {
        query = PrintMgmtSetupDoc.getInstanceByPos(1).getConditionalSettingByPos(1).parmCondition();//this gives the query
    }

So, the above code for a setup like below gives me the query defined in both conditions


No comments:

Post a Comment