AX / D365FO – Update a Form Datasource control field in an Eventhandler

Below code shows how to get buffer from form data source field event handler(modified field) and update values as per the requirement

[FormDataFieldEventHandler(formDataFieldStr(BankStatementTable, BankStmtISOAccountStatement, ToDateTime), FormDataFieldEventType::Modified)]
public static void ToDateTime_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
{
    FormDataSource BankStmtISOAccountStatement_ds = 
    sender.datasource();
    BankStmtISOAccountStatement bankStmtISOAccountStatement =
    BankStmtISOAccountStatement_ds.cursor(); //Get Datasource record
    TimeOfDay secondsElapsed;
    secondsElapsed = 86399;
    if(!bankStmtISOAccountStatement.ToDateTime)
    {
      bankStmtISOAccountStatement.ToDateTime = 
      DateTimeUtil::newDateTime(DateTimeUtil::getSystemDate(DateTimeUtil::
      getUserPreferredTimeZone()), secondsElapsed); //Update Value
    }
    else
    {
      bankStmtISOAccountStatement.ToDateTime =  
      DateTimeUtil::newDateTime(DateTimeUtil::date
      (bankStmtISOAccountStatement.ToDateTime),
      secondsElapsed);
    }
} 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s