git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@461 0c75b7a4-871f-7646-8a2f-f78d34cc349f
70 lines
2.1 KiB
ObjectPascal
70 lines
2.1 KiB
ObjectPascal
unit uBizEmpresasServer;
|
|
|
|
interface
|
|
|
|
uses
|
|
uDAInterfaces, uDADelta, uDABusinessProcessor,
|
|
schEmpresasServer_Intf;
|
|
|
|
const
|
|
BIZ_SERVER_EMPRESAS = 'Server.Empresas';
|
|
|
|
type
|
|
TBizEmpresasServer = class(TEmpresasBusinessProcessorRules)
|
|
protected
|
|
procedure AfterProcessChange(Sender: TDABusinessProcessor; aChange: TDADeltaChange; Processed: Boolean;
|
|
var CanRemoveFromDelta: Boolean); override;
|
|
|
|
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Variants, uDAClasses, srvReferencias_Impl, uBusinessUtils, uROClasses,
|
|
uDataModuleServer, schEmpresasClient_Intf, Dialogs;
|
|
|
|
{ TBizEmpresasServer }
|
|
|
|
procedure TBizEmpresasServer.AfterProcessChange(Sender: TDABusinessProcessor;
|
|
aChange: TDADeltaChange; Processed: Boolean; var CanRemoveFromDelta: Boolean);
|
|
var
|
|
AConn : IDAConnection;
|
|
ParamTiempo: Variant;
|
|
ParamMargen: Variant;
|
|
|
|
begin
|
|
inherited;
|
|
|
|
{ Por defecto, mantenemos los deltas por si alguna tabla hija los necesita }
|
|
CanRemoveFromDelta := False;
|
|
|
|
case aChange.ChangeType of
|
|
ctInsert, ctUpdate: begin
|
|
ParamTiempo := Sender.CurrentChange.NewValueByName[fld_EmpresasPARAM_TIEMPO];
|
|
ParamMargen := Sender.CurrentChange.NewValueByName[fld_EmpresasPARAM_MARGEN];
|
|
if ((Sender.CurrentChange.OldValueByName[fld_EmpresasPARAM_TIEMPO] <> ParamTiempo)
|
|
or (Sender.CurrentChange.OldValueByName[fld_EmpresasPARAM_MARGEN] <> ParamMargen)) then
|
|
begin
|
|
try
|
|
//Recalculamos los PVP del catalogo
|
|
AConn := dmServer.ConnectionManager.NewConnection(dmServer.ConnectionManager.GetDefaultConnectionName);
|
|
AConn.BeginTransaction;
|
|
Sender.Schema.NewCommand(AConn, 'RecalcularPVPArticulos', ['ID_EMPRESA', 'PARAM_MARGEN', 'PARAM_TIEMPO'], [Sender.CurrentChange.OldValueByName[fld_EmpresasID], ParamMargen, ParamTiempo]);
|
|
AConn.CommitTransaction;
|
|
except
|
|
AConn.RollbackTransaction;
|
|
RaiseError('RecalcularPVPArticulos');
|
|
end;
|
|
|
|
AConn:= Nil;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
initialization
|
|
RegisterBusinessProcessorRules(BIZ_SERVER_EMPRESAS, TBizEmpresasServer);
|
|
|
|
end.
|