namespace WinFormsApplication7; interface uses RemObjects.DataAbstract.Server, System.Collections.Generic, System.ComponentModel, System.Linq, System.Text; type CustomerBusinessProcessor = public class(DomainBusinessProcessor) protected method HandleBeforeProcessChange(sender: BusinessProcessor; e: DeltaChangeEventArgs); override; public constructor(AContainer: IContainer); end; implementation constructor CustomerBusinessProcessor(AContainer: IContainer); begin inherited constructor(AContainer); self.ReferencedDataTable := 'Customers'; end; method CustomerBusinessProcessor.HandleBeforeProcessChange(sender: BusinessProcessor; e: DeltaChangeEventArgs); begin var custName := Convert.ToString(e.DeltaChange.NewValues['Name']); if ((e.DeltaChange.Type = RemObjects.DataAbstract.ChangeType.Insert) or (e.DeltaChange.Type = RemObjects.DataAbstract.ChangeType.Update)) and (String.IsNullOrEmpty(custName)) then raise new Exception('Customer name is required'); end; end.