A new era for customizations

With the release of Dynamics 365 for Finance and Operations 8.0 the customization model has not just been changed, it has been replaced. Since version 7.0 we have gradually been enabling more and more customizations scenarios through extensions, while nudging developers away from editing Microsoft code using overlayering. The roadmap was announced about a year…

0

Container to bindata, and back again

I was recently engaged in a bug where the size of container caused problems. The solution we arrived at was to implement compression of the container. The solution is trivial; but the APIs to get there took me a while to discover, and as I couldn’t find any other post on this, I’m sharing it….

0

X++ the most extensible language on the planet!

Disclaimer: I have no idea if the title is true or not. There are no world cups for languages competing against each other for the trophy. What I do know is that X++ has taken some gigantic leaps forward lately in terms of extensibility – if someone decides to host a world cup; I’d be…

2

What gets you up in the morning?

I love the X++ application. I love improving the code base in central places helping every user, every customer and every partner in the ecosystem. Having the ability to improve RunBase, InventDim, MRP, EcoRes, PriceDisc, SalesTable or the X++ compiler matters a great deal to me. I feel privileged to be responsible for and empowered…

0

Extensible product dimension sample app

We have just published a small sample app demonstrating how to implement a new product dimension using extension only. It is using the Extensible product and tracking dimensions framework available in 7.3. For the sake of demonstration, we have added a new product dimension named Flavor, and we are binding it to Inventory Dimension 1…

0

7.3 is now available

Dynamics 365 for Finance and Operations, Enterprise edition 7.3 is now general available. This release contains massive extensibility improvements: All models are now at least soft sealed (Warning when overlayering) Extensible product and tracking dimensions. Extensible price discount calculations. An application that is precompiled to support chain of command. (No need to recompile App suite…

2

Replaceable methods

Chain of command enables wrapping of methods – but you must call next. This ensure the “chain” is not broken, and everyone wrapping the method will indeed be called. However, sometimes it makes sense to break the chain. Here are some examples where this could be useful: In lookup methods. The base implementation will open…

2

Table map extensions

Requesting add a field or method extension capability to existing table maps Problem statement We have received requests to provide platform support for adding a field or method to table maps through extensions. Adding a field or a method to an existing table map, however, presents some challenges which can lead to unforeseen runtime errors….

4

Extending table maps used for versioning

Disclaimer: This post describes a proposed solution and is subject to change without further notice One of the table maps where we have received requests to support the ability to add a field is the PurchLineMap table maps. This table map is used to describe the set of fields which must be copied between the…

0

Extending table maps used as interfaces

Disclaimer: This post describes a proposed solution and is subject to change without further noticeTwo of the table maps where we have received the most request to support the ability to add a field or method, are the SalesPurchLine and SalesPurchTable table maps. The two table maps expose a set of common fields and methods…

1