Report 12471 "Shipment Request M-11" bug with skipping lines.
Hello colleagues.
Recently we have found an "artifact". The bug in RU localization which at least confirmed in all Business Central versions and in the NAV2016, 2017 and 2018. I guess 2013 and 2015 also affected.
The behaviour is next: when you have an inventory document with more than 19 lines and try to print to Excel the report 12471 "Shipment Request M-11" from it - the nearest to pagebreak line will be skipped in the report.
The reason is incorrect work of Excel Report Builder manager. If you support RU localization for any of your customers, please check this report. The easiest way to reproduce this bug is to create Transfer Order with more than 19 lines and post shipment and receipt. After that open the Posted Transfer Receipt and try to print the report 12471 from it.
The report doesn't have totals and this looks like a reason that nobody still haven't noticed the bug.
Bug confirmed by Microsoft and registered, but fix will take time, after that we can apply the cumulative update. You could temporary sacrifice page header on each page and change the code in the Codeunit 14942 "Shipment Request M-11 Helper" the way below. It's easy to implement in NAV, but for Business Central I created a clone of report 12471 with linked clone of codeunit 14942 and replaced the original report in the Inventory Report Selection page.
Will update this post when get any news from Microsoft.
Update 07.04.2022
Bug will be fixed from NAV2018 CU52. You can do it now using next change log:
Old version BEFORE
New version AFTER
--------------------------------------------------------------------------------
+------------------------------------------------------------------------------+
| OBJECT Codeunit 14942 Shipment Request M-11 Helper |
+------------------------------------------------------------------------------+
---------- Before (BEFORE) ---------- Codeunit 14942 ---------- Function FillM11Body
IF NOT ExcelReportBuilderMgr.TryAddSectionWithPlaceForFooter('BODY','REPORTFOOTER') THEN BEGIN
ExcelReportBuilderMgr.AddPagebreak;
ExcelReportBuilderMgr.AddSection('PAGEHEADER');
END;
ExcelReportBuilderMgr.AddDataToSection('FromLedgerAccount',BodyArr[1]);
---------- After (AFTER) ------------------------------------------------------
IF NOT ExcelReportBuilderMgr.TryAddSectionWithPlaceForFooter('BODY','REPORTFOOTER') THEN BEGIN
ExcelReportBuilderMgr.AddPagebreak;
ExcelReportBuilderMgr.AddSection('PAGEHEADER');
+ ExcelReportBuilderMgr.AddSection('BODY');
END;
ExcelReportBuilderMgr.AddDataToSection('FromLedgerAccount',BodyArr[1]);
--------------------------------------------------------------------------------
*This post is locked for comments