I already have extension class extended from SalesPackingSlipDP where I modify few properties of salesPackingSlipHeaderTmp. Below is the code
protected SalesPackingSlipHeaderTmp initializeSalesPackingSlipHeader()
{
SalesPackingSlipHeaderTmp salesPackingSlipHeaderTmp = next initializeSalesPackingSlipHeader();
str 400 custaccount = Salestable::find(this.parmCustPackingSlipJour().SalesId).CustAccount;
Barcode barcode;
barcode = Barcode::construct(BarcodeType::Code128);
if(custaccount == "25768DS")
{
barcode.string(true, salesPackingSlipHeaderTmp.ASPGiftMessage);
}
else
{
barcode.string(true, salesPackingSlipHeaderTmp.CustomerRef);
}
barcode.encode();
salesPackingSlipHeaderTmp.CITBarCodeString= barcode.barcodeStr();
return salesPackingSlipHeaderTmp;
}
I also have another class extends from SalesPackingSlipController. In this class only the report get printed. I have given the code below.
class ASPSalesPackingSlipcontroller extends SalesPackingSlipController
{
public static ASPSalesPackingSlipcontroller construct()
{
return new ASPSalesPackingSlipcontroller();
}
public static void main(Args _args)
{
SrsReportRunController formLetterController = ASPSalesPackingSlipcontroller::construct();
ASPSalesPackingSlipcontroller controller = formLetterController;
controller.initArgs(_args, PrintMgmtDocType::construct(PrintMgmtDocumentType::SalesOrderPackingSlip).getDefaultReportFormat());
if (classIdGet(_args.caller()) == classNum(SalesPackingSlipJournalPrint))
{
formLetterController.renderingCompleted += eventhandler(SalesPackingSlipJournalPrint::renderingCompleted);
}
formLetterController.startOperation();
}
}
Can you help me out how to print packing slip based on CustAccount