I have been involved with a company for a while that have used the Role center cues to manage both the state of the business and manage the different situations that had to be supervised such as entities being “stuck” in a work process.
In general, I am very much in love with Cues for a fast and efficient business insight tool, requiring no to very little development for gaining a very large variety of business data. That said cues also have some limitations which in my opinion stems from the fact that Cues received one iteration of code and “version 2” has never come around. In the end of this blog I will describe the code enhancements we have done to the cue administration.
First a quick story on the name. Cues were made for the AX 2009 and I remember that the name “Cues” were discussed quite a bit at Microsoft at the time. The word Cues comes from “A hint, intimation, guiding suggestion”, I remember that “Cue card” was used to indicate what it was. If you use picture search engine you may however likely get this kind of result.
Personally, I would appreciate a bit more effort on what to name this concept back then. For non-English users the name will be different. In (my) Danish it is called “køer” which is not a great word either, directly translated it means “Queue” however “Køer” (also) has a double meaning in Danish:
Basic cue creation
You can create a cue on most forms in AX (also non-list page forms). As long as you can access the advanced filter (Ctrl-F3) save the query you have made as a cue. Here I have for example made a query on open sales order lines that have a unit price of zero
On doing this you are presented with a dialogue that gives you the option to name the new cue and designate who can view this cue and finally if you wish to have an alert on the cue when the number of records in each cue is above or below a certain threshold.
Here I have named my new cue “Sales order lines with unit price 0”. I have set the “Show alert when count is” to a personal favorite of mine whenever I make a cue with an outcome that is undesired such as this. With this setting I will get a warning message telling me to react to this cue whenever more than zero sales order lines with a unit of price of zero is found.
On pressing OK the cue is saved and... ok often.. the cue is automatically added to my role center, note the warning that I have more than zero in that cue.
I skipped the “Show sum of field”. When I check this, I get a drop down of a subset of values on the table in question. Here I get 7 options:
Without knowing it exactly it does seem that the reason for these values and not others are that each of these fields on in this case the sales order line table is that these fields extends the Amount EDT. Using this option is most certainly at the user’s own peril because we are directly using values from the table whatever comes out has probably never been intended for user consumption. In the above example I would probably use the LineAmount field although I would be concerned about multicurrency. The result is the following:
Role center personalization
The role center contains a range of good options. For the sake of this blog I have personalized my role center to have a few more Cue groups. Having more than one cue group is good for using the available space within the role center more efficiently and when you start having many cues within each cue group you will find that it takes longer and longer to load the data within the individual cue group, having more cue groups will make data become available faster:
Role center personalization is the topic of quite a few sites so briefly press the personalization and select Microsoft Dynamics AX and choose the Cues in the Web Parts and then where to add the cue part, in my example to the right column:
Secondly it is very important to add a Cue Group Name to get different sets of Cues in each Cue group:
The Cue group names comes from the existing Cue Groups created in the AOT >Parts>Cue Groups. I Personally normally pick one that only have a few existing Cues in them to quicker empty it. I had an experience once that adding a cue group made the entire role center freeze. I resolved it by resetting the user’s personalization and using a different cue group name. That is a rather unfortunate thing to do if a great many cues have been added to the Cue groups so be careful and perhaps make screenshots of added cues if you are working on an existing role center.
Now to truly get something meaningful out of Dynamics AX you will need to understand how to build more advanced queries.
Make sure you understand the basics of querying: https://technet.microsoft.com/en-us/library/aa569937.aspx
And to add additional tables to the existing query: https://technet.microsoft.com/en-us/library/aa551356.aspx
I tried to make a blog on the SysQueryRangeUtil methods to use, which you can find here: http://pingala.eu/en/blogs/dynamic-query-ranges
Building the query can be a pain and will often require the user to enter the AOT to find the relationships and not least what the joining tables are named. For example, if I wanted to make a query on sales order lines that are late and that are reserved physically I would be extending the previously used query with the inventory transaction originator and inventory transaction to get to the Issue status field.
In this example I would probably also have to work with some SQL statements within the query like you can read about here:
Under Organization administration>Setup>Role center>Enterprise portal you will find the Edit cues form which shows the Cues that have been created within the organization.
It does not provide a great deal of options. I have the option to change the name and the two Cue options plus the visibility. For some reason there have been added a restrict on the ability to delete cues if they are present on a user’s role center:
It is possible to get rid of these without having the users to manually removing the cues, but it requires access to the AOT to find the table SysCueGroupMembership and perhaps also SysCuePersonalization. The other option is to have a developer to change the delete action types.
Improving upon the Cues framework
For a customer we created an enhancement to the Cue framework. The customers focus was to manage the (very many) cues they had in place. That includes two things: Being able to change the query that underlies the Cue instead of having to recreate the Cue and the ability to manage the Cues a user has on their role center.
The ability to change a query was added to the Edit cues form:
Second option is to see the memberships of the individual Cue by pressing the button “Manage cue membership”:
From here the options are to delete an existing cue membership, meaning to remove a cue from a user.
The second option is to add the cue to a selected user:
Cue membership can also be viewed from the user:
Let me know if you wish to try out this change.