- It has been mentioned before that the class hierarchy information in AX has to be refreshed manually, if it changes:
- It’s important to note that the class hierary and probably other static cache information are intentionally not refreshed when an AOS is restarted, but are instead stored in the AX business database. This includes the case where code was changed, be it directly or by the import of a model file.
- A hint on how to refresh this can even be found in a comment in standard AX code
Your alert rules stopped working all of a sudden? Chances are you’ve modified your database log setup and thereby killed the alerts.
What? Why? But how?
(Add the end of this post, you’ll find an X++ job that will revive your alerts)
(Edit, Dec. 16, 2015: Applies to R2, R3 fix is identical to „my“ solution!)
AX2012 has been around for some time now, but there are still many installations running on previous versions. Switching to AX2012 is not terribly hard, but it has some surprises for you. Therefore, I thought I’d start a collection of things you should be aware of and consider when (before) starting your first AX2012 implementation, that are not mentioned in the whitepapers and training materiel I’ve seen so far.
This year, I came across code like the following several times – in different projects, written by different developers (yellow indicates the piece of code I’m wondering about). I’m not sure why they do it – maybe they come from a programming language that doesn’t know about short circuit logic.
If you think „what the heck is short circuit logic“, please read on. Weiterlesen
If an AX table field directly uses the Extended Data Type (EDT) AmountCur or an EDT that derives from AmountCur, the field’s property sheet shows several additional entries, when compared to other fields of type real.
I couldn’t find any documentation on this in the Internet or the AX2012 development book, so I thought I’d try and find out from AX where these properties are used and what they are used for.
An AX consultant told me that their developer colleagues say that it’s not possible in an AX2012 SSRS printout to
- create a page total in the page footer
- and carry over that total to the top of the subsequent page.
I thought I’d accept the challenge and give it a try … This post will Show one possible solution, using the collection letter as an example. Maybe it can help somebody else, too.
The Import / Export Framework of Dynamics AX 2012 is an extremely powerful tool. But sometimes you still need to look very closely to figure out why something goes wrong … and how to fix it.
Recently, two colleagues of mine both told me that you cannot import financial dimensions into a ledger journal for bank accounts, customer accounts etc. (basically all account types but ledger). Since I had tried out just that, I started investigating – and the solution is very straightforward.
I recently had to update some customer entities in AX2012 R2 using DIXF and ran into troubles that I knew for sure I hadn’t had with AX2012 R3:
- When updating the customer data through DIXF, the customer’s balance was modified, too, although the updated fields were in no way related to the Balance. Well, actually, the entire update didn’t go through, but caused an error message about a missing setup of financial dimensions. I’ve to admit that I’m quite happy I received the error message. Since it didn’t fit at all to what I intended to do, it brought me quickly to this terrible „side-effect“ that I really wouldn’t have expected.And, yes, you didn’t misread: This modification to the balance also happens if there is no information about the account’s balance in the imported data. This basically means that you’ll set the customer’s balance to 0, although you only want to update some harmless other fields … (BTW: The balance is modified by posting a free-text invoice.)
It always happens at the most unfortunate moments that AX labels go crazy: You see a temporary label ID like @$AB1, or, even worse, labels are lost or overwritten. There never seems to be a good reason for this – this impression is partly due to the fact that one usually doesn’t realize the mess until some time after it was caused and then doesn’t see any relation to one’s actions.
Seeing that labels are not really interesting for a developer (I have to include myself here), it’s a shame that they can cause so much additional pain. So, I thought I’d share what process I always follow … without running into these issues. It may seem like some extra work, some extra steps, but once you had to „unmess“ some labels, you’ll understand why I don’t mind following my few simple rules Weiterlesen