<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='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'><id>tag:blogger.com,1999:blog-8311288103770256870</id><updated>2024-10-24T11:16:29.219-07:00</updated><category term="Microsoft Dynamics AX"/><category term="Admin"/><category term="AdminUserGroup"/><category term="SQL table error"/><category term="UserInfoHelp"/><category term="curUser"/><category term="field name"/><category term="isAdmin"/><category term="select"/><title type='text'>JaySalt on AX Development</title><subtitle type='html'>my rantings about AX3 and AX5. &#xa;&#xa;Please note: any code snippets or samples found in this blog are on an &quot;as-is&quot; basis. i do not claim to be an AX expert. just another goyim trying to make his way home. i have no professional affiliations with Microsoft. my views do not represent that of any company i may be working for currently. i will not be held liable for any damages resulting from code used from this blog. &#xa;&#xa;other than that, have a nice day!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>49</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-1224467198123363811</id><published>2012-03-21T17:48:00.002-07:00</published><updated>2012-03-21T17:48:50.975-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Admin"/><category scheme="http://www.blogger.com/atom/ns#" term="AdminUserGroup"/><category scheme="http://www.blogger.com/atom/ns#" term="curUser"/><category scheme="http://www.blogger.com/atom/ns#" term="isAdmin"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Dynamics AX"/><category scheme="http://www.blogger.com/atom/ns#" term="UserInfoHelp"/><title type='text'>Admin Group Restriction</title><content type='html'>here is an easier way to determine if the current user is an Admin user&lt;br /&gt;
&lt;br /&gt;
public void init()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #Admin&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean isAdmin;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isAdmin = UserInfoHelp::userInUserGroup(curUserId(),#AdminUserGroup);&lt;br /&gt;
&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/1224467198123363811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2012/03/admin-group-restriction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1224467198123363811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1224467198123363811'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2012/03/admin-group-restriction.html' title='Admin Group Restriction'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-6607655012236038060</id><published>2012-03-21T16:07:00.001-07:00</published><updated>2012-03-21T16:07:42.852-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="field name"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Dynamics AX"/><category scheme="http://www.blogger.com/atom/ns#" term="select"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL table error"/><title type='text'>A field called Select</title><content type='html'>When creating a table in Dynamics AX, DO NOT use &quot;Select&quot; as a field name. AX will allow you to create a field named &quot;SELECT&quot;. it may even allow you to browse it, but sooner or later you will get a SQL error</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/6607655012236038060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2012/03/field-called-select.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6607655012236038060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6607655012236038060'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2012/03/field-called-select.html' title='A field called Select'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-6242490260185853860</id><published>2011-08-11T22:11:00.001-07:00</published><updated>2011-08-11T22:11:47.684-07:00</updated><title type='text'>Check if record has been changed</title><content type='html'>there are times when you want to check if a table has been touched&lt;br&gt;before you do a process such as a refresh. here is code that can be&lt;br&gt;placed in a table to check whether any data in the record set has been&lt;br&gt;changed&lt;p&gt;&lt;br&gt;boolean hasChanged()&lt;br&gt;{&lt;br&gt;    SysDictTable        sysDictTable;&lt;br&gt;    int                 f;&lt;br&gt;    fieldId             fieldId;&lt;br&gt;    ;&lt;p&gt;    sysDictTable = new SysDictTable(this.TableId);&lt;p&gt;    for (f = 1; f &amp;lt;= sysDictTable.fieldCnt(); f++)&lt;br&gt;    {&lt;br&gt;        fieldId = sysDictTable.fieldCnt2Id(f);&lt;p&gt;        if (this.orig().(fieldId) != this.(fieldId))&lt;br&gt;            return true;&lt;br&gt;    }&lt;br&gt;    return false;&lt;br&gt;}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/6242490260185853860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/08/check-if-record-has-been-changed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6242490260185853860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6242490260185853860'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/08/check-if-record-has-been-changed.html' title='Check if record has been changed'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-509620972830158531</id><published>2011-07-25T01:33:00.001-07:00</published><updated>2011-07-25T01:33:48.352-07:00</updated><title type='text'>Basics of setting up AX2009 security keys</title><content type='html'>Set up alerts&lt;br&gt;a.	Go to Basic &amp;gt; Number Sequence &amp;gt; Reference &amp;gt; System ID&lt;br&gt;i.	Ensure that the Basic_01 number sequence exists. If not, create.&lt;br&gt;b.	Set up Basic &amp;gt; Setup &amp;gt; Email Templates&lt;br&gt;c.	Basic &amp;gt; Setup &amp;gt;  Alerts &amp;gt; Set up email ID&lt;br&gt;d.	Administration &amp;gt; Batch Groups&lt;br&gt;i.	Create &amp;quot;Alerts&amp;quot; Batch Group&lt;br&gt;e.	Administration &amp;gt; Setup &amp;gt; Server Configuration&lt;br&gt;i.	Tick Is Batch Server&lt;br&gt;ii.	On Batch server groups tab, select &amp;quot;Alerts&amp;quot;&lt;br&gt;f.	Basic &amp;gt; Setup &amp;gt;  Alerts &amp;gt; Manage alert rules&lt;br&gt;g.	Basic &amp;gt; Setup &amp;gt; Alerts &amp;gt; Periodic &amp;gt; Alerts &amp;gt; Change based alerts&lt;br&gt;i.	Add to &amp;quot;Alerts&amp;quot; batch group and send to batch&lt;br&gt;h.	Basic &amp;gt; Setup &amp;gt; Alerts &amp;gt; Periodic &amp;gt; Alerts &amp;gt; Due date alerts&lt;br&gt;i.	Add to &amp;quot;Alerts&amp;quot; batch group and send to batch&lt;br&gt;i.	Administration &amp;gt; Common forms &amp;gt; Users &amp;gt; User options&lt;br&gt;i.	Set up email&lt;br&gt;ii.	On Notifications tab, set up parameters&lt;br&gt;iii.	On Status Bar tab ensure the &amp;quot;Show alert status&amp;quot; is ticked&lt;br&gt;j.	Set up security keys&lt;br&gt;i.	&lt;a href=&quot;http://technet.microsoft.com/en-us/library/aa834418(AX.50).aspx&quot;&gt;http://technet.microsoft.com/en-us/library/aa834418(AX.50).aspx&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/509620972830158531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/07/basics-of-setting-up-ax2009-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/509620972830158531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/509620972830158531'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/07/basics-of-setting-up-ax2009-security.html' title='Basics of setting up AX2009 security keys'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-6697956575195586659</id><published>2011-07-10T23:15:00.001-07:00</published><updated>2011-07-10T23:15:23.233-07:00</updated><title type='text'>Manually upgrade Date and Time fields</title><content type='html'>after an AX2009 upgrade, if you happen to forget to upgrade a Date and&lt;br&gt;Time field combination on a table to the new DateTime field, use this&lt;br&gt;simple job.&lt;p&gt;in the case below, SysDatabaseLog&amp;#39;s CreatedTime did not seem to be&lt;br&gt;upgraded to be incorporated into the new CreatedDateTime field.&lt;p&gt;=======&lt;p&gt;static void AX2009Upgrade_ManuallyUpgradeDateTime(Args _args)&lt;br&gt;{&lt;br&gt;    DEL_SysUpgradeTimeZone listOfColumnsToBeUpgraded;&lt;br&gt;    ReleaseUpdateDB_TimezoneUpgrade timezoneUpgradeClass;&lt;br&gt;    ;&lt;p&gt;    ReleaseUpdateDB41_Basic::upgradeToDateTime&lt;br&gt;                                            (&lt;br&gt;                                                tablenum(SysDatabaseLog),&lt;p&gt;fieldnum(SysDatabaseLog, CreatedDateTime),&lt;p&gt;fieldnum(SysDatabaseLog, CreatedDateTime),&lt;p&gt;fieldnum(SysDatabaseLog, DEL_CreatedTime)&lt;br&gt;                                            );&lt;p&gt;    while&lt;br&gt;    select&lt;br&gt;        listOfColumnsToBeUpgraded&lt;br&gt;    order by&lt;br&gt;        listOfColumnsToBeUpgraded.RefTableId&lt;br&gt;    where&lt;br&gt;        listOfColumnsToBeUpgraded.Status == SysUpgradeTimeZoneStatusEnum::Ready&lt;br&gt;    {&lt;br&gt;        timezoneUpgradeClass =&lt;br&gt;ReleaseUpdateDB_TimezoneUpgrade::construct(&lt;br&gt;listOfColumnsToBeUpgraded.data() );&lt;br&gt;        timezoneUpgradeClass.run();&lt;br&gt;    }&lt;br&gt;    pause;&lt;br&gt;}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/6697956575195586659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/07/manually-upgrade-date-and-time-fields.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6697956575195586659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6697956575195586659'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/07/manually-upgrade-date-and-time-fields.html' title='Manually upgrade Date and Time fields'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-218546215551986719</id><published>2011-06-06T18:15:00.001-07:00</published><updated>2011-06-06T18:15:28.056-07:00</updated><title type='text'>How to recover database from MDF in SQL Server without an LDF</title><content type='html'>because there are times when you need to do something dodgy to save the day.&lt;p&gt;1. Detach database and move your mdf to save location.&lt;br&gt;2. Create new database of same name, same files, same file location&lt;br&gt;and same file size.&lt;br&gt;3. Stop SQL server.&lt;br&gt;4. Swap mdf file of just created DB to your save one.&lt;br&gt;5. Start SQL. DB will go suspect.&lt;br&gt;6. ALTER DATABASE yourdb SET EMERGENCY&lt;br&gt;7. ALTER DATABASE yourdb SET SINGLE_USER&lt;br&gt;8. DBCC CHECKDB (yourdb, REPAIR_ALLOW_DATA_LOSS)&lt;br&gt;9. ALTER DATABASE yourdb SET MULTI_USER&lt;br&gt;10. ALTER DATABASE yourdb SET ONLINE&lt;p&gt;source: &lt;a href=&quot;http://stackoverflow.com/questions/773059/how-to-recover-database-from-mdf-in-sql-server-2005&quot;&gt;http://stackoverflow.com/questions/773059/how-to-recover-database-from-mdf-in-sql-server-2005&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/218546215551986719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/06/how-to-recover-database-from-mdf-in-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/218546215551986719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/218546215551986719'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/06/how-to-recover-database-from-mdf-in-sql.html' title='How to recover database from MDF in SQL Server without an LDF'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-3871159227338529223</id><published>2011-03-21T15:54:00.000-07:00</published><updated>2011-03-21T15:55:14.765-07:00</updated><title type='text'>good tutorial on refresh, reread, research, executeQuery</title><content type='html'>thanks to VANYA KASHPERUK&lt;p&gt;&lt;a href=&quot;http://kashperuk.blogspot.com/2010/03/tutorial-reread-refresh-research.html&quot;&gt;http://kashperuk.blogspot.com/2010/03/tutorial-reread-refresh-research.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/3871159227338529223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/03/good-tutorial-on-refresh-reread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/3871159227338529223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/3871159227338529223'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/03/good-tutorial-on-refresh-reread.html' title='good tutorial on refresh, reread, research, executeQuery'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-8961542973732560929</id><published>2011-03-17T18:43:00.000-07:00</published><updated>2011-03-17T18:44:13.987-07:00</updated><title type='text'>Creating XML in the new AX</title><content type='html'>good info&lt;p&gt;&lt;a href=&quot;http://dynamics-ax-live.blogspot.com/2009/08/create-xml-file-in-ax.html&quot;&gt;http://dynamics-ax-live.blogspot.com/2009/08/create-xml-file-in-ax.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/8961542973732560929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/03/creating-xml-in-new-ax.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8961542973732560929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8961542973732560929'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/03/creating-xml-in-new-ax.html' title='Creating XML in the new AX'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-1881062415458781699</id><published>2011-02-13T23:02:00.001-08:00</published><updated>2011-02-13T23:02:53.655-08:00</updated><title type='text'>Wrong argument types for comparison</title><content type='html'>this is not the first time this piece of code has helped me to get rid&lt;br&gt;of a weird error:&lt;p&gt;ERROR:&lt;br&gt;Error executing code: Wrong argument types for comparison.&lt;p&gt;Stack trace:&lt;br&gt;(C) \Classes\QueryRun\next&lt;br&gt;(C) \Classes\FormDataSource\executeQuery&lt;br&gt;(C) \Forms\MyForm\Data Sources\MyFormDatasource\Methods\executeQuery - line 4&lt;br&gt;(C) \Classes\FormDataSource\linkActive&lt;br&gt;(C) \Forms\MyForm\Data Sources\MyFormDatasource\Methods\linkActive - line 3&lt;p&gt;&lt;br&gt;SOLUTION:&lt;br&gt;on the form init,&lt;p&gt;public void init()&lt;br&gt;{&lt;br&gt;    super();&lt;br&gt;    this.query().dataSourceNo(1).clearDynalinks();&lt;br&gt;}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/1881062415458781699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/02/wrong-argument-types-for-comparison.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1881062415458781699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1881062415458781699'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/02/wrong-argument-types-for-comparison.html' title='Wrong argument types for comparison'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-8490073038134966715</id><published>2011-02-09T17:24:00.001-08:00</published><updated>2011-02-09T17:27:23.645-08:00</updated><title type='text'>Counting how long a job takes</title><content type='html'>use this code to keep track of how long a piece of code takes to execute&lt;br /&gt;
&lt;br /&gt;
timeofday           starttime = timenow();&lt;br /&gt;
;&lt;br /&gt;
//your cool code here&lt;br /&gt;
&lt;br /&gt;
info(strfmt(&quot;Total time taken: %1&quot;, time2StrHMS(timenow() - starttime)));</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/8490073038134966715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/02/counting-how-long-job-takes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8490073038134966715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8490073038134966715'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2011/02/counting-how-long-job-takes.html' title='Counting how long a job takes'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-4602417425721857675</id><published>2010-12-06T22:02:00.001-08:00</published><updated>2010-12-06T22:02:28.562-08:00</updated><title type='text'>Enable/Disable table field on form by code</title><content type='html'>FormDataSource_ds.object(fieldNum(TableName,Field)).allowEdit(false);&lt;p&gt;or for arrays&lt;p&gt;FormDataSource_ds.object((new&lt;br&gt;SysdictField(tableNum(TableName),fieldNum(TableName,FieldName),1).id())).allowEdit(false);&lt;p&gt;where 1 is the number of the field in the array.&lt;p&gt;Yes, you can go to the table and set AllowEdit Yes/No&lt;br&gt;Yes, you can also go to the form and set the field to Enabled Yes/No&lt;br&gt;Yes, you can also go to the particular field control and set Enabled to Yes/No&lt;p&gt;so why would you use this method?&lt;p&gt;1. If multiple controls are using this field and you want to disable&lt;br&gt;all instances of the field, but you dont want to disable it on the&lt;br&gt;table level&lt;br&gt;2. If the field is part of an array EDT, like Dimension, and you just&lt;br&gt;want to disable one field, not the others</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/4602417425721857675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/12/enabledisable-table-field-on-form-by.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/4602417425721857675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/4602417425721857675'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/12/enabledisable-table-field-on-form-by.html' title='Enable/Disable table field on form by code'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-8953582962104859501</id><published>2010-11-22T21:34:00.001-08:00</published><updated>2010-11-22T21:34:47.686-08:00</updated><title type='text'>Dynamics AX Intelligent Data Management Framework</title><content type='html'>currently assessing whether the IDMF tool for Dynamics AX is worth&lt;br&gt;implementing at my current workplace.&lt;p&gt;if you don&amp;#39;t know what it is, go here (you&amp;#39;ll need your&lt;br&gt;partnersource/customersource login):&lt;br&gt;&lt;a href=&quot;https://mbs.microsoft.com/partnersource/downloads/releases/ax_idmf.htm?printpage=false&amp;amp;stext=Data&quot;&gt;https://mbs.microsoft.com/partnersource/downloads/releases/ax_idmf.htm?printpage=false&amp;amp;stext=Data&lt;/a&gt;&lt;br&gt;Management Framework&lt;p&gt;here is a document i created which may help out, if you happen to be&lt;br&gt;doing the same thing.&lt;p&gt;&lt;a href=&quot;http://cid-53c50a8f9ecf30c8.office.live.com/view.aspx/Public/Dynamics%20AX/Assessment%20of%20Data%20Management%20Framework.doc&quot;&gt;http://cid-53c50a8f9ecf30c8.office.live.com/view.aspx/Public/Dynamics%20AX/Assessment%20of%20Data%20Management%20Framework.doc&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/8953582962104859501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/11/dynamics-ax-intelligent-data-management.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8953582962104859501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8953582962104859501'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/11/dynamics-ax-intelligent-data-management.html' title='Dynamics AX Intelligent Data Management Framework'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-2271738455870499144</id><published>2010-11-18T17:24:00.000-08:00</published><updated>2010-11-18T17:25:00.161-08:00</updated><title type='text'>OnlyFetchActive on Form Datasource</title><content type='html'>this property on the datasource can speed things up especially if you&lt;br&gt;have one field that has lots of data stored in it and you still want&lt;br&gt;to show it on the form&lt;p&gt;if you need to show it on the form (on another tab preferably), you&lt;br&gt;can use a display method instead.&lt;p&gt;on the display method&lt;p&gt;display Memo memoDisplay(TableDS _tableDS)&lt;br&gt;{&lt;br&gt;    ;&lt;br&gt;    if (formTableDS.RecId != _tableDS.RecId)&lt;br&gt;    {&lt;br&gt;        select firstonly log from formTableDS where&lt;br&gt;            formTableDS.RecId == _tableDS.RecId;&lt;br&gt;    }&lt;br&gt;    return formTableDS.memo;&lt;br&gt;}&lt;p&gt;formTableDS is declared in the Class declaration of the form</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/2271738455870499144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/11/onlyfetchactive-on-form-datasource.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/2271738455870499144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/2271738455870499144'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/11/onlyfetchactive-on-form-datasource.html' title='OnlyFetchActive on Form Datasource'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-258977767532163258</id><published>2010-10-17T16:11:00.000-07:00</published><updated>2010-10-17T16:12:03.283-07:00</updated><title type='text'>Override Form Caption</title><content type='html'>if you want to override a form caption completely, use the following&lt;br&gt;code in the datasource&amp;#39;s active() method, just after the super.&lt;p&gt;winapi::setWindowText(element.hWnd(), &amp;quot;My caption override text&amp;quot;);</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/258977767532163258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/10/override-form-caption.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/258977767532163258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/258977767532163258'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/10/override-form-caption.html' title='Override Form Caption'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-5898847687357486294</id><published>2010-09-04T04:25:00.001-07:00</published><updated>2011-09-01T22:53:08.069-07:00</updated><title type='text'>Re: Filtering on Date using QueryBuildRange</title><content type='html'>&lt;div class=&quot;gmail_quote&quot;&gt;syntax for advanced filtering on date:&lt;br /&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: #ccc 1px solid; margin: 0px 0px 0px 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;queryBuildRange = queryBuildDataSource.addRange(FieldNum(MyTable, MyDate));&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;queryBuildRange.value(strFmt(&#39;(MyDate == &amp;nbsp;%1)&#39;, &amp;nbsp;Date2strXpp(_myDate)));&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/5898847687357486294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/09/re-filtering-on-date-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/5898847687357486294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/5898847687357486294'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/09/re-filtering-on-date-using.html' title='Re: Filtering on Date using QueryBuildRange'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-1865997176963830986</id><published>2010-08-10T18:56:00.001-07:00</published><updated>2010-08-10T18:56:27.932-07:00</updated><title type='text'>email field validation</title><content type='html'>public boolean validateField(fieldId _fieldIdToCheck)&lt;br&gt;{&lt;br&gt;    boolean ret;&lt;br&gt;    str     email;&lt;br&gt;    ;&lt;p&gt;    ret = super(_fieldIdToCheck);&lt;p&gt;    if (_fieldIdToCheck == fieldnum(WRPartyApplDetails, NewEmail))&lt;br&gt;    {&lt;br&gt;        email = this.Email;&lt;p&gt;        if (    strfind(email, &amp;quot;@&amp;quot;, 1, strlen(email)) == 0&lt;br&gt;            ||  strfind(email, &amp;quot;.&amp;quot;, 1, strlen(email)) == 0)&lt;br&gt;        {&lt;br&gt;           error(&amp;quot;Must contain a &amp;#39;@&amp;#39; character and at least one &amp;#39;.&amp;#39;&amp;quot;);&lt;br&gt;           ret = false;&lt;br&gt;        }&lt;p&gt;        if (    strscan(email, &amp;quot;.@&amp;quot;, 1,strlen(email)) &amp;gt; 0&lt;br&gt;            ||  strscan(email, &amp;quot;@.&amp;quot;, 1,strlen(email)) &amp;gt; 0)&lt;br&gt;        {&lt;br&gt;           error(&amp;quot;Cannot have the &amp;#39;@&amp;#39; and the &amp;#39;.&amp;#39; one after the other&amp;quot;);&lt;br&gt;           ret = false;&lt;br&gt;        }&lt;br&gt;    }&lt;p&gt;    return ret;&lt;br&gt;}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/1865997176963830986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/08/email-field-validation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1865997176963830986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1865997176963830986'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/08/email-field-validation.html' title='email field validation'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-5477415244744298023</id><published>2010-07-05T20:44:00.001-07:00</published><updated>2010-07-05T20:44:56.909-07:00</updated><title type='text'>Technical Best Practices for Dynamics AX - Shared and AOT Object  Standards</title><content type='html'>some good reading&lt;br&gt;&lt;br&gt;&lt;br&gt;Technical Best Practices for Dynamics AX - Shared and AOT Object Standards&lt;br&gt; - &lt;a href=&quot;http://www.packtpub.com/article/technical-best-practices-for-dynamics-ax-shared-and-aot-object-standards&quot;&gt;http://www.packtpub.com/article/technical-best-practices-for-dynamics-ax-shared-and-aot-object-standards&lt;/a&gt;&lt;br&gt; &lt;h1 style=&quot;font-weight: normal;&quot; class=&quot;title&quot;&gt;&lt;font size=&quot;2&quot;&gt;Technical Best Practices for Dynamics AX - Application  Design Standards&lt;br&gt;- &lt;a href=&quot;http://www.packtpub.com/article/technical-best-practices-for-dynamics-ax-application-design-standards&quot;&gt;http://www.packtpub.com/article/technical-best-practices-for-dynamics-ax-application-design-standards&lt;/a&gt;&lt;/font&gt;&lt;br&gt; &lt;/h1&gt;&lt;br&gt;-- &lt;br&gt;Kind Regards&lt;br&gt;Jonathan Sulte&lt;br&gt;&lt;br&gt;====================&lt;br&gt;if (first &amp;amp;&amp;amp; succeed == false)&lt;br&gt;    while (!succeed)&lt;br&gt;        try();&lt;br&gt;====================&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/5477415244744298023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/07/technical-best-practices-for-dynamics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/5477415244744298023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/5477415244744298023'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/07/technical-best-practices-for-dynamics.html' title='Technical Best Practices for Dynamics AX - Shared and AOT Object  Standards'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-3749121170816461940</id><published>2010-06-09T17:13:00.001-07:00</published><updated>2010-06-09T17:13:38.486-07:00</updated><title type='text'>Refreshing form data but staying on the current record</title><content type='html'>if you want to refresh a form, but want to stay on the current record you are on, use this code:&lt;br&gt;&lt;br&gt;&lt;br&gt;void refreshForm()&lt;br&gt;{&lt;br&gt;    FormTable current;&lt;br&gt;    ;&lt;br&gt;&lt;br&gt;    if (FormTableDataSource.RecId)&lt;br&gt;    {&lt;br&gt;        FormTableDataSource_ds.write();&lt;br&gt;         current.data(FormTableDataSource);&lt;br&gt;        FormTableDataSource_ds.research();&lt;br&gt;        FormTableDataSource_ds.setRecord(current);&lt;br&gt;    } </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/3749121170816461940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/refreshing-form-data-but-staying-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/3749121170816461940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/3749121170816461940'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/refreshing-form-data-but-staying-on.html' title='Refreshing form data but staying on the current record'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-501569578017595931</id><published>2010-06-08T17:01:00.001-07:00</published><updated>2010-06-08T17:01:57.563-07:00</updated><title type='text'>GROUPING query</title><content type='html'>if you want to group a query on a field, here is an example (used in a lookup table):&lt;br&gt;&lt;br&gt;public void lookup()&lt;br&gt;{&lt;br&gt;    SysTableLookup        sysTableLookup = SysTableLookup::newParameters(tableNum(YourTable), this);&lt;br&gt;     Query                 query = new query();&lt;br&gt;    QueryBuildDataSource  queryBuildDataSource = query.addDataSource(tableNum(YourTable));&lt;br&gt;    ;&lt;br&gt;&lt;br&gt;    queryBuildDataSource.orderMode(OrderMode::GROUPBY);&lt;br&gt;    queryBuildDataSource.addSortField(FieldNum(YourTable, YourField));&lt;br&gt; &lt;br&gt;    sysTableLookup.addLookupfield(fieldNum(YourTable, YourField));&lt;br&gt;    sysTableLookup.parmQuery(query);&lt;br&gt;&lt;br&gt;    sysTableLookup.performFormLookup();&lt;br&gt;}&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/501569578017595931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/grouping-query.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/501569578017595931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/501569578017595931'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/grouping-query.html' title='GROUPING query'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-8536223001333819085</id><published>2010-06-08T01:15:00.001-07:00</published><updated>2010-06-08T01:15:44.154-07:00</updated><title type='text'>Creating Lookups</title><content type='html'>here is a sample code to create lookups on a form field&lt;br /&gt;
&lt;br /&gt;
public void lookup()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTableLookup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysTableLookup = SysTableLookup::newParameters(tableNum(YourAXTable, this);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Query&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;&amp;nbsp;&amp;nbsp; query = new query();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; QueryBuildDataSource&amp;nbsp; queryBuildDataSource = query.addDataSource(tableNum(YourAXTable));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; QueryBuildRange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range1 = queryBuildDataSource.addRange(fieldNum(YourAXTable, FieldYouWantFiltered1));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; QueryBuildRange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range2 = queryBuildDataSource.addRange(fieldNum(YourAXTable, FieldYouWantFiltered2));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; range1.value(queryValue(YourFormField.valuestr()));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; range2.value(queryValue(YourFormField2.valuestr()));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sysTableLookup.addLookupfield(fieldNum(YourAXTable, FieldYouWantReturned));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sysTableLookup.addLookupfield(fieldNum(YourAXTable, AdditionalLookupColumn));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sysTableLookup.parmQuery(query);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sysTableLookup.performFormLookup();&lt;br /&gt;
&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/8536223001333819085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/creating-lookups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8536223001333819085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/8536223001333819085'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/creating-lookups.html' title='Creating Lookups'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-2751578139143198344</id><published>2010-06-06T19:04:00.001-07:00</published><updated>2010-06-08T00:59:06.280-07:00</updated><title type='text'>QueryBuildRange date range between two dates</title><content type='html'>when you want to filter between two dates. use SysQuery::Range:&lt;br /&gt;
&lt;br /&gt;
eg&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryBuildRange = queryBuildDataSource.addRange(FieldNum(WRWaterShareTable, TenureExpiryDate));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; queryBuildRange.value(sysQuery::range(_expiryDateFilter,_expiryDateToFilter));&lt;br /&gt;
&lt;br /&gt;
this function gives the flexibility of passing one or two dates. if you pass value in the first date only, it will search date equal to and after the date. if you pass value in the second date only, it will search dates equal to and before the date.</content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/2751578139143198344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/querybuildrange-date-range-between-two.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/2751578139143198344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/2751578139143198344'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/querybuildrange-date-range-between-two.html' title='QueryBuildRange date range between two dates'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-6155843591283126636</id><published>2010-06-01T22:35:00.001-07:00</published><updated>2010-06-01T22:35:49.891-07:00</updated><title type='text'>SysOperationProgress sample</title><content type='html'>this is the basic code of when you want to show progress. it will show the progress animation while the system is waiting to go through your code.&lt;br&gt;&lt;br&gt;public void sysOperationProgressSample()&lt;br&gt;{&lt;br&gt;    SysOperationProgress        progress = new SysOperationProgress();&lt;br&gt;     counter                     counter = 0;&lt;br&gt;    counter                     progressCounter = 0;&lt;br&gt;    LineNum                     lineNum = 0;&lt;br&gt;    int                         lineTotal;&lt;br&gt;&lt;br&gt;    ;&lt;br&gt;&lt;br&gt;#AviFiles&lt;br&gt; &lt;br&gt;    progress.setCaption(&amp;quot;Processing Records...&amp;quot;);&lt;br&gt;    progress.setAnimation(#AviUpdate);&lt;br&gt;&lt;br&gt;    lineTotal = 9999; //set total of lines here&lt;br&gt;    progress.setTotal(lineTotal);&lt;br&gt;&lt;br&gt;    while select ...&lt;br&gt;     {&lt;br&gt;        //put these lines on top (or at the bottom of what you are doing)&lt;br&gt;        counter++;&lt;br&gt;        progressCounter++;&lt;br&gt;        progress.setText(strFmt(&amp;quot;Processing %1 of %2 records. Please wait&amp;quot;,int2str(counter),int2str(lineTotal)));&lt;br&gt;         progress.incCount();&lt;br&gt;&lt;br&gt;        /*&lt;br&gt;        your stuff here&lt;br&gt;        */&lt;br&gt;    }&lt;br&gt;&lt;br&gt;}&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/6155843591283126636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/sysoperationprogress-sample.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6155843591283126636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/6155843591283126636'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/06/sysoperationprogress-sample.html' title='SysOperationProgress sample'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-7778822232674848755</id><published>2010-05-31T23:34:00.001-07:00</published><updated>2010-05-31T23:34:53.812-07:00</updated><title type='text'>Disallow system to remember Last Query Used values on filters</title><content type='html'>on the init of the report&lt;br&gt;&lt;br&gt;public void init()&lt;br&gt;{&lt;br&gt;    SysQueryRun sysQueryRun;&lt;br&gt;    ;&lt;br&gt;&lt;br&gt;    super();&lt;br&gt;&lt;br&gt;    this.queryPerfTable(); //do your query stuff here&lt;br&gt;&lt;br&gt;    //these code lines stop the system from remembering last used values&lt;br&gt;     sysQueryRun = new SysQueryRun(element.query());&lt;br&gt;    sysQueryRun.promptLoadLastUsedQuery(false);&lt;br&gt;    element.queryRun(sysqueryRun);&lt;br&gt;&lt;br&gt;} </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/7778822232674848755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/05/disallow-system-to-remember-last-query.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/7778822232674848755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/7778822232674848755'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/05/disallow-system-to-remember-last-query.html' title='Disallow system to remember Last Query Used values on filters'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-902775120044947040</id><published>2010-04-01T18:05:00.001-07:00</published><updated>2010-04-01T18:05:44.021-07:00</updated><title type='text'>PostSynchronize Scare when Upgrading AX2009</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;Just want to share my experience with this Dynamics AX upgrade step. I got to the part of the upgrade where it is time to do the Postsynchronize step. This is the all important part. I had to do a Presynchronize first, then a Synchronize database step. After this step, the Postsynchronize step (which was greyed out) *&lt;b&gt;should&lt;/b&gt;* turn to green after synchronizing successfully.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;However in my case, it did not. I spent a good hour trying to figure out why it didn&amp;#8217;t. I resynchronized, i checked that everything was ok. It was. I reran Presynchronize then Synchronize. Nothing worked. The Postsynchronize options still stayed greyed out. It was not enabled and i could not proceed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;A few minutes before giving up and restoring the backup (which would mean i would have lost a few hours&amp;#8217; worth of upgrade time), i tried clicking back to the second step which was Provide licence Information, re ran that, reran the next step, Global Address books, re ran Setup Current Time Zone, re ran Customer Feedback Options. Skipped detect code upgrade conflicts, re ran Presynchronize (it won&amp;#8217;t actually rerun the jobs, it will just tell you have already ran it, and it when you close out of it, it will enable the next step), re ran Synchronize... and voila!!! It worked, it opened up the Postsynchronize step!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;What *&lt;b&gt;i think&lt;/b&gt;* happened is when you run the upgrade, it puts some settings in a temporary table. Throughout the upgrade, which can span days, you are going in and out of AX. If this table is cleared for some reason, it loses track of what steps you have finished, and what the next step is.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;Going back to the second step (the first step is Compile Application, and i didn&amp;#8217;t want to do that as it takes around 30 minutes) seem to restore that temporary table and going through the steps one after the other, without shutting down, it will allow you to get to Postsynchronize.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;I hope this helps some poor soul out there desperate to know why they cannot Postsynchronize&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/902775120044947040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/04/postsynchronize-scare-when-upgrading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/902775120044947040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/902775120044947040'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/04/postsynchronize-scare-when-upgrading.html' title='PostSynchronize Scare when Upgrading AX2009'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8311288103770256870.post-1362668934077658133</id><published>2010-03-11T19:43:00.000-08:00</published><updated>2010-03-11T19:44:11.334-08:00</updated><title type='text'>Restriction for Admin Groups</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;When you want to restrict something to the Admin Group only, use this code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;#Admin&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;boolean canForwardDate()&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; boolean ret;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserGroupList groupList;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; select firstfast groupList where&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groupList.groupId == #AdminUserGroup&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;&amp;amp;&amp;nbsp; groupList.UserId == curuserid();&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (groupList)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = true;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = false;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ret;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  </content><link rel='replies' type='application/atom+xml' href='http://jaysaltonaxdev.blogspot.com/feeds/1362668934077658133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/03/restriction-for-admin-groups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1362668934077658133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8311288103770256870/posts/default/1362668934077658133'/><link rel='alternate' type='text/html' href='http://jaysaltonaxdev.blogspot.com/2010/03/restriction-for-admin-groups.html' title='Restriction for Admin Groups'/><author><name>Jay Salt</name><uri>http://www.blogger.com/profile/16796489910391772723</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvFBuFJ7p-PbAwF-kVDPtG-Rxnxtks3WcWcWtKCxk2Avl3i-pDpBqeo7v7OrYo_17TnDJbRH0OwUnN79lRBtw6gn3_zrTJVsNU9maYmyQlkjjD-r5N8FoylLWTt4z-I8/s220/v+for+vendetta.jpg'/></author><thr:total>0</thr:total></entry></feed>