Hi Guys found solution to this :
I had to include new custom report in Print management of specific module.
Step 1. We need to create new enum value in Base Enum PrintMgmtDocumentType.
Step 2. For each module we have class , in my case I needed to include custom report in WareHouse management so my class is WhsPrintMgmtNode_WHS which extends PrintMgmtNode.
This class is responsible to include new PrintMgmtdocumentype so I created extension of class:
[ExtensionOf(classStr(WhsPrintMgmtNode_WHS))]
final class WhsPrintMgmtNode_WHS_Extension
{
public List getDocumentTypes()
{
List docTypes = next getDocumentTypes();
docTypes.addEnd(PrintMgmtDocumentType::(Added Enum value in Step 1));
return docTypes;
}
}
By this step you are basically associating new Print mgmt node to Module.
Step 3. Now we need to associate our custom report for this new PrintMgmtDocumentType.
Need to subscribe to method getDefaultReportFormatDelegate of class PrintMgmtDocType
class PrintMgmtDocTypeEHSubscribe
{
/// <summary>
///
/// </summary>
/// <param name="_docType"></param>
/// <param name="_result"></param>
[SubscribesTo(classStr(PrintMgmtDocType), delegateStr(PrintMgmtDocType, getDefaultReportFormatDelegate))]
public static void PrintMgmtDocType_getDefaultReportFormatDelegate(PrintMgmtDocumentType _docType, EventHandlerResult _result)
{
switch (_docType)
{
case PrintMgmtDocumentType::(Added Enum value in Step 1):
_result.result(ssrsReportStr(Newreport, Reportdesign));
break;
}
}
Now If you build you will see New node added in Print management setup of your module with default report design ssrsReportStr(Newreport, Reportdesign)
Hope its helpfull.