Hello everyone,
I’m changing the WMSPickingList_OrderPick report and I want the system to use my new format. I’ve done this before with other reports with little to no issues but for some reason it’s not working with this one. Here are the steps I’ve taken
-
Found the report, right-clicked and created duplicate
-
Renamed the duplicate
-
Deployed the new report
-
Created extension of WMSPickingList_OrderPick Class and WMSPickingList_OrderPickController Class and put in the new report
-
Did a build and syncronize
-
I go to Inventory Management - Setup - Inventory and warehouse management parameters - Print Management
-
I right-click on Picking list and choose New
-
When I check the choices under Report format, only the original is there and not my copy.
Like I mentioned above, I’ve done this for other reports and doing all the steps above, made that report show up and let me choose it here. Is there something I’m missing? What can I do to force this report to show up?
Subscribe to PrintMgmtDocType.getDefaultReportFormatDelegate and provide your report name there. Here is an example of another report:
class PrintMgtDocTypeHandlersExt
{
[SubscribesTo(classstr(PrintMgmtDocType), delegatestr(PrintMgmtDocType, getDefaultReportFormatDelegate))]
public static void getDefaultReportFormatDelegate(PrintMgmtDocumentType _docType, EventHandlerResult _result)
{
switch (_docType)
{
case PrintMgmtDocumentType::SalesOrderConfirmation:
_result.result(ssrsReportStr(SalesConfirmExt, Report));
break;
}
}
}
As usual Martin, you know the exact thing that needs to be done :). The funny thing is I created an extension of that class earlier this week and was looking for WMSPickingList or PickingList as a document type but didn’t see it so thought this wasn’t the way. Turns out it’s InventPickList and it worked perfectly! Thank you so much!
You’re welcome. [emoticon:c4563cd7d5574777a71c318021cbbcc8]
Martin, let me know if you want me to start a new thread, but now I’ve updated print management to print my new report. I added a textbox on the report and just put in the name of the report (so I know that mine is being printed). I ran a build/sync and when I go to print a picking list, it is not printing mine. Not sure what I’m doing wrong yet.
You mentioned WmsPickingList_OrderPickController, but this isn’t a child of SrsPrintMgmtController (it inherits directly from SrsReportRunController). Therefore I would say that it doesn’t support print management. Are you sure that it does?
I assumed it did since I can go into IM-Setup-IAWM parameters and change the default for the picking list. But if it doesn’t support it, then I need to create an extension of the menuitem and point to my controller extension?
You’re right; I’m looking at a wrong class. It’s WmsPickingList_OrderPick that extends SrsPrintMgmtController.
If you don’t see any problem in your setup, I think you’ll need to debug the code. FormLetterReport.loadPrintSettings() may be a good place to look at.
Okay, so I’m still new to D365 and missed a key part. It actually is the WMSPickingList_OrderPickController I needed to extend, change the code in the Main method to point to my new report, but the part I missed was creating an extension of the WMSPickingList_OrderPickOriginal MenuItem and pointing that to my new controller. Once I did that, my report is now printing!