unit uBizReferenciasServer; interface uses uDAInterfaces, uDADelta, uDABusinessProcessor, schReferenciasServer_Intf; const BIZ_SERVER_REFERENCIAS = 'Server.Referencias'; type TBizReferenciasServer = class(TReferenciasBusinessProcessorRules) protected procedure BeforeProcessDelta(Sender: TDABusinessProcessor; const aDelta: IDADelta); override; procedure AfterProcessChange(Sender: TDABusinessProcessor; aChange: TDADeltaChange; Processed: Boolean; var CanRemoveFromDelta: Boolean); override; end; implementation uses Variants, uDAClasses, uReferenciasUtils, uBusinessUtils, uROClasses, uDataModuleServer, schReferenciasClient_Intf, FactuGES_Intf, uROServer, SysUtils; { TBizPresupuestosClienteServer } procedure TBizReferenciasServer.AfterProcessChange( Sender: TDABusinessProcessor; aChange: TDADeltaChange; Processed: Boolean; var CanRemoveFromDelta: Boolean); begin inherited; { Por defecto, mantenemos los deltas por si alguna tabla hija los necesita } CanRemoveFromDelta := False; case aChange.ChangeType of ctInsert, ctUpdate: begin dmServer.EscribirLog('aaaaa'); // aChange.OldValueByName[fld_ClientesID]; // aChange.NewValueByName[fld_ClientesID]; end; end; end; procedure TBizReferenciasServer.BeforeProcessDelta( Sender: TDABusinessProcessor; const aDelta: IDADelta); begin inherited; { FReferenciaAutomatica := False; case Sender.CurrentChange.ChangeType of ctInsert, ctUpdate: begin //Si la referencia no ha sido asignada le asignamos una nosotros if REFERENCIAIsNull or (Length(REFERENCIA) = 0) then begin FReferenciaAutomatica := True; REFERENCIA := DarReferencia; end; end; end; } end; initialization RegisterBusinessProcessorRules(BIZ_SERVER_REFERENCIAS, TBizReferenciasServer); end.