On Leaving Event Handler in D365fo X++
On Leaving Event Handler in D365fo X++
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormControlEventHandler(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_Qty), FormControlEventType::Leaving)]
public static void ProjJournalTransHour_Qty_OnLeaving(FormControl sender, FormControlEventArgs e)
{
try
{
FormDataSource ProjJournalTrans_ds = sender.formRun().dataSource(formDataSourceStr(EntAssetWorkOrderJournal, ProjJournalTransHour));
ProjJournalTrans ProjJournalTrans = ProjJournalTrans_ds.cursor();
FormRealControl HoursVal = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_Qty));
FormRealControl CostPrice = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_CostPrice));
FormRealControl TotalCost = sender.formRun().design().controlName(formControlStr(EntAssetWorkOrderJournal, ProjJournalTransHour_CBLTotalCostAmount));
real Total = HoursVal.realValue() * CostPrice.realValue();
ProjJournalTrans.CBLTotalCostAmount = Total;
ProjJournalTrans_ds.reread(); //will only re-read the CURRENT record from the DB
ProjJournalTrans_ds.refresh(); //refresh the form cache
//ProjJournalTrans_ds.research(); // will rerun the existing form query against the data
//ProjJournalTrans_ds.executeQuery();
}
catch(Exception::CLRError)
{
System.Exception ex = CLRInterop::getLastException();
error(ex.Message);
}
}
Comments
Post a Comment