How do I select from table Common in AX?

16 11 2011

Workflow quite often uses fields such as ContextTableId and ContextRecId to reference the original document. I’ve been needing to get hold of the original database record as a Common object from which I can then do various things, but the question is how do i get that common object?

I’ve tried something like this

Common buffer;
;
select buffer where buffer.TableId == _tableId && buffer.RecId == _recId;

This however always return an empty buffer regardless of whether or not the record does exist. I eventually managed to retrieve a common record with the following method.

Common buffer;
SysDictTable dictTable;
;
dictTable = new SysDictTable(_tableId); buffer = dictTable.makeRecord(); select buffer where buffer.RecId == _recId;

I’ve needed to do this a couple of times in the past and kept forgetting, so I’m posting it here for myself and who ever else wants to accomplish this. Enjoy!





Workflow in three Easy Steps – New tool by Amer

28 07 2010

As all you workflow developer’s know, creating new workflow templates is a huge job due to the large number of AOT objects that one has to create and link up. Amer has created a new tool to create new workflow templates in just 3 easy steps. Check it out over here. http://blog.amer-ax.com/?p=475

Congrats Amer. This is sure to help many many people.





How to test if a configuration key is enabled in X++ code

17 11 2009

So the question today is prob an obvious one to many, but I’m including it just for reference in case somebody also couldn’t figure this out.

How do you execute a specific block of code only if a specific configuration key is enabled? Quite simple in fact. X++ has a built in function isConfigurationKeyEnabled(configurationkeynum _key) that can be used for this very purpose. E.G.

if (isConfigurationKeyEnabled(configurationkeynum(PurchReq)))
{
//insert code here
}







Follow

Get every new post delivered to your Inbox.

Join 135 other followers