Tuesday, 6 September 2022

PO number embedded in the PDF file name and PO number in subject in d365 F&O X++

/// <summary>

/// This class is a COC of SRSPrintDestinationSettings

/// </summary>

[ExtensionOf(classStr(SRSPrintDestinationSettings))]

final class XXXSRSPrintDestinationSettings_Extension

{

    public str          reportTitle;

    public PurchID      purchId;


    //Type of report

    [DataMemberAttribute]

    public str reportTitle(str _reportTitle = reportTitle)

    {

        reportTitle = _reportTitle;

        return reportTitle;

    }


    //Purchase order number

    [DataMemberAttribute]

    public str purchId(str _purchId = purchId)

    {

        purchId = _purchId;

        return purchId;

    }


    public SrsReportEmailDataContract parmEMailContract(SrsReportEmailDataContract _emailContract)

    {

        SrsReportEmailDataContract contract;

 

        contract = next parmEMailContract(_emailContract);

        //If title of report is Purchase order then amend the subject.

        if (reportTitle == "Updated purchase order")//Purchase order title need has to check if that coming from Po confirmation or any

        {

            contract.parmSubject(strReplace(contract.parmSubject(),"%PurchId%", purchId)); // %PurchID% should be placed in printmanagement subject so that it will start populating

        }

 

        return contract;

    }


    public str parmFileName(str _fileName)

    {

        str filename= next parmFileName(_fileName);


        return purchId ? filename + purchId :  filename;

    }


}


---------------------------------------

/// <summary>

/// This class is a COC of SrsReportRunPrinter

/// </summary>

[ExtensionOf(classStr(SrsReportRunPrinter))]

final class XXXSrsReportRunPrinter_Extension

{

    /// <summary>

    /// This method is used to print the report title

    /// </summary>

    public void printReport()

    {

        if (reportContract.parmRdpName() == "PurchPurchaseOrderDP")

        {

            PurchPurchaseOrderContract  purchPOContract = reportContract.parmRdpContract() as PurchPurchaseOrderContract;

            VendPurchOrderJour          vendPurchOrderJour;

             

            select firstonly PurchId from vendPurchOrderJour

                where vendPurchOrderJour.RecId ==  purchPOContract.parmRecordId();

 

            printSettings.reportTitle(purchPOContract.parmDocumentTitle());

            printSettings.purchId(vendPurchOrderJour.PurchId);

        }

 

        next printReport();

    }


No comments:

Post a Comment

validate offsetLedgerDimension in d365 FO

 /// <summary> /// This class is used to validate offsetLedgerDimension /// </summary> class PNG_InventMovValidateOffsetLedgerDi...