Friday, May 22, 2020

Code for insert, update and delete using Chain of Commands in D365 Finance & Operations

1:  [ExtensionOf(tableStr(Table1))]  
2:  final class Table1_Extension  
3:  {  
4:  	public void insert()  
5:  	{  
6:  		this.fieldName = “to insert”; //update field before insert method is executed  
7:  		next insert();  
8:  		this.fieldName = “to insert”; //update field after insert method is executed  
9:  	}  
10:  	public void delete()  
11:  	{  
12:  		//logic before delete method is executed  
13:  		next delete();  
14:  		//logic before after method is executed  
15:  	}  
16:  	public void update(anytype _parameters)  
17:  	{  
18:  		//logic before update method is executed  
19:  		next update(_parameters);  
20:  		//logic after update method is executed  
21:  	}  
22:  }  

Add action to Info/Error message in D365FnO

Starting in version 10.0.10 Platform update 34, you can use the Message::AddAction() method to embed an action within a message. This will help user to navigate through error on the form to update the data.
Example:
class TestJob_MenuAction
{
    /// <summary>
    /// Runs the class with the specified arguments.
    /// </summary>
    /// <param name = "_args">The specified arguments.</param>
    public static void main(Args _args)
    {
        MenuItemMessageAction actionData = new MenuItemMessageAction();
        actionData.MenuItemName(menuItemDisplayStr(Inventsite));
        str jsonData = FormJsonSerializer::serializeClass(actionData);
        Message::AddAction(MessageSeverity::Error, "Site information required.", 'Site Master.', 
                           MessageActionType::DisplayMenuItem, jsonData);
    }
}
Output:
On click of Site Master, InventSite form will be opened.

How to loop selected records on grid for form in dynamics ax?

To loop/iterate selected records from grid on form you can use following code, this can be done on clicked method of button control : Invent...