It has been a long time since I last wrote a blog, and I have skipped commenting of couple of CU's. I have been very busy with some new customers, and after a brienf look at the previous CU's, I decided that they are too small and not really worth a blog per release.With this blog post I also move from BC13 teardowns to BC14 (Spring 2019 Update) CU teardowns.
First of all, there is some performance updates that concern temporary usage of different master data tables, Salesperson/Purchaser, G/L Account, Customer, Vendor, Item, Resource, Resource Group just to mention some. If the current record is temporary, dimensions are not created when data is inserted. This is really nice example of how unneccessary database fetches and updates can be avoided with very simple means - and use of temporary tables!
Quite a lot of other changes concern of handling of Start/End dates and times in various production orders, and is not very interesting. Interesting is though, that the code that handles StartDate/EndDate calculations is identically added to a whole lot of tables instead of just one codeunit. This type of copy-paste coding is deemed obsolete by various developing forums. MS has cleared this kind of clutter in earlier CU's, so probably this functionality will later be moved into a management codeunit after it has grown some maturity.
I'd also like to drop a comment about the CU version numbering conflict between CU number and the Application Version number.CU01 was logically numbered "14.1" in code, but for some reason CU02 was numbered as "14.3". From there the numbering has not been in sync between CU and application version. So, this CU07 application version is numbered as "14.8"I cannot now remember if MS pulled back original CU02 or what is the reason for this, but nevertheless it is a bit confusing. If you want to find out what objects have been touched by CU07, you have to filter objects with "*14.08".
Effective from Feb 8th 2020, Microsoft Invoicing is no longer supported, and user will get a message dictating that the data must be exported before that.The Microsoft Invoicing app seems to be Role Center Page 9029 that belongs to Application area #Invoicing. This "App" has been available as additional feature purchased with O365, and actually this was the first time I heard about it.The MS Invoicing home page: https://products.office.com/en-us/business/microsoft-invoicing/invoice-softwareMore information of the discontinuation from MS site: https://docs.microsoft.com/en-us/dynamics365/invoicing/export-dataThis discontinuation introduces a couple of new objects that handle discontinuation and actual data export for customers. The export itself seems to gather data from sales documents and posted documents per customer and insert them into an excel workbook it then sends out with e-mail.The export functionality seems to be quite nice, and I think it is a good example how to create a collection of data with Excel, and can perhaps be used as a base for some GDPR related reports for customers that require their data extracted from the database.If you have time, I suggest you, dear reader, give a look for these new objects:Codeunit 2381 O365 Eport Data and pages 2356 O365 Discontinuation and 2381 O365Export Data.
Thanks for reading, and Happy new year!