My colleague Rod showed it to me when I needed to add a new report to Project Invoice Proposal with billing rules to be present in Print management settings.
Then I can pick it up in Print management settings in Project module.
It may be a good idea to delete records from PrintMgmtReportFormat table; all its records will be recreated the next time you open Print management form.
/// <summary> /// Subscribes to print mgmt report format publisher to populate custom reports /// </summary> [SubscribesTo(classstr(PrintMgmtReportFormatPublisher), delegatestr(PrintMgmtReportFormatPublisher, notifyPopulate))] public static void notifyPopulate() { #PrintMgmtSetup void addFormat(PrintMgmtDocumentType _type, PrintMgmtReportFormatName _name, PrintMgmtReportFormatCountryRegionId _countryRegionId = #NoCountryRegionId) { myPrintMgtDocType_ProjInvReport_Handler::addPrintMgmtReportFormat(_type, _name, _name, _countryRegionId); } addFormat(PrintMgmtDocumentType::myProjInvoiceWithBR, ssrsReportStr(myPSAContractLineInvoice, Report)); } /// <summary> /// Adds a report format to the printMgtReportFormat table /// </summary> /// <param name = "_type">PrintMgmtDocumentType value</param> /// <param name = "_name">Name of the report (ie. reportname.Report)</param> /// <param name = "_description">Description of the report (ie. reportname.Report)</param> /// <param name = "_countryRegionId">Country or default (#NoCountryRegionId)</param> /// <param name = "_system">True if this is a system report</param> /// <param name = "_ssrs">SSRS report or another type</param> private static void addPrintMgmtReportFormat( PrintMgmtDocumentType _type, PrintMgmtReportFormatName _name, PrintMgmtReportFormatDescription _description, PrintMgmtReportFormatCountryRegionId _countryRegionId, PrintMgmtReportFormatSystem _system = false, PrintMgmtSSRS _ssrs = PrintMgmtSSRS::SSRS) { PrintMgmtReportFormat printMgmtReportFormat; select firstonly printMgmtReportFormat where printMgmtReportFormat.DocumentType == _type && printMgmtReportFormat.Description == _description && printMgmtReportFormat.CountryRegionId == _countryRegionId; if (!printMgmtReportFormat) { // Add the new format printMgmtReportFormat.clear(); printMgmtReportFormat.DocumentType = _type; printMgmtReportFormat.Name = _name; printMgmtReportFormat.Description = _description; printMgmtReportFormat.CountryRegionId = _countryRegionId; printMgmtReportFormat.System = _system; printMgmtReportFormat.ssrs = _ssrs; printMgmtReportFormat.insert(); } }
Then I can pick it up in Print management settings in Project module.
It may be a good idea to delete records from PrintMgmtReportFormat table; all its records will be recreated the next time you open Print management form.
No comments:
Post a Comment