<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-23088660</atom:id><lastBuildDate>Thu, 31 Jul 2025 07:18:33 +0000</lastBuildDate><category>axapta extensions</category><category>other resources</category><category>tabax</category><category>Ax4</category><category>NonAxaptic</category><category>Ax3</category><category>sidax</category><category>Ax2009</category><category>axpath</category><category>Ax2012</category><category>Tricks</category><category>X++</category><category>Thoughts</category><category>axaptapedia</category><category>book</category><category>podcasts</category><category>Calendar</category><category>Code Editor</category><category>Favoritware</category><category>Gadget</category><category>MSAGL</category><category>PowerShell</category><category>TabaxLite</category><category>Unit testing</category><category>WF</category><category>XRef</category><category>.NET</category><category>;)</category><category>AIF</category><category>Architecture</category><category>AxForum</category><category>BeauSQL</category><category>Bulgaria</category><category>C#</category><category>Cloud</category><category>Content Pane</category><category>Create standard methods</category><category>DEV_Toolbar</category><category>DGML</category><category>DLR</category><category>Data flow diagrams</category><category>DotNet</category><category>ExpressionQueryBuilder</category><category>FSharp</category><category>FarManager</category><category>Gantt</category><category>Google Descktop</category><category>Google Desktop</category><category>Haskell</category><category>MS CRM</category><category>MSSQL2008R2</category><category>Named pipe</category><category>OpenSource</category><category>Python</category><category>SOAP</category><category>SSRS</category><category>Security</category><category>Status update</category><category>SysStartupCmd</category><category>Tools</category><category>TraceParser</category><category>Video</category><category>WPF</category><category>Webservice</category><category>blogs</category><category>debugger</category><category>fedotenko.info</category><category>fit maximized windows</category><category>go component</category><category>i18n</category><category>kr3</category><category>learning english</category><category>review</category><category>setup</category><category>tips and tricks</category><title>axCoder</title><description>Microsoft Dynamics Ax developer&#39;s blog</description><link>http://axcoder.blogspot.com/</link><managingEditor>noreply@blogger.com (Max Belugin)</managingEditor><generator>Blogger</generator><openSearch:totalResults>123</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-1385719025431597579</guid><pubDate>Tue, 20 Nov 2018 17:27:00 +0000</pubDate><atom:updated>2018-11-20T09:27:30.434-08:00</atom:updated><title>PerfView in Dyn365FO Part 3 - starting a wall clock analysis</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I published &lt;a href=&quot;https://axcoder.github.io/Perfview-wall-clock-analysis-start/&quot; target=&quot;_blank&quot;&gt;the third part&lt;/a&gt; of the series of posts on PerfView and Dyn365FO&amp;nbsp;&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2018/11/perfview-in-dyn365fo-part-3-starting.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-3252099082388196225</guid><pubDate>Mon, 12 Nov 2018 08:25:00 +0000</pubDate><atom:updated>2018-11-12T00:25:08.468-08:00</atom:updated><title>Using Perfview in Dyn365FO Part 2: Collecting the trace</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;https://axcoder.github.io/Perfview-collecting-trace/&quot;&gt;https://axcoder.github.io/Perfview-collecting-trace/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
How to prepare scenario and collect a trace for futher analysis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2018/11/using-perfview-in-dyn365fo-part-2.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-3903032967521325507</guid><pubDate>Sun, 04 Nov 2018 11:41:00 +0000</pubDate><atom:updated>2018-11-04T03:43:33.728-08:00</atom:updated><title>Using PerfView in Dynamics 365 for Finance and Operations</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I &lt;a href=&quot;https://axcoder.github.io/Perfview-in-dyn365fo/&quot;&gt;wrote an introductory post&lt;/a&gt; on my github pages blog on using PerfView tool for analyzing performance of Dyn365FO code.&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2018/11/using-perfview-in-dynamics-365-for.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-2684987121804112667</guid><pubDate>Wed, 24 Oct 2018 10:23:00 +0000</pubDate><atom:updated>2018-10-24T03:23:04.626-07:00</atom:updated><title>Microsoft Ignite session on Microsoft Dynamics 365 Finance and Operations: Microsoft managed continuous update</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/c2k5xilW5wY/0.jpg&quot; src=&quot;https://www.youtube.com/embed/c2k5xilW5wY?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2018/10/microsoft-ignite-session-on-microsoft.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/c2k5xilW5wY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-7526009956223049012</guid><pubDate>Thu, 31 Aug 2017 08:55:00 +0000</pubDate><atom:updated>2017-08-31T01:55:59.727-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Architecture</category><category domain="http://www.blogger.com/atom/ns#">Cloud</category><category domain="http://www.blogger.com/atom/ns#">NonAxaptic</category><title>New cloud architecture guides</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
MS has released new &lt;a href=&quot;https://www.microsoft.com/net/learn/architecture&quot;&gt;architecture guides&lt;/a&gt;&amp;nbsp;revealing the vision how modern applications should work in cloud.&lt;br /&gt;
&lt;br /&gt;
Also as there is&lt;a href=&quot;https://www.youtube.com/playlist?list=PL9XzOCngAkqs0Q8ZRdafnSYExKQurZrBY&quot;&gt; a free course &lt;/a&gt;by famous Jeffry Richter about what is special in cloud that can be recommended to developers who want to get familiar with cloud concepts.&amp;nbsp;&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2017/08/new-cloud-architecture-guides.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-2799517749434012872</guid><pubDate>Wed, 17 May 2017 08:11:00 +0000</pubDate><atom:updated>2017-05-17T01:11:23.130-07:00</atom:updated><title>Jay Bazuzi&#39;s coding blog: Slightly better every day</title><description>&lt;a href=&quot;http://jbazuzicode.blogspot.ru/2017/05/slightly-better-every-day.html&quot;&gt;Jay Bazuzi&#39;s coding blog: Slightly better every day&lt;/a&gt;</description><link>http://axcoder.blogspot.com/2017/05/jay-bazuzis-coding-blog-slightly-better.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-9177583800958227303</guid><pubDate>Fri, 10 Jul 2015 07:01:00 +0000</pubDate><atom:updated>2015-07-10T00:01:22.534-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2012</category><category domain="http://www.blogger.com/atom/ns#">DEV_Toolbar</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><title>DAX 2012 toolset</title><description>There is a project that combines most interesting known tools for Ax2012. In includes DEV_Toolbar for example.

