Microsoft Dynamics Ax developer's blog

Sunday, April 27, 2008

Book review: “Quality Assurance for Dynamics AX-Based ERP Solutions”

As some other bloggers, I have received the book for review. Here are my impressions…

This book is written about several aspects of quality assurance in Dynamics Ax implementation projects. I think the main focus is on customizations development because most topics related to it.

Quality in the following areas is covered by the book:

  • Code
  • User interface
  • Security
  • Performance
  • Organizational

Detail level differs from topic to topic: for example code topics contain introductory material and detailed BP rules, user interface topic consists of very concrete checklists and security aspects are showed almost only as general word about trustworthy computing. The book is not very thick (~150 pages), but contains information only in textual form (text, tables, lists), so information density is higher than in most modern books filled with screenshots and code samples.

My overall impression - good enough as introductory book. It can be useful if you are:

  • Novice developer and want to have overview about what quality in dynamics ax means
  • Some kind of manager who want to build a development process with focus on quality (you can borrow some rules and checklists)
  • Some other non-developer who wants to have overall outline about quality in Ax

I think, there are some topics, which should be covered by the future books of such direction, but haven't been covered by this book:

  • Administration issuer
  • Functional setup issues

Other topics (such as end-user training) which are parts of real implementation projects but haven't been represented in the book

Thursday, March 27, 2008

Sidax 0.4 b 6 will show you what groups can access selected main menu items


download (85K)

What's new:

  • multiple selection of main menu items

  • new item named "Show access" in the main menu item's context menu. If you choose this item all groups which have access to that item will be output to infolog

Monday, March 24, 2008

BeauSQL -- SQL beautifier

Download: binaries, sources



The purpose is to make SQL traces code more structured and core readable.

This tool consists of two parts:

  • DLL, which is written in Haskell - a very interesting functional programming language, and it do actual work of parsing and pretty printing

  • Small class in Ax which is a thin wrapper for the DLL and button to place in SQL trace form.


This is the first version, it is very experimantal and tested under Ax 3 only.

PS. Some code was stealed from cs4 tool for BAAN

Tuesday, March 18, 2008

How to manage rights by code

Some times ago I nedd to copy 8 security groups and remove access to some menu items in these new copies. I wrote a job for that purpose and now I've placed it to axaptapedia here.

Tuesday, January 29, 2008

Brainbench results





Brainbench is a site dedicated for online testing. There are some free tests which I have done some time ago. My transcript id is 6941773

Wednesday, January 23, 2008

Tweaking google desktop gadgets

Google Desktop has a calendar gadget. But it use american style: week begins with sunday and there are only english letters in title. Here in Russia week starts with monday. So I was interested to localize that gadget. And it was easy. SDK contains designer and good examples, and gadgets are only combination of XML and javascript, so they can be hacked by anyone who knows that technologies. If you are interested in localizing that gadget to your language, or have any ideas of integrating google desktop gadget technology with Ax - just reply to this post.



download this gadget

Thursday, January 17, 2008

Trace Parser small bug

Trace Parser is a new tool for profiling Dynamics Ax code. Unlike profiler, which makes execution of the code about 30 times slower, TraceParser takes extremely low resources - 4% according to Alexey Eremenko blog)

But since it is in the "beta" stage, there are some problems with usability and stability.

For example, when I run the "trace summary" menu item on my trace I've got an exception. It seems (thanks to reflector) the cause is in SqlTimeBreakDown function in SQL server Trace Parser database.

When I add condition to exclude division by zero, it results in empty
grid instead of exception.

This is the fix:

if @SQLTime>0  -- <<<<<<<<<<<<<<<< the fix
begin
INSERT INTO @BreakdownInformation
SELECT (sum(PrepDuration) * 100)/@SQLTime [% of time in SQL Prep],(
sum(BindDuration) * 100)/@SQLTime [% of time in SQL Bind],
(sum(RowFetchDuration) * 100)/@SQLTime [% of time in SQL Row Fetch],
(sum(ExecuteDuration) * 100)/@SQLTime [% of time in SQL Execution]
from SqlQueryInstance
WHERE traceId = @Traceid AND sessionid = @sessionid
end -- <<<<<<<<<<<<<<<< the fix
RETURN

Wednesday, January 16, 2008

Syntax highlighting of X++ code in your blog or site

1. Download highlight.js archive
2. Unpack archive and place it on your site
3. Аdd the following lines at start your html

<script type="text/javascript" src="highlight.js"></script>
<script type="text/javascript">
initHighlightingOnLoad('axapta');
</script>


(or, add html/javascript block with that content in the blogger.com template editor. If you use blogger, you should replace path to the script with full path to site where you uploaded the script like "http://belugin.info/highlight.js")

4. Attach the sample.css stylesheet to your page or add it's contents to the "style" tag of your blogger template

5. Post your code snippets like this:

<pre><code class="Axapta">
// your code here
</code></pre>


PS. You can also use export.html from the archive and skip all steps except 4 - just paste a generated code to your page

Friday, December 21, 2007

Blogroll

Just added a blogroll to the right bottom of my blog template. This blogroll is generated by Google Reader and represents all blogs in english I have subscribed to.

Friday, November 16, 2007

Comparing the Microsoft and Google tool chains

An interesting post about tools (software and hardware) which are used by Microsoft and Google developers.

By the way, I have two monitors too, and it is very useful for development in Ax, especially, for debugging display methods: when I had application and a debugger on the same screen, it was an ether not enough screen space (when debugger and application were placed side-by-side), or a deadloop (when I close the debugger, the underlying window starts to repaint, so display method was called again and debugger appears again).

Thursday, November 01, 2007

Gantt

Gannt charts in Ax are displayed Netronic VARCHART XGantt ActiveX control. If you follow the link you can download CHM and PDF documentation (about 900 pages) on it...

Friday, October 26, 2007

FarManager 1.80 will be Open Source



Far Manager1.80 will be Open Source.

FarManager is my favorite Norton Commander-like file manager.

The real power of this piece of software is in plugins. For example, a friend of mine had implemented a nice IDE for BAAN ERP based on FAR. And I also have some experience in this field.

Maybe, it looks weird for people, who do not remember DOS and NC, but is really powerful

Thursday, October 25, 2007

MS CRM in dotnetrocks

It is announced that the next tuesday a new dotnetrocks podcast show on MS CRM will be available:

10/30/2007
David Yack Talks Microsoft CRM!


AFAIR it is the first DotNetRocks show related to Dynamics

Tuesday, October 23, 2007

new version of the DEV_CreateStandardsMethods extendion



The extension now can add suffix to created methods and is fully translated to english. For example parameters from the screenshot will lead to creation of findByGUID and existByGUID methods. See axaptapedia article for download and details.