git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES2/trunk@160 f4e31baf-9722-1c47-927c-6f952f962d4b
152 lines
5.9 KiB
ObjectPascal
152 lines
5.9 KiB
ObjectPascal
unit uBizClientesServer;
|
||
|
||
interface
|
||
|
||
uses
|
||
schContactosServer_Intf, uDAInterfaces, uDADelta,
|
||
uDADataTable, uDABusinessProcessor, uBizContactosServer;
|
||
|
||
const
|
||
BIZ_SERVER_CLIENTE = 'Server.Cliente';
|
||
|
||
type
|
||
TBizClienteServer = class(TBizContactosServer)
|
||
protected
|
||
procedure Insert_Datos_Contacto(aChange: TDADeltaChange); override;
|
||
procedure Update_Datos_Contacto(aChange: TDADeltaChange); override;
|
||
procedure Delete_Datos_Contacto(aChange: TDADeltaChange); override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
uDataModuleServer, uDAClasses, srvContabilidad_Impl,
|
||
schContactosClient_Intf, uBusinessUtils;
|
||
|
||
{ TBizClienteServer }
|
||
|
||
procedure TBizClienteServer.Delete_Datos_Contacto(aChange: TDADeltaChange);
|
||
var
|
||
ASchema : TDASchema;
|
||
ACurrentConn : IDAConnection;
|
||
ACommand : IDASQLCommand;
|
||
begin
|
||
inherited;
|
||
|
||
ASchema := BusinessProcessor.Schema;
|
||
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
|
||
|
||
ACommand := ASchema.NewCommand(ACurrentConn, 'Delete_ClientesDatos');
|
||
try
|
||
with ACommand do
|
||
begin
|
||
ParamByName('OLD_ID_CLIENTE').Value := aChange.OldValueByName[fld_ClientesID];
|
||
Execute;
|
||
end;
|
||
finally
|
||
ACommand := NIL;
|
||
end;
|
||
end;
|
||
|
||
procedure TBizClienteServer.Insert_Datos_Contacto(aChange: TDADeltaChange);
|
||
var
|
||
ASchema : TDASchema;
|
||
ACurrentConn : IDAConnection;
|
||
ACommand : IDASQLCommand;
|
||
idCliente: integer;
|
||
idTienda: integer;
|
||
idEmpresa: integer;
|
||
|
||
begin
|
||
inherited;
|
||
|
||
ASchema := BusinessProcessor.Schema;
|
||
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
|
||
|
||
ACommand := ASchema.NewCommand(ACurrentConn, 'Insert_ClientesDatos');
|
||
try
|
||
with ACommand do
|
||
begin
|
||
ParamByName('ID_CLIENTE').Value := aChange.NewValueByName[fld_ClientesID];
|
||
// ParamByName('ID_AGENTE').Value := aChange.NewValueByName[fld_ClientesID_AGENTE];
|
||
ParamByName('GRUPO_CLIENTE').Value := aChange.NewValueByName[fld_ClientesGRUPO_CLIENTE];
|
||
ParamByName('NOMBRE_COMERCIAL').Value := aChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL];
|
||
ParamByName('VENCIMIENTO_FACTURAS').Value := aChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS];
|
||
ParamByName('BLOQUEADO').Value := aChange.NewValueByName[fld_ClientesBLOQUEADO];
|
||
ParamByName('MOTIVO_BLOQUEO').Value := aChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO];
|
||
ParamByName('RECARGO_EQUIVALENCIA').Value := aChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA];
|
||
ParamByName('REGIMEN_IVA').Value := aChange.NewValueByName[fld_ClientesREGIMEN_IVA];
|
||
ParamByName('ID_TIPO_IVA').Value := aChange.NewValueByName[fld_ClientesID_TIPO_IVA];
|
||
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
||
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
||
ParamByName('CODIGO_ASIGNADO').Value := aChange.NewValueByName[fld_ClientesCODIGO_ASIGNADO];
|
||
ParamByName('IGNORAR_CONTABILIDAD').Value := aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD];
|
||
ParamByName('PROCEDENCIA_CLIENTE').Value := aChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE];
|
||
Execute;
|
||
end;
|
||
|
||
|
||
//En caso de no ignorar contabilidad se deber<65> dar de alta una cuenta para el cliente si el usuario no la ha asignado
|
||
if (aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD] = 0) then
|
||
begin
|
||
with TsrvContabilidad.Create(NIL) do
|
||
try
|
||
idCliente := aChange.NewValueByName[fld_ClientesID];
|
||
idTienda := aChange.NewValueByName[fld_ClientesID_TIENDA];
|
||
idEmpresa := aChange.NewValueByName[fld_ClientesID_EMPRESA];
|
||
if not TieneCuentaAsociada(idCliente, idEmpresa) then
|
||
AnadirSubCuentaCliente(idCliente, idTienda, idEmpresa);
|
||
finally
|
||
Free;
|
||
end;
|
||
end;
|
||
|
||
finally
|
||
ACommand := NIL;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TBizClienteServer.Update_Datos_Contacto(aChange: TDADeltaChange);
|
||
var
|
||
ASchema : TDASchema;
|
||
ACurrentConn : IDAConnection;
|
||
ACommand : IDASQLCommand;
|
||
begin
|
||
inherited;
|
||
|
||
ASchema := BusinessProcessor.Schema;
|
||
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
|
||
|
||
ACommand := ASchema.NewCommand(ACurrentConn, 'Update_ClientesDatos');
|
||
try
|
||
with ACommand do
|
||
begin
|
||
ParamByName('OLD_ID_CLIENTE').Value := aChange.OldValueByName[fld_ClientesID];
|
||
ParamByName('ID_CLIENTE').Value := aChange.NewValueByName[fld_ClientesID];
|
||
// ParamByName('ID_AGENTE').Value := aChange.NewValueByName[fld_ClientesID_AGENTE];
|
||
ParamByName('GRUPO_CLIENTE').Value := aChange.NewValueByName[fld_ClientesGRUPO_CLIENTE];
|
||
ParamByName('NOMBRE_COMERCIAL').Value := aChange.NewValueByName[fld_ClientesNOMBRE_COMERCIAL];
|
||
ParamByName('VENCIMIENTO_FACTURAS').Value := aChange.NewValueByName[fld_ClientesVENCIMIENTO_FACTURAS];
|
||
ParamByName('BLOQUEADO').Value := aChange.NewValueByName[fld_ClientesBLOQUEADO];
|
||
ParamByName('MOTIVO_BLOQUEO').Value := aChange.NewValueByName[fld_ClientesMOTIVO_BLOQUEO];
|
||
ParamByName('RECARGO_EQUIVALENCIA').Value := aChange.NewValueByName[fld_ClientesRECARGO_EQUIVALENCIA];
|
||
ParamByName('REGIMEN_IVA').Value := aChange.NewValueByName[fld_ClientesREGIMEN_IVA];
|
||
ParamByName('ID_TIPO_IVA').Value := aChange.NewValueByName[fld_ClientesID_TIPO_IVA];
|
||
ParamByName('ID_FORMA_PAGO').Value := aChange.NewValueByName[fld_ClientesID_FORMA_PAGO];
|
||
ParamByName('TIENDA_WEB').Value := aChange.NewValueByName[fld_ClientesTIENDA_WEB];
|
||
ParamByName('CODIGO_ASIGNADO').Value := aChange.NewValueByName[fld_ClientesCODIGO_ASIGNADO];
|
||
ParamByName('IGNORAR_CONTABILIDAD').Value := aChange.NewValueByName[fld_ClientesIGNORAR_CONTABILIDAD];
|
||
ParamByName('PROCEDENCIA_CLIENTE').Value := aChange.NewValueByName[fld_ClientesPROCEDENCIA_CLIENTE];
|
||
Execute;
|
||
end;
|
||
finally
|
||
ACommand := NIL;
|
||
end;
|
||
end;
|
||
|
||
initialization
|
||
RegisterBusinessProcessorRules(BIZ_SERVER_CLIENTE, TBizClienteServer);
|
||
|
||
end.
|