&lt;a href=&quot;https://dax2012toolset.codeplex.com/&quot;&gt;dax2012toolset.codeplex.com&lt;/a&gt;</description><link>http://axcoder.blogspot.com/2015/07/dax-2012-toolset.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-7408701011724987895</guid><pubDate>Thu, 20 Nov 2014 06:42:00 +0000</pubDate><atom:updated>2014-11-19T22:43:36.426-08:00</atom:updated><title>Static code analysis using XLNT</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In ax 2012 there is a code upgrade tool based on parser named &lt;a href=&quot;http://daxmusings.codecrib.com/2013/08/xlnt-most-excellent-framework-for-x.html&quot;&gt;XLNT&lt;/a&gt; - it allows to use syntax tree if X++ from .NET.&lt;br /&gt;
&lt;br /&gt;
I have written a small example of static analysis for X++ based on that technology&amp;nbsp; &lt;a href=&quot;http://1drv.ms/1u9Rs8x&quot; target=&quot;_blank&quot;&gt;http://1drv.ms/1u9Rs8x&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
It detects code patters that are likely to be copy-and-paste errors (when somebody copies code but forget to change something in a copy) like:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;case X: some code &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;case X: some code&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;if (x) { &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; y &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;} &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;else &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp; y &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;}&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2014/11/static-code-analysis-using-xlnt.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-9142304184017548911</guid><pubDate>Tue, 30 Jul 2013 12:00:00 +0000</pubDate><atom:updated>2013-07-30T05:00:55.246-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">PowerShell</category><title>How to become an axapta administrator with powershell</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;

&lt;br /&gt;
&lt;div style=&quot;font-family: Consolas; font-size: 12pt; margin: 0in;&quot;&gt;
&lt;span style=&quot;color: orangered;&quot;&gt;$&lt;span style=&quot;font-size: x-small;&quot;&gt;sid&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;span style=&quot;color: darkgrey;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;[System.Security.Principal.WindowsIdentity]&lt;/span&gt;&lt;span style=&quot;color: darkgrey;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #686868;&quot;&gt;GetCurrent()&lt;/span&gt;&lt;span style=&quot;color: darkgrey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #686868;&quot;&gt;User&lt;/span&gt;&lt;span style=&quot;color: darkgrey;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #686868;&quot;&gt;Value&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;color: #ae4e4e; font-family: Consolas; margin: 0in;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #6262ff;&quot;&gt;osql&lt;/span&gt; &lt;span style=&quot;color: #6666b3;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #9e4fe7;&quot;&gt;AXDBDEV&lt;/span&gt; &lt;span style=&quot;color: #6666b3;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #6666b3;&quot;&gt;-E&lt;/span&gt; &lt;span style=&quot;color: #6666b3;&quot;&gt;-Q&lt;/span&gt; &lt;span style=&quot;color: #ae4e4e;&quot;&gt;&quot;update userinfo set sid = &#39;$sid&#39;, networkdomain =
&#39;$env:userdomain&#39;, networkalias = &#39;$env:username&#39; where ID = &#39;admin&#39;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2013/07/how-to-become-axapta-administrator-with.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-4462273990685490229</guid><pubDate>Fri, 27 Apr 2012 07:09:00 +0000</pubDate><atom:updated>2012-04-27T00:09:01.484-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2012</category><category domain="http://www.blogger.com/atom/ns#">debugger</category><category domain="http://www.blogger.com/atom/ns#">tips and tricks</category><title>Did you know, that you can drag and drop from debugger?</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
When I debug complex code,&amp;nbsp;I open OneNote, dock it to the right border of screen and save some variables values from debugger there.&lt;br /&gt;
Previusly, I used copy and paste from &quot;locals&quot; or &quot;watch&quot; windows and it looked like there:&lt;br /&gt;


&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;NAME:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_closeAmountReporting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;VALUE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
128.57&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;TYPE:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
real&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
Today I&#39;ve tried to drag&amp;amp;drop a value and it looked like there:&lt;br /&gt;


&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;_closeAmountReporting 128.57&amp;nbsp;&amp;nbsp; real&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
which is more compact and comfortable representation.&lt;/div&gt;</description><link>http://axcoder.blogspot.com/2012/04/did-you-know-that-you-can-drag-and-drop.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-1228357927800779657</guid><pubDate>Mon, 09 Apr 2012 20:14:00 +0000</pubDate><atom:updated>2012-04-09T13:14:43.029-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2012</category><category domain="http://www.blogger.com/atom/ns#">axapta extensions</category><category domain="http://www.blogger.com/atom/ns#">Code Editor</category><title>Code folding in ax 2012</title><description>As &lt;a href=&quot;http://dev.goshoom.net/en/2011/10/ax2012-editor-extensions/&quot;&gt;mentioned Martin Drab&lt;/a&gt;, editor extensions for VS 2010 work also in Ax 2012.
Including &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ee197665.aspx&quot;&gt;code outlining example&lt;/a&gt;.

Below is CustVendSettle.settleNow, lines 111 to 777:

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbthDOSQp96BK89EUXrF4gQfl0mVEENTjq71EPn0dj6Rvltoc8x_eISrTMpdzeS6nnJLAxoUxt9AQouHkpC-Nm2ik5XMLDuXaZhlnmMRnh5v5qc1OqzeUD0RbQhIkDjlqwL2SsmQ/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbthDOSQp96BK89EUXrF4gQfl0mVEENTjq71EPn0dj6Rvltoc8x_eISrTMpdzeS6nnJLAxoUxt9AQouHkpC-Nm2ik5XMLDuXaZhlnmMRnh5v5qc1OqzeUD0RbQhIkDjlqwL2SsmQ/s1600/1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://axcoder.blogspot.com/2012/04/code-folding-in-ax-2012.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbthDOSQp96BK89EUXrF4gQfl0mVEENTjq71EPn0dj6Rvltoc8x_eISrTMpdzeS6nnJLAxoUxt9AQouHkpC-Nm2ik5XMLDuXaZhlnmMRnh5v5qc1OqzeUD0RbQhIkDjlqwL2SsmQ/s72-c/1.png" height="72" width="72"/><thr:total>10</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-5310103929960019552</guid><pubDate>Tue, 07 Feb 2012 06:50:00 +0000</pubDate><atom:updated>2012-02-06T22:50:50.142-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2012</category><category domain="http://www.blogger.com/atom/ns#">tabax</category><category domain="http://www.blogger.com/atom/ns#">WPF</category><title>DEV_Toolbar: tabax for Ax2012</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;p&gt;I am sharing a tabax successor for Ax6 as an example of usage WPF control.&lt;/p&gt;

&lt;iframe frameborder=&quot;0&quot; height=&quot;120&quot; scrolling=&quot;no&quot; src=&quot;https://skydrive.live.com/embed?cid=79DF712DA7EC4403&amp;amp;resid=79DF712DA7EC4403%211926&amp;amp;authkey=APT-F3bAJwBYPks&quot; width=&quot;98&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;The form uses standard tab control from WPF with a custom template.&lt;/p&gt;

&lt;p&gt;Also you can use it as an example of event handling.&lt;/p&gt;

&lt;p&gt;The code has a problem which I can not resolve now: if you press a middle or right mouse button on a tab, vontr scrolls to the start - so you can accidentially close wrong tab. Now the workaround provided: if such event occured, event handler uses selected tab instead of tab under click&lt;/p&gt;

&lt;/div&gt;</description><link>http://axcoder.blogspot.com/2012/02/devtoolbar-tabax-for-ax2012.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-6238108720862006069</guid><pubDate>Tue, 04 Oct 2011 13:09:00 +0000</pubDate><atom:updated>2011-10-04T06:09:54.646-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">other resources</category><category domain="http://www.blogger.com/atom/ns#">podcasts</category><category domain="http://www.blogger.com/atom/ns#">X++</category><title>X++ on dotnetrocks.com podcast</title><description>&lt;a href=&quot;http://www.dotnetrocks.com/default.aspx?ShowNum=703&quot;&gt;Greg Philpott Develops in X++&lt;/a&gt;</description><link>http://axcoder.blogspot.com/2011/10/x-on-dotnetrockscom-podcast.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-424460505261740047</guid><pubDate>Tue, 12 Jul 2011 18:13:00 +0000</pubDate><atom:updated>2011-07-12T19:14:01.246-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">axapta extensions</category><category domain="http://www.blogger.com/atom/ns#">DGML</category><category domain="http://www.blogger.com/atom/ns#">MSAGL</category><category domain="http://www.blogger.com/atom/ns#">XRef</category><title>XRef–&amp;gt; DGML</title><description>&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRh_KKzEXBWFcC7J_adpxDp6-nSahzQJtrv_ry0BhHW3kCM7Vw4vYQRHJguGwUzfq7o2798qQaHEWIj02HW6oKMt90nvK18rLCfXdPsWP76iO_nBb0dwQhuXHlx9rrIu7ipdaXiQ/s1600-h/image%25255B9%25255D.png&quot;&gt;&lt;img style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSySwM4PYX9_HHfKKYW_RAgO4arXjFm7cITSoovjNrTSvgUec79I6x85kkOlXRcyLVnsYovnWpsr6Mj_OVyW7iC51KeVXtcYnHpapP3PsXL2UZjxG-rMWPSl4GiNtY8hWG87LVQ/?imgmax=800&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just updated my old sample to produce DGML in addition to .DOT, so now you can view cross-references in VS2010 interactively (filter, rearrange so on). For example picture above shows relations of LedgerVoucherObject.check&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Download the job from SkyDrive:&lt;br /&gt;&lt;br /&gt;&lt;iframe title =&quot;Preview&quot; scrolling=&quot;no&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; frameborder=&quot;0&quot; style=&quot;width:98px;height:115px;padding:0;background-color:#fcfcfc;&quot; src=&quot;https://skydrive.live.com/embedicon.aspx/.Public/Blog/Job^_TEST^_ExportClassXRefToDGML.zip?cid=79df712da7ec4403&amp;sc=documents&quot;&gt;&lt;/iframe&gt;</description><link>http://axcoder.blogspot.com/2011/07/xref-dgml.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSySwM4PYX9_HHfKKYW_RAgO4arXjFm7cITSoovjNrTSvgUec79I6x85kkOlXRcyLVnsYovnWpsr6Mj_OVyW7iC51KeVXtcYnHpapP3PsXL2UZjxG-rMWPSl4GiNtY8hWG87LVQ/s72-c?imgmax=800" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-2807184264677852201</guid><pubDate>Thu, 30 Jun 2011 17:28:00 +0000</pubDate><atom:updated>2011-06-30T11:26:09.971-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2012</category><title>Tabax successor as an illustration of new dev features of Ax 2012</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCPmYGX-wgfeIactJRSSHO5PMJVkvtOkpBI3uA0ZHgeus9uHz-IVMsD1PZ7RGw16NAzF_Nx4PEQSRGfTTNTP-iuBr5nwajUIxzUOUgkTQUrQgNrvr2knMF8PXfp9vEI7w0yILOzg/s1600/dev_toolbar.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 36px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCPmYGX-wgfeIactJRSSHO5PMJVkvtOkpBI3uA0ZHgeus9uHz-IVMsD1PZ7RGw16NAzF_Nx4PEQSRGfTTNTP-iuBr5nwajUIxzUOUgkTQUrQgNrvr2knMF8PXfp9vEI7w0yILOzg/s400/dev_toolbar.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5624067027951404786&quot; /&gt;&lt;/a&gt;&lt;br /&gt;For some reason I&#39;ve recreated some subset of tabax in Ax2012. I think it can be an illustration of some &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/gg845327(v=AX.60).aspx&quot;&gt;new Ax2012 features&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I have no time for debugging learn winapi in deep I decided to use .NET framework as much as possible.&lt;br /&gt;&lt;br /&gt;The most magic part of tabax for me is the code that creates and manages tab control to add images and change size of tabs. That code was written by AndyD from AxForum.&lt;br /&gt;&lt;br /&gt;but...&lt;br /&gt;&lt;br /&gt;now we have a &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/gg848092(v=AX.60).aspx#BKMKControls&quot;&gt;managed host control&lt;/a&gt; and can just use any .NET control we want. I decided to use tab control from WPF.&lt;br /&gt;&lt;br /&gt;I took &lt;a href=&quot;http://www.microsoft.com/expression/products/blend_overview.aspx&quot;&gt;Expression Blend&lt;/a&gt; and created my own template for control and implemented several templates for tabs (for example, in the screenshot above you can see blue gradient on editor tabs and darker blue gradient on selected tab related to X++ editor).&lt;br /&gt;&lt;br /&gt;After that I copied template as avery big string to X++ method and just loaded it in ManagedHost control.&lt;br /&gt;&lt;br /&gt;Since Ax 2012 supports &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/gg843765(v=AX.60).aspx#BKMKeventxpp&quot;&gt;events&lt;/a&gt; and they are seamlessly integrated with .NET there was no problems with reacting to user actions.&lt;br /&gt;&lt;br /&gt;In addition I&#39;ve found an example of drag-and-drop for tabs and translated it to X++ - now I can reorder tab pages by dragging them.&lt;br /&gt;&lt;br /&gt;As a result I have just one form that uses only plain vannila .NET framework (no custom DLLs) all logic is implemented in X++, visual design is stored in 1 big string literal inside X++ form</description><link>http://axcoder.blogspot.com/2011/06/tabax-successor-as-illustration-of-new.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCPmYGX-wgfeIactJRSSHO5PMJVkvtOkpBI3uA0ZHgeus9uHz-IVMsD1PZ7RGw16NAzF_Nx4PEQSRGfTTNTP-iuBr5nwajUIxzUOUgkTQUrQgNrvr2knMF8PXfp9vEI7w0yILOzg/s72-c/dev_toolbar.png" height="72" width="72"/><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-3877712896597760153</guid><pubDate>Mon, 01 Nov 2010 19:30:00 +0000</pubDate><atom:updated>2010-11-01T12:37:07.067-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FSharp</category><category domain="http://www.blogger.com/atom/ns#">NonAxaptic</category><category domain="http://www.blogger.com/atom/ns#">Thoughts</category><title>the future of F#</title><description>&lt;a href=&quot;http://player.microsoftpdc.com/Session/04092962-4ed1-42c6-be07-203d42115274&quot;&gt;The very interesting&lt;/a&gt; session from PDC10 related to the future of F# - Microsoft functional-object-imperative variance of OCAML.&lt;br /&gt;&lt;br /&gt;They are extending application with &quot;type providers&quot;, which allow to extend static type system of F# with dynamically generated types withoun explicit code generation - by implementation of a very simple interface.&lt;br /&gt;&lt;br /&gt;I think it can be useful techique to implement business platforms such as LightSwitch (when it come to C#) - LightSwitch authors can just implement type provider for entities and do not generate very much intermediate code.&lt;br /&gt;&lt;br /&gt;PS. I think there is aplso enteresting how easy Don manipulates various data in F# interactive</description><link>http://axcoder.blogspot.com/2010/11/future-of-f.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-43406431335562185</guid><pubDate>Fri, 29 Oct 2010 16:28:00 +0000</pubDate><atom:updated>2012-08-26T05:21:06.812-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">axapta extensions</category><category domain="http://www.blogger.com/atom/ns#">axpath</category><category domain="http://www.blogger.com/atom/ns#">C#</category><category domain="http://www.blogger.com/atom/ns#">Named pipe</category><category domain="http://www.blogger.com/atom/ns#">SysStartupCmd</category><title>How to open a form in  a running Ax  client from  an external application</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Some times ago someone asks me if it possible to open form in running Dynamics Ax application with external code. He don’t want to use &lt;a href=&quot;http://www.axaptapedia.com/AxPath&quot;&gt;AxPath&lt;/a&gt; for some reason. &lt;br /&gt;
I recalled there is a similar thing in Ax (since version 4.0) – when you receive an event alert message you can click an a link and go to the corresponding alert.&lt;br /&gt;
The idea was to reuse alert handling code as much as possible. And I achieved that without changing Ax code at all.&lt;br /&gt;
How alert links work?&lt;br /&gt;
1. &lt;strong&gt;When you start Ax32.exe&lt;/strong&gt;, it runs the EventDrillDownPoller class, that creates a &lt;a href=&quot;http://en.wikipedia.org/wiki/Named_pipe#Named_pipes_in_Windows&quot;&gt;named pipe&lt;/a&gt; with name like “Dynamics\Event\0S-1-5-5-0-686394” (you can use pipelist utility from the &lt;a href=&quot;http://technet.microsoft.com/en-us/sysinternals/default.aspx&quot;&gt;SysInternals suite&lt;/a&gt; to obtain exact name of your named pipe) where&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Dynamics\Event\ – is a constant prefix &lt;/li&gt;
&lt;li&gt;0 – is a value from the “Drill Down target” field in the “Basic\Setup\Alert\Alert parameters” form &lt;/li&gt;
&lt;li&gt;S-1-5-5-0-686394 – is a user system session ID &lt;/li&gt;
&lt;/ul&gt;
and then time is being initialized, handler of the timer polls named pipe and executes SysStartupCmd descendant when message received. &lt;br /&gt;
You can look at \Classes\EventDrillDownPoller\scheduledPoll code to see the details.&lt;br /&gt;
2. &lt;strong&gt;When you click on the link&lt;/strong&gt; in e-mail, axhlink.exe protocol handler is executed, it parses url and connects the named pipe obtaining it’s name using “Drill down target” from url and current session id. Then it writes a command to the named pipe.&lt;br /&gt;
3. &lt;strong&gt;When timeout handler &lt;/strong&gt;(which was subscribed to the times in 1.) detects there is a new message in the pipe, it just runs a SysStartupCmd and then recreates a named pipe (see \Classes\EventDrillDownPoller\scheduledPoll – unfortunately it uses the current company to detect a drill down target, so if you have different values of the field in different companies ad user changes the current company, you can see it recreating a named pipe with a different name – it can cause mistakes)&lt;br /&gt;
So the task is pretty simple &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Create an &lt;a href=&quot;http://palleagermark.blogspot.com/2008/05/using-autorun-parameter-to-open-form-in.html&quot;&gt;autorun startup command&lt;/a&gt; configuration file &lt;/li&gt;
&lt;li&gt;Connect to the named pipe using session id and provided drill down target &lt;/li&gt;
&lt;li&gt;Write a zero terminated Unicode string with a startup command to the pipe &lt;/li&gt;
&lt;/ul&gt;
You can download code example &lt;a href=&quot;https://t57xbg.sn2.df.livefilestore.com/y1pFc9Yv2GlO6EPU35VM2-ZhFdViB_wEBVrtnO6QTEyqqJx8IAkf06GapDdkRZ-qqQT15Zo51Z_EIU4sH0WLVZiig/RunStartupCmd.zip?download&amp;amp;psid=1&quot;&gt;here&lt;/a&gt; &lt;br /&gt;
&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://cid-79df712da7ec4403.skydrive.live.com/embedicon.aspx/.Public/Blog/RunStartupCmd.zip&quot; style=&quot;background-color: #fcfcfc; height: 115px; padding: 0px; width: 98px;&quot; title=&quot;Preview&quot;&gt;&lt;/iframe&gt;  &lt;br /&gt;
Contents:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;C# sources of sending a message&amp;nbsp; (command line utility that takes startup command and drop target ID)&lt;/li&gt;
&lt;li&gt;XML file example &lt;/li&gt;
&lt;li&gt;XPO with modification for autorun startup command code, adding a parameter to navigate to a specific record (that was additional requirement – it takes table and recID attributes) &lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</description><link>http://axcoder.blogspot.com/2010/10/how-to-open-form-in-running-ax-from.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-5339744873510751365</guid><pubDate>Tue, 24 Aug 2010 13:40:00 +0000</pubDate><atom:updated>2010-08-25T13:49:49.943-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">NonAxaptic</category><title>Seattle</title><description>If you live in Seattle or know that area well, could you, please mail me &lt;a href=&quot;mailto:mbelugin@live.ru?Subject=Seattle&quot;&gt;mbelugin@live.ru&lt;/a&gt;</description><link>http://axcoder.blogspot.com/2010/08/seattle.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-7293170324446212944</guid><pubDate>Sat, 05 Jun 2010 12:08:00 +0000</pubDate><atom:updated>2010-06-05T05:08:41.355-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Data flow diagrams</category><title>Data/Control flow</title><description>&lt;p&gt;I draw Data-Control flow diagrams for better understanding of some process in code. It looks something like that:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://fkd5qq.bay.livefilestore.com/y1pxfptfTwH1Bb-AX8D_MAOJB_wRxWtOuVVtnzAHON-9K-Qg2y9FtUd9zP9F5CMBcBClehRTSNQkxpRU8tfKzI19MbqKuk1PcUR/png_1.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px&quot; class=&quot;wlDisabledImage&quot; title=&quot;dcfd&quot; border=&quot;0&quot; alt=&quot;dcfd&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGi2Q9EfRvRqEb3Ip-flt-z52iGsjAqmi1Xb1yAFAft3d37tw8urESpC32EpzzgHM5fthT6egFgjJYSzyQvA0ARdQ0NWDeQ9i6Gj6fqociL9rMdK8DFRDi13q3Q3-W1yAg-Wgoew/?imgmax=800&quot; width=&quot;244&quot; height=&quot;140&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Legend:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;---&amp;gt; – control flow &lt;/li&gt;    &lt;li&gt;==&amp;gt; data flow &lt;/li&gt;    &lt;li&gt;Ellipsis – method &lt;/li&gt;    &lt;li&gt;Rectangle – data storage &lt;/li&gt;    &lt;li&gt;Rectangle with rounded corners – class &lt;/li&gt;    &lt;li&gt;If ellipsis is located on the border of a class – it is a public method &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Such diagrams help me later to understand place of some piece of code in some process in system.&lt;/p&gt;  &lt;p&gt;It is critical not to draw unnecessary details on a diagram and stay focused on the current task, in other case a diagram will be unreadable. For example diagram in this post is near the edge of readability – lots of intersections are signs of it.&lt;/p&gt;  </description><link>http://axcoder.blogspot.com/2010/06/datacontrol-flow.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGi2Q9EfRvRqEb3Ip-flt-z52iGsjAqmi1Xb1yAFAft3d37tw8urESpC32EpzzgHM5fthT6egFgjJYSzyQvA0ARdQ0NWDeQ9i6Gj6fqociL9rMdK8DFRDi13q3Q3-W1yAg-Wgoew/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-2574025164190394361</guid><pubDate>Mon, 05 Apr 2010 08:13:00 +0000</pubDate><atom:updated>2010-04-05T02:03:48.850-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2009</category><category domain="http://www.blogger.com/atom/ns#">other resources</category><category domain="http://www.blogger.com/atom/ns#">SSRS</category><category domain="http://www.blogger.com/atom/ns#">Video</category><title>Interesting videos on Vimeo tagged Dynamics Ax</title><description>see &lt;a href=&quot;http://www.vimeo.com/tag:dynamicsax&quot;&gt;http://www.vimeo.com/tag:dynamicsax&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of them by Saveen Reddy, MS PM, related to SSRS</description><link>http://axcoder.blogspot.com/2010/04/interesting-videos-on-vimeo-tagged.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-2391523367057775751</guid><pubDate>Tue, 23 Feb 2010 15:29:00 +0000</pubDate><atom:updated>2010-02-23T07:39:31.906-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">book</category><title>Book review: “Microsoft Dynamics AX 2009 Programming:  Getting Started”</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.packtpub.com/microsoft-dynamics-ax-2009-programming/book?utm_source=axcoder.blogspot.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_002026&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 123px;&quot; src=&quot;https://www.packtpub.com/images/100x123/1847197302.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span xmlns=&#39;&#39;&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;See the book description on the publisher&#39;s site: &lt;a href=&#39;http://www.packtpub.com/microsoft-dynamics-ax-2009-programming/book?utm_source=axcoder.blogspot.com&amp;utm_medium=bookrev&amp;utm_content=blog&amp;utm_campaign=mdb_002026&#39;&gt;&quot;Microsoft Dynamics AX 2009 Programming:  Getting Started&quot;&lt;/a&gt;&lt;br /&gt;   &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqlCEWGyRpERZ4eQrOUyDYd0ievoURDh96mhyphenhyphenoOHPgbrtdrpC97iEy18ByUeA2zhWZgdID6xFiu8R7DjSkp5w3sZV7WIBICjtIN5FYg6FhhiLm74WWhyphenhyphen2ijPAyd7H1DhShc8AnAQ/s1600-h/sl10.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 170px; height: 244px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqlCEWGyRpERZ4eQrOUyDYd0ievoURDh96mhyphenhyphenoOHPgbrtdrpC97iEy18ByUeA2zhWZgdID6xFiu8R7DjSkp5w3sZV7WIBICjtIN5FYg6FhhiLm74WWhyphenhyphen2ijPAyd7H1DhShc8AnAQ/s400/sl10.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5441462130595704082&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I&#39;ve received the book, I first thought about beginning of my experience with Ax: in 2003 I worked with BAAN and planned to become a developer for Ax 3. I have decompiled developer&#39;s guide and best practice chm, downloaded it to my Sony SL10 and read it for month or two in the Moscow subway during daily commute. I can recall some difficulties I&#39;ve met and I expect from every book for beginners to go beyond Dev Guide and BP describing these particular areas. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I think the main two topics to learn for every Ax developer are:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dynamics Ax development platform&lt;br /&gt;&lt;/li&gt;&lt;li&gt;X++ code that implements business logic&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Historically, platform was the more clear area docs, but has some dark corners, but business logic was less documented and the knowledge transferred mostly from the code itself, more experienced colleagues, and online communities.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So I tried to search for following topics:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Links to external information sources such as MSDN, Partner Source, internet communities&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Data access (Ax have a very specific SQL implementation)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Forms layout&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Business logic patterns&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tools and techniques to extract information from X++ code&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;BTW one of the book reviewers, &lt;a href=&#39;http://www.harishm.com/&#39;&gt;Harish Mohanbabu&lt;/a&gt;, is known by his blog and free Ax tools.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;First, the book contains &lt;strong&gt;list of online resources&lt;/strong&gt; links related to Ax, such as blogs, axaptapedia, official sites, so on.  The only thing I wish to add it to explain what partner source and what customer source are, and how to get access – it is very frequent question from newbies. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Database manipulation &lt;/strong&gt;is described in several chapters, the description is easy to understand, full of example screenshots and can be useful for new developers, but I missed description of union joins (which is new to Ax2009 and I haven&#39;t seen much usage in the existing X++ code)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Forms-related information&lt;/strong&gt; is shown mostly by example; you should refer to developer&#39;s guide for more detail. I think, it should be better to provide more information on different form layout templates, and some existing form patterns. Anyway, I think, a novice programmer can learn basic form structure prom the chapter and can use some more advanced techniques such as splitters and edit methods.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTji4zS6ueNbZYxtw95kIJqM6S70Pa4Qdb28LrPc5GBUZ4IL1o7jkEDC1Vke8sXn3ZnbS5CjWlZd3r8_HbX0lCHNQGtdCpe00OkcLz1DQvbQkyAgB5RafP49e9uEz2dYh_j-8qjA/s1600-h/er.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 176px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTji4zS6ueNbZYxtw95kIJqM6S70Pa4Qdb28LrPc5GBUZ4IL1o7jkEDC1Vke8sXn3ZnbS5CjWlZd3r8_HbX0lCHNQGtdCpe00OkcLz1DQvbQkyAgB5RafP49e9uEz2dYh_j-8qjA/s200/er.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5441462648112786786&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are some chapters related to &lt;strong&gt;most frequently used business modules&lt;/strong&gt;, such as inventory, ledger and  accounts receivable/payable, each starting with small entity-relationship diagram of basic tables with examples of using Ledger posting framework, adding new dimension, etc.. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;The topic about tools contains example of usage of cross reference with screenshots, but profiler and trace parser have not been mentioned. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;So these were topics that I was interested in due to I remember I had problems with, when I started to learn Ax.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In addition there is lots of information related to:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Other platform areas (such as X++ basics, AOT nodes, architecture, File export and import), which have not caused learning problems for me but maybe can cause to other novice developers.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Parts of platform I have not used (Application Integration Framework , Enterprise Portal, Webservices) - so I cannot say anything about them&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The book contains an example of car rental module (with full sources in xpo&#39;s). Chapters of the book describe corresponding pieces of example code and I think it&#39;s a good manner to write books for developer.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I definitely recommend the book for novice developers as a good addition to manuals that go with the product and msdn. &lt;br/&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://axcoder.blogspot.com/2010/02/book-review-microsoft-dynamics-ax-2009.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqlCEWGyRpERZ4eQrOUyDYd0ievoURDh96mhyphenhyphenoOHPgbrtdrpC97iEy18ByUeA2zhWZgdID6xFiu8R7DjSkp5w3sZV7WIBICjtIN5FYg6FhhiLm74WWhyphenhyphen2ijPAyd7H1DhShc8AnAQ/s72-c/sl10.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-8148989144118835037</guid><pubDate>Mon, 28 Sep 2009 10:30:00 +0000</pubDate><atom:updated>2009-09-28T03:36:23.249-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2009</category><category domain="http://www.blogger.com/atom/ns#">Ax3</category><category domain="http://www.blogger.com/atom/ns#">Ax4</category><category domain="http://www.blogger.com/atom/ns#">fedotenko.info</category><category domain="http://www.blogger.com/atom/ns#">other resources</category><title>fedotenko.info</title><description>This is &lt;a href=&quot;http://fedotenko.info&quot;&gt;a blog&lt;/a&gt; of Dennis Fedotenko - a well known proffessional in Ax functionality and development. He writes rare, but usually his articles can be a key for understanding principles behind ax functionality.&lt;br /&gt;&lt;br /&gt;Dennis has a great reputation in Russian Ax community, and now he translated some of his articles to English.</description><link>http://axcoder.blogspot.com/2009/09/fedotenkoinfo.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-5620973461540947715</guid><pubDate>Wed, 23 Sep 2009 05:47:00 +0000</pubDate><atom:updated>2009-09-22T22:50:35.501-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">NonAxaptic</category><title>San Diego</title><description>If you live in San Diego or know that area well, please contact me &lt;a href=&quot;mailto:mbelugin@gmail.com?Subject=San%20Diego&quot;&gt;mbelugin@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Это тоже не стоит транслировать на акфорум :)&lt;/i&gt;</description><link>http://axcoder.blogspot.com/2009/09/san-diego.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-8224316563902154752</guid><pubDate>Thu, 30 Jul 2009 16:41:00 +0000</pubDate><atom:updated>2009-07-30T10:00:17.614-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ax2009</category><category domain="http://www.blogger.com/atom/ns#">book</category><category domain="http://www.blogger.com/atom/ns#">review</category><title>Mental framework</title><description>&lt;p&gt;&lt;font size=&quot;1&quot;&gt;Review of the book &lt;/font&gt;&lt;a href=&quot;http://www.amazon.com/Managing-Supply-Chain-Microsoft-Dynamics/dp/0979255228&quot;&gt;&lt;font size=&quot;1&quot;&gt;“Managing your supply chain using Microsoft dynamics ax 2009”&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After about 5 years of Ax development I’ve recognized that the model of Dynamics Ax functionality which I have in my brain is like &lt;a href=&quot;http://photosynth.net&quot;&gt;photosynth&lt;/a&gt; – some areas, I worked with, covered by consistent pictures, but others are represented by random shots without high level overview. &lt;/p&gt;  &lt;p&gt;The majority of existing materials about Ax – like trainings, documentation, so on, use “hands on” approach – little introduction and very detailed description using screenshots, particular sequences of steps in term of buttons, etc.&lt;/p&gt;  &lt;p&gt;So I feel that there is a gap between short intros of documentation and very detailed contents (for example Russian docs contains of 2 volumes &amp;gt;1000 pages each).&lt;/p&gt;  &lt;p&gt;That’s why I was very interested when Dr. Scott Hamilton sent me kindly the book, which was written to give “mental framework for putting together the details” learned from various sources . So below are my impressions.&lt;/p&gt;  &lt;p&gt;The book contains 426 pages, and most of them are text description of Ax functionality: no screenshots, no concrete steps – just text, tables and business process flowcharts. Thus, the information density is quite high.&lt;/p&gt;  &lt;p&gt;The book consists of 15 chapters, each dedicated for some functional area. All chapters are in scope of SCM (you can see TOC at Amazon). Each chapter contain description of a functional area, case studies and executive summary. &lt;/p&gt;  &lt;p&gt;New features of Ax2009 (such as sites and purchase requisition) are reflected. &lt;/p&gt;  &lt;h4&gt;What I like about the book &lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;The book met my expectations about abstraction level it have no redundant details, which can be obtained from products docs and training, and contains enough for making mental model of SCM modules. &lt;/li&gt;    &lt;li&gt;There are lots of tables showing how ax behavior depends on parameter combinations – it helps to understand the space of different implementation scenarios.      &lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGupdvERehgDxQ5mgCcnTBfu4XHQv0VfEzl4HqtiBBOot6-BhgClgzmuHF6MeCtac7o1ASnTZHuC7tcz2Ohyk-BDByh6GISpZTWmblYj45x19wwDMCV90_Z36iTyYP9UD8kUknKw/s1600-h/table-example%5B9%5D.png&quot;&gt;&lt;img style=&quot;border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto&quot; title=&quot;table example&quot; border=&quot;0&quot; alt=&quot;table example&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUTlIM7GJzRJ45DIJOKxkF_fBhcCVENMogkDEwXY2w2L80V-rFozItWFOsmiAe4hNsyFGyNkV3N7ty5tKYbJhKPmmG_m7XdjeqAtNOllwKmagfA6SPT6V2H6Su5PJ82xf9u0mFRw/?imgmax=800&quot; width=&quot;244&quot; height=&quot;195&quot; /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;As I mentioned before the most important features of ax2009 are described &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;What can be done better&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Some case studies are very brief – I’d prefer to include more detailed business scenarios and more implementation details. (But maybe I should read some book about common business practice instead – could you recommend me such a book?) &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Overall impression&lt;/h4&gt;  &lt;p&gt;I’d buy the book if I haven’t one. I recommend it for everybody who want to have a consistent view of Ax SCM functionality.&lt;/p&gt;  &lt;p&gt;PS. there is also a new book by Dr. Hamilton - &lt;a href=&quot;http://www.amazon.com/gp/product/097925521x&quot;&gt;Managing Lean Manufacturing using Microsoft Dynamics AX 2009&lt;/a&gt;&lt;/p&gt;</description><link>http://axcoder.blogspot.com/2009/07/mental-framework.html</link><author>noreply@blogger.com (Max Belugin)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUTlIM7GJzRJ45DIJOKxkF_fBhcCVENMogkDEwXY2w2L80V-rFozItWFOsmiAe4hNsyFGyNkV3N7ty5tKYbJhKPmmG_m7XdjeqAtNOllwKmagfA6SPT6V2H6Su5PJ82xf9u0mFRw/s72-c?imgmax=800" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-23088660.post-9181776513107397380</guid><pubDate>Sat, 30 May 2009 14:09:00 +0000</pubDate><atom:updated>2009-05-30T07:09:34.176-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AxForum</category><category domain="http://www.blogger.com/atom/ns#">other resources</category><title>AxForm.info for English-speakers</title><description>&lt;p&gt;&lt;a href=&quot;http://AxForum.info&quot;&gt;AxForum.info&lt;/a&gt; is the one of the largest Russian communities related to Dynamics systems.&lt;/p&gt;  &lt;p&gt;Though it has a section in English there are lots of info in Russian there. Some of English speakers read the forum via online translators. &lt;/p&gt;  &lt;p&gt;If you have and idea how to make AxForum.info more suitable for English-speaking people, please post to that &lt;a href=&quot;http://axforum.info/forums/showthread.php?p=199079&quot;&gt;thread&lt;/a&gt;&lt;/p&gt;  </description><link>http://axcoder.blogspot.com/2009/05/axforminfo-for-english-speakers.html</link><author>noreply@blogger.com (Max Belugin)</author><thr:total>0</thr:total></item></channel></rss>