Adding a document handling note
It is good practice to add some kind of note to the record when doing data renaming, merging, or any other data manipulation task, whether it's manual or automatic. Dynamics AX allows adding a note or a file to any record by using the so-called Document handling feature.
By default, it is enabled for all tables, but can be restricted to fewer tables by changing its configuration parameters.
Document handling can be accessed from the form action pane by clicking on the Attachments button, choosing Document handling from the File | Command menu or selecting the Document handling icon from the status bar. Document handling allows adding text notes or files to any currently selected record.
Dynamics AX also allows adding document handling notes from the code too, which helps developers or consultants to add additional information when doing various data migration or conversion tasks.
In this recipe, we will add a note to a vendor account.
How to do it...
Carry out the following steps in order to complete this recipe:
1. Open Accounts payable | Common | Vendors | All vendors, and locate the vendor account that has to be updated:
2. Open the AOT, create a new job named
VendAccountDocu
, and enter the following code. Use the previously selected vendor account:static void VendAccountDocu(Args _args) { DocuRef docuRef; VendTable vendTable; vendTable = VendTable::find('3001'); docuRef.RefCompanyId = vendTable.dataAreaId; docuRef.RefTableId = vendTable.TableId; docuRef.RefRecId = vendTable.RecId; docuRef.TypeId = 'Note'; docuRef.Name = 'Imported'; docuRef.Notes = 'This vendor was imported.'; docuRef.insert(); }
3. Run the job to create the note.
4. Click on the Attachments button in the form's action pane or select Document handling from the File | Command menu to view the note added by our code:
How it works...
All the document handling notes are stored in the DocuRef table, where the three fields RefCompanyId, RefTableId, and RefRecId are used to identify the parent record. In our recipe, we will set those fields to the vendor company ID, vendor table ID, and vendor account record ID, respectively.
Next, we will set note type, name, and description, and insert the document handling record. In this way, we will add a note to the record. The code in this recipe could also be added to a separate method for further reuse.