Skip to main content

Posts

Showing posts from December, 2013

Filter records in form by code

Courtesy: http://dynamics-ax-live.blogspot.com/2010/03/how-to-filter-records-in-form-by-code.html Step 1: Declare a class variable In the ClassDeclaration method of the form, define a range. QueryBuildRange CurrencyQBR; Step 2: Instantiate the new range. In the init method on the datasource of the form, you assign the range to a specific field (after the super call). public void init() { super(); CurrencyQBR = this.query().dataSourceName('CustTable').addRange(fieldnum(CustTable,Currency)); } Step 3: In the last step, you assign a value to the range. This is done in the executeQuery method on the same datasource of the form. Before the super call. Like this: public void executeQuery() { ; CurrencyQBR.value(queryvalue('USD')); super(); }

Maintaining Data Integrity [AX 2012]

Reference: http://msdn.microsoft.com/EN-US/library/aa672802.aspx   You can maintain database integrity by using one or more of the following features: A  DeleteAction  element maintains database consistency when a record is deleted. For more information about adding a  DeleteAction  element, see  How to: Create Delete Actions . The  ttsbegin ,  ttscommit , and  ttsabort  keywords ensure that all changes that are associated with a transaction are completed successfully. If the changes are not successfully completed, the transaction is aborted and the database is rolled back to the initial state. The  UnitofWork  class can simplify the task of modifying the data records in multiple tables within the scope of a single transaction. For more information, see  How to: Use the UnitOfWork Class to Manage Database Transactions .

SqlDictionary table

A very nice post on SQLDictionary table.. telling the information about all the tables created in AX. Courtesy: http://axnotes.blogspot.com/ If you run this query in SQL Mgmt Studio, you'll get a list of the tables in your AOT: SELECT * FROM SqlDictionary WHERE fieldid = 0 AND flags <> 1 ORDER BY name