Wednesday, August 22, 2007

Sorting and Filtering on Display method based grid columns

Hello friendz,

It is interesting to know that AX does not allow sorting and filtering on any column of the grid which is based on the display method. Someone has told me that research is on the way to incorporate the sorting and filtering on display method based grid columns.

Til then we wait........... :)


Sunday, August 12, 2007

Alternate of Formula Fields of Crystal reports in Dynamics AX Reports

Hello guyz,
I am writing frequently nowadays. It means that i am doing lots of work. I was to prepare some report for some of my client. Generally back in the days of .net and crystal report, the functionality which was required to be implemented could easily be fulfilled by Formula Fields. But to my astonishment, there are no formula fields in Dynamics AX reports.

There is an alternative to it. AX allows you to have programmable sections in the report. In these programmable section, you can insert different control. So i inserted on control having String Type Data.

Set the AutoDeclaration property of this control to TRUE. In this way you can programmably access this control.
Now override executeSection() method of this programmable section and write your programmable logic in this method.

You are done!!!!!!!!

Wednesday, August 8, 2007

View does not support display methods and field groups

I completed my design today assuming that there is support of display methods and fieldgroup support in Views in Dynamics AX. But to my surprise a view does not support any of them. i.e. I can not add display methods or fieldgroups defined on table as fields in a view. :(

So guyz!!!!!!!!!!

update ur knowledge with this feature of Views :)


Tuesday, August 7, 2007

Why Asset Status on Value Model and Depreciation Book

There is no field related to status of Asset in Fixed Asset form / table (AssetTabler) of Dynamics AX. People think that they should use AssetStatus field in this regard.

I was just wondering why this AssetStatus field is with ValueModel or Depreciation book associated with stated Fixed Asset. But as soon as u see the Help text associated with this Status field u understand that this is about depreciation of fixed asset and not the fixed asset itself.

The help text says, "How to depreciate? Open = automatically, Suspended = no depreciation".
It still does not explain what other values of this BaseEnum mean.

So this status is about depreciation and not about Fixed Asset itself.

Got it!!!!!!!!!!!!!

Order by clause before Where Clause (Dynamics AX Select)

People who are aware of SQL must know that Order by clause is always written after where clause in SQL Selects.

In X++ this is different. Order by is always written before where clause.

The example code is as below.

select firstonly BookId from assetBook order by BookId desc where assetBook.AssetId == this.AssetId


Saturday, August 4, 2007

CASE / DECODE in Dynamic AX Queries / Select

For those of you who are used to using CASE / DECODE in SQL i have some information.

They are not supported in Dynamics AX. Now what to do to get the work done for which these constructs are used in SQL.

To go for the work around, first we should understand what they are used for in SQL queries. They are used for making decision about which information to display based on other columns information in data got as a result of querying the database.

The same work can be done if we used DISPLAY function in X++. They will definitely not be used in Select / Query directly but in the form, report etc that the result of query is used in. For the information about display function, you can read Inside Dynamics AX.


Thursday, August 2, 2007

Union in Axapta Queries (Dynamics AX)

I am used to using the UNION in SQL Queries but I could not find this feature in Axapta Select or Queries.

Then i came to know that UNION and CASE is not supported by AX selects or queries:

For Union a workaround is the loop all records and insert them into a temporary table or a RecordSortedList.

You might have to use the WHERE clause instead

Wait for these features to be incorporated in AX queries or Selects.