Adaptación a ficheros de norma 19 SEPA

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@203 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
David Arranz 2013-12-13 09:42:56 +00:00
parent fc45a98008
commit 456803a7aa
76 changed files with 3584 additions and 677 deletions

View File

@ -16,7 +16,9 @@ type
TDatosBancariosEmpresaController = class(TControllerBase, IDatosBancariosEmpresaController)
private
FDataModule : IDataModuleEmpresas;
protected
public
function ValidarDatosBancarios(ADatosBancarios : IBizEmpresasDatosBancarios; AEmpresa : IBizEmpresa): Boolean; virtual;
procedure Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
constructor Create; override;
destructor Destroy; override;
@ -42,6 +44,36 @@ begin
inherited;
end;
function TDatosBancariosEmpresaController.ValidarDatosBancarios(
ADatosBancarios: IBizEmpresasDatosBancarios; AEmpresa : IBizEmpresa): Boolean;
begin
ADatosBancarios.DataTable.Edit;
try
if not ADatosBancarios.IBANIsNull then
ADatosBancarios.IBAN := StringReplace(ADatosBancarios.IBAN, ' ', '', [rfReplaceAll]); // Quitar espacios
if ADatosBancarios.SUFIJO_PRESENTADORIsNull then
ADatosBancarios.SUFIJO_PRESENTADOR := ADatosBancarios.SUFIJO_ACREEDOR;
if ADatosBancarios.ENTIDAD_PRESENTADORIsNull then
ADatosBancarios.ENTIDAD_PRESENTADOR := ADatosBancarios.ENTIDAD;
if ADatosBancarios.SUCURSAL_PRESENTADORIsNull then
ADatosBancarios.SUCURSAL_PRESENTADOR := ADatosBancarios.SUCURSAL;
if ADatosBancarios.NIF_CIF_PRESENTADORIsNull then
ADatosBancarios.NIF_CIF_PRESENTADOR := AEmpresa.NIF_CIF;
if ADatosBancarios.NOMBRE_PRESENTADORIsNull then
ADatosBancarios.NOMBRE_PRESENTADOR := AEmpresa.NOMBRE;
finally
ADatosBancarios.DataTable.Post;
Result := True;
end;
end;
procedure TDatosBancariosEmpresaController.Ver(ADatosBancarios : IBizEmpresasDatosBancarios);
var
AEditor : IEditorDatosBancariosEmpresa;

View File

@ -71,7 +71,8 @@ implementation
uses
uDAInterfaces, uEditorRegistryUtils, cxControls, DB, uFactuGES_App, uStringsUtils,
uDataModuleEmpresas, uIEditorEmpresa, uBizEmpresasDatosBancarios, schEmpresasClient_Intf;
uDataModuleEmpresas, uIEditorEmpresa, uBizEmpresasDatosBancarios, schEmpresasClient_Intf,
uDatosBancariosEmpresaController;
{ TEmpresasController }
@ -368,6 +369,8 @@ begin
end;
function TEmpresasController.ValidarEmpresa(AEmpresa: IBizEmpresa): Boolean;
var
ADatosBancarios : IBizEmpresasDatosBancarios;
begin
if not Assigned(AEmpresa) then
raise Exception.Create ('Empresa no asignada');
@ -382,7 +385,23 @@ begin
AEmpresa.Edit;
AEmpresa.USUARIO := AppFactuGES.UsuarioActivo.UserName;
AEmpresa.Post;
ADatosBancarios := AEmpresa.DatosBancarios;
ADatosBancarios.DataTable.Active := True;
with TDatosBancariosEmpresaController.Create do
try
ADatosBancarios.DataTable.First;
while not ADatosBancarios.DataTable.EOF do
begin
if not ValidarDatosBancarios(ADatosBancarios, AEmpresa) then
Break;
ADatosBancarios.DataTable.Next;
end;
finally
Free;
end;
Result := True;
end;

View File

@ -297,11 +297,57 @@ inherited DataModuleEmpresas: TDataModuleEmpresas
Name = 'IBAN'
DataType = datString
Size = 255
DisplayLabel = 'EmpresasDatosBanco_IBAN'
DictionaryEntry = 'EmpresasDatosBanco_IBAN'
end
item
Name = 'SWIFT'
DataType = datString
Size = 255
DisplayLabel = 'BIC'
DictionaryEntry = 'EmpresasDatosBanco_SWIFT'
end
item
Name = 'SUFIJO_ACREEDOR'
DataType = datString
Size = 3
DisplayLabel = 'Sufijo acreedor'
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_ACREEDOR'
end
item
Name = 'NOMBRE_PRESENTADOR'
DataType = datString
Size = 255
DisplayLabel = 'Presentador'
DictionaryEntry = 'EmpresasDatosBanco_NOMBRE_PRESENTADOR'
end
item
Name = 'SUFIJO_PRESENTADOR'
DataType = datString
Size = 3
DisplayLabel = 'Sufijo presentador'
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_PRESENTADOR'
end
item
Name = 'NIF_CIF_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'NIF/CIF presentador'
DictionaryEntry = 'EmpresasDatosBanco_NIF_CIF_PRESENTADOR'
end
item
Name = 'ENTIDAD_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'd. Entidad presentador'
DictionaryEntry = 'EmpresasDatosBanco_ENTIDAD_PRESENTADOR'
end
item
Name = 'SUCURSAL_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'd. sucursal presentador'
DictionaryEntry = 'EmpresasDatosBanco_SUCURSAL_PRESENTADOR'
end>
Params = <>
MasterMappingMode = mmWhere

View File

@ -9,8 +9,8 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_Empresas = '{293CB9A8-A5CC-4A9C-80D0-74E9DC888BD8}';
RID_EmpresasDatosBanco = '{DA3363E9-7834-447F-8266-B7410A41CEDB}';
RID_Empresas = '{62467EEF-21A5-4B49-89AB-35AE73A15515}';
RID_EmpresasDatosBanco = '{EA93C21F-6570-4108-B25C-512F72920134}';
{ Data table names }
nme_Empresas = 'Empresas';
@ -88,6 +88,12 @@ const
fld_EmpresasDatosBancoSUFIJO_N58 = 'SUFIJO_N58';
fld_EmpresasDatosBancoIBAN = 'IBAN';
fld_EmpresasDatosBancoSWIFT = 'SWIFT';
fld_EmpresasDatosBancoSUFIJO_ACREEDOR = 'SUFIJO_ACREEDOR';
fld_EmpresasDatosBancoNOMBRE_PRESENTADOR = 'NOMBRE_PRESENTADOR';
fld_EmpresasDatosBancoSUFIJO_PRESENTADOR = 'SUFIJO_PRESENTADOR';
fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR = 'NIF_CIF_PRESENTADOR';
fld_EmpresasDatosBancoENTIDAD_PRESENTADOR = 'ENTIDAD_PRESENTADOR';
fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR = 'SUCURSAL_PRESENTADOR';
{ EmpresasDatosBanco field indexes }
idx_EmpresasDatosBancoID = 0;
@ -101,11 +107,17 @@ const
idx_EmpresasDatosBancoSUFIJO_N58 = 8;
idx_EmpresasDatosBancoIBAN = 9;
idx_EmpresasDatosBancoSWIFT = 10;
idx_EmpresasDatosBancoSUFIJO_ACREEDOR = 11;
idx_EmpresasDatosBancoNOMBRE_PRESENTADOR = 12;
idx_EmpresasDatosBancoSUFIJO_PRESENTADOR = 13;
idx_EmpresasDatosBancoNIF_CIF_PRESENTADOR = 14;
idx_EmpresasDatosBancoENTIDAD_PRESENTADOR = 15;
idx_EmpresasDatosBancoSUCURSAL_PRESENTADOR = 16;
type
{ IEmpresas }
IEmpresas = interface(IDAStronglyTypedDataTable)
['{A0B6BA3C-6931-4E7C-94B1-4E916B0F6E1D}']
['{81B08C9A-BF70-4385-BDA7-302F3F2075B3}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -464,7 +476,7 @@ type
{ IEmpresasDatosBanco }
IEmpresasDatosBanco = interface(IDAStronglyTypedDataTable)
['{AB33F3C2-E3BB-41C1-AC47-543080C0A67B}']
['{75E6F351-83DD-4C64-A708-CBED48F69C95}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -510,6 +522,30 @@ type
procedure SetSWIFTValue(const aValue: String);
function GetSWIFTIsNull: Boolean;
procedure SetSWIFTIsNull(const aValue: Boolean);
function GetSUFIJO_ACREEDORValue: String;
procedure SetSUFIJO_ACREEDORValue(const aValue: String);
function GetSUFIJO_ACREEDORIsNull: Boolean;
procedure SetSUFIJO_ACREEDORIsNull(const aValue: Boolean);
function GetNOMBRE_PRESENTADORValue: String;
procedure SetNOMBRE_PRESENTADORValue(const aValue: String);
function GetNOMBRE_PRESENTADORIsNull: Boolean;
procedure SetNOMBRE_PRESENTADORIsNull(const aValue: Boolean);
function GetSUFIJO_PRESENTADORValue: String;
procedure SetSUFIJO_PRESENTADORValue(const aValue: String);
function GetSUFIJO_PRESENTADORIsNull: Boolean;
procedure SetSUFIJO_PRESENTADORIsNull(const aValue: Boolean);
function GetNIF_CIF_PRESENTADORValue: String;
procedure SetNIF_CIF_PRESENTADORValue(const aValue: String);
function GetNIF_CIF_PRESENTADORIsNull: Boolean;
procedure SetNIF_CIF_PRESENTADORIsNull(const aValue: Boolean);
function GetENTIDAD_PRESENTADORValue: String;
procedure SetENTIDAD_PRESENTADORValue(const aValue: String);
function GetENTIDAD_PRESENTADORIsNull: Boolean;
procedure SetENTIDAD_PRESENTADORIsNull(const aValue: Boolean);
function GetSUCURSAL_PRESENTADORValue: String;
procedure SetSUCURSAL_PRESENTADORValue(const aValue: String);
function GetSUCURSAL_PRESENTADORIsNull: Boolean;
procedure SetSUCURSAL_PRESENTADORIsNull(const aValue: Boolean);
{ Properties }
@ -535,6 +571,18 @@ type
property IBANIsNull: Boolean read GetIBANIsNull write SetIBANIsNull;
property SWIFT: String read GetSWIFTValue write SetSWIFTValue;
property SWIFTIsNull: Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
property SUFIJO_ACREEDOR: String read GetSUFIJO_ACREEDORValue write SetSUFIJO_ACREEDORValue;
property SUFIJO_ACREEDORIsNull: Boolean read GetSUFIJO_ACREEDORIsNull write SetSUFIJO_ACREEDORIsNull;
property NOMBRE_PRESENTADOR: String read GetNOMBRE_PRESENTADORValue write SetNOMBRE_PRESENTADORValue;
property NOMBRE_PRESENTADORIsNull: Boolean read GetNOMBRE_PRESENTADORIsNull write SetNOMBRE_PRESENTADORIsNull;
property SUFIJO_PRESENTADOR: String read GetSUFIJO_PRESENTADORValue write SetSUFIJO_PRESENTADORValue;
property SUFIJO_PRESENTADORIsNull: Boolean read GetSUFIJO_PRESENTADORIsNull write SetSUFIJO_PRESENTADORIsNull;
property NIF_CIF_PRESENTADOR: String read GetNIF_CIF_PRESENTADORValue write SetNIF_CIF_PRESENTADORValue;
property NIF_CIF_PRESENTADORIsNull: Boolean read GetNIF_CIF_PRESENTADORIsNull write SetNIF_CIF_PRESENTADORIsNull;
property ENTIDAD_PRESENTADOR: String read GetENTIDAD_PRESENTADORValue write SetENTIDAD_PRESENTADORValue;
property ENTIDAD_PRESENTADORIsNull: Boolean read GetENTIDAD_PRESENTADORIsNull write SetENTIDAD_PRESENTADORIsNull;
property SUCURSAL_PRESENTADOR: String read GetSUCURSAL_PRESENTADORValue write SetSUCURSAL_PRESENTADORValue;
property SUCURSAL_PRESENTADORIsNull: Boolean read GetSUCURSAL_PRESENTADORIsNull write SetSUCURSAL_PRESENTADORIsNull;
end;
{ TEmpresasDatosBancoDataTableRules }
@ -586,6 +634,30 @@ type
procedure SetSWIFTValue(const aValue: String); virtual;
function GetSWIFTIsNull: Boolean; virtual;
procedure SetSWIFTIsNull(const aValue: Boolean); virtual;
function GetSUFIJO_ACREEDORValue: String; virtual;
procedure SetSUFIJO_ACREEDORValue(const aValue: String); virtual;
function GetSUFIJO_ACREEDORIsNull: Boolean; virtual;
procedure SetSUFIJO_ACREEDORIsNull(const aValue: Boolean); virtual;
function GetNOMBRE_PRESENTADORValue: String; virtual;
procedure SetNOMBRE_PRESENTADORValue(const aValue: String); virtual;
function GetNOMBRE_PRESENTADORIsNull: Boolean; virtual;
procedure SetNOMBRE_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetSUFIJO_PRESENTADORValue: String; virtual;
procedure SetSUFIJO_PRESENTADORValue(const aValue: String); virtual;
function GetSUFIJO_PRESENTADORIsNull: Boolean; virtual;
procedure SetSUFIJO_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetNIF_CIF_PRESENTADORValue: String; virtual;
procedure SetNIF_CIF_PRESENTADORValue(const aValue: String); virtual;
function GetNIF_CIF_PRESENTADORIsNull: Boolean; virtual;
procedure SetNIF_CIF_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetENTIDAD_PRESENTADORValue: String; virtual;
procedure SetENTIDAD_PRESENTADORValue(const aValue: String); virtual;
function GetENTIDAD_PRESENTADORIsNull: Boolean; virtual;
procedure SetENTIDAD_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetSUCURSAL_PRESENTADORValue: String; virtual;
procedure SetSUCURSAL_PRESENTADORValue(const aValue: String); virtual;
function GetSUCURSAL_PRESENTADORIsNull: Boolean; virtual;
procedure SetSUCURSAL_PRESENTADORIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -610,6 +682,18 @@ type
property IBANIsNull: Boolean read GetIBANIsNull write SetIBANIsNull;
property SWIFT: String read GetSWIFTValue write SetSWIFTValue;
property SWIFTIsNull: Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
property SUFIJO_ACREEDOR: String read GetSUFIJO_ACREEDORValue write SetSUFIJO_ACREEDORValue;
property SUFIJO_ACREEDORIsNull: Boolean read GetSUFIJO_ACREEDORIsNull write SetSUFIJO_ACREEDORIsNull;
property NOMBRE_PRESENTADOR: String read GetNOMBRE_PRESENTADORValue write SetNOMBRE_PRESENTADORValue;
property NOMBRE_PRESENTADORIsNull: Boolean read GetNOMBRE_PRESENTADORIsNull write SetNOMBRE_PRESENTADORIsNull;
property SUFIJO_PRESENTADOR: String read GetSUFIJO_PRESENTADORValue write SetSUFIJO_PRESENTADORValue;
property SUFIJO_PRESENTADORIsNull: Boolean read GetSUFIJO_PRESENTADORIsNull write SetSUFIJO_PRESENTADORIsNull;
property NIF_CIF_PRESENTADOR: String read GetNIF_CIF_PRESENTADORValue write SetNIF_CIF_PRESENTADORValue;
property NIF_CIF_PRESENTADORIsNull: Boolean read GetNIF_CIF_PRESENTADORIsNull write SetNIF_CIF_PRESENTADORIsNull;
property ENTIDAD_PRESENTADOR: String read GetENTIDAD_PRESENTADORValue write SetENTIDAD_PRESENTADORValue;
property ENTIDAD_PRESENTADORIsNull: Boolean read GetENTIDAD_PRESENTADORIsNull write SetENTIDAD_PRESENTADORIsNull;
property SUCURSAL_PRESENTADOR: String read GetSUCURSAL_PRESENTADORValue write SetSUCURSAL_PRESENTADORValue;
property SUCURSAL_PRESENTADORIsNull: Boolean read GetSUCURSAL_PRESENTADORIsNull write SetSUCURSAL_PRESENTADORIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -1480,6 +1564,132 @@ begin
DataTable.Fields[idx_EmpresasDatosBancoSWIFT].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetSUFIJO_ACREEDORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_ACREEDOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_ACREEDORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_ACREEDOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetSUFIJO_ACREEDORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_ACREEDOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_ACREEDORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_ACREEDOR].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetNOMBRE_PRESENTADORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoNOMBRE_PRESENTADOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetNOMBRE_PRESENTADORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoNOMBRE_PRESENTADOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetNOMBRE_PRESENTADORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoNOMBRE_PRESENTADOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetNOMBRE_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoNOMBRE_PRESENTADOR].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetSUFIJO_PRESENTADORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_PRESENTADOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_PRESENTADORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_PRESENTADOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetSUFIJO_PRESENTADORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_PRESENTADOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUFIJO_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoSUFIJO_PRESENTADOR].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetNIF_CIF_PRESENTADORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoNIF_CIF_PRESENTADOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetNIF_CIF_PRESENTADORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoNIF_CIF_PRESENTADOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetNIF_CIF_PRESENTADORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoNIF_CIF_PRESENTADOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetNIF_CIF_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoNIF_CIF_PRESENTADOR].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetENTIDAD_PRESENTADORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoENTIDAD_PRESENTADOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetENTIDAD_PRESENTADORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoENTIDAD_PRESENTADOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetENTIDAD_PRESENTADORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoENTIDAD_PRESENTADOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetENTIDAD_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoENTIDAD_PRESENTADOR].AsVariant := Null;
end;
function TEmpresasDatosBancoDataTableRules.GetSUCURSAL_PRESENTADORValue: String;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL_PRESENTADOR].AsString;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUCURSAL_PRESENTADORValue(const aValue: String);
begin
DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL_PRESENTADOR].AsString := aValue;
end;
function TEmpresasDatosBancoDataTableRules.GetSUCURSAL_PRESENTADORIsNull: boolean;
begin
result := DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL_PRESENTADOR].IsNull;
end;
procedure TEmpresasDatosBancoDataTableRules.SetSUCURSAL_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_EmpresasDatosBancoSUCURSAL_PRESENTADOR].AsVariant := Null;
end;
initialization
RegisterDataTableRules(RID_Empresas, TEmpresasDataTableRules);

View File

@ -9,13 +9,13 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_EmpresasDelta = '{78465C96-13EC-4CAE-806F-50EFEE766C85}';
RID_EmpresasDatosBancoDelta = '{E4194A47-772D-40BC-8DF0-9D4C7AFDEC77}';
RID_EmpresasDelta = '{415F9B21-75FF-4944-BC51-36EE7893F213}';
RID_EmpresasDatosBancoDelta = '{89191BEE-980B-4F20-BC43-492662CF8779}';
type
{ IEmpresasDelta }
IEmpresasDelta = interface(IEmpresas)
['{78465C96-13EC-4CAE-806F-50EFEE766C85}']
['{415F9B21-75FF-4944-BC51-36EE7893F213}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldNIF_CIFValue : String;
@ -375,7 +375,7 @@ type
{ IEmpresasDatosBancoDelta }
IEmpresasDatosBancoDelta = interface(IEmpresasDatosBanco)
['{E4194A47-772D-40BC-8DF0-9D4C7AFDEC77}']
['{89191BEE-980B-4F20-BC43-492662CF8779}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -388,6 +388,12 @@ type
function GetOldSUFIJO_N58Value : String;
function GetOldIBANValue : String;
function GetOldSWIFTValue : String;
function GetOldSUFIJO_ACREEDORValue : String;
function GetOldNOMBRE_PRESENTADORValue : String;
function GetOldSUFIJO_PRESENTADORValue : String;
function GetOldNIF_CIF_PRESENTADORValue : String;
function GetOldENTIDAD_PRESENTADORValue : String;
function GetOldSUCURSAL_PRESENTADORValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -401,6 +407,12 @@ type
property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value;
property OldIBAN : String read GetOldIBANValue;
property OldSWIFT : String read GetOldSWIFTValue;
property OldSUFIJO_ACREEDOR : String read GetOldSUFIJO_ACREEDORValue;
property OldNOMBRE_PRESENTADOR : String read GetOldNOMBRE_PRESENTADORValue;
property OldSUFIJO_PRESENTADOR : String read GetOldSUFIJO_PRESENTADORValue;
property OldNIF_CIF_PRESENTADOR : String read GetOldNIF_CIF_PRESENTADORValue;
property OldENTIDAD_PRESENTADOR : String read GetOldENTIDAD_PRESENTADORValue;
property OldSUCURSAL_PRESENTADOR : String read GetOldSUCURSAL_PRESENTADORValue;
end;
{ TEmpresasDatosBancoBusinessProcessorRules }
@ -474,6 +486,42 @@ type
function GetOldSWIFTIsNull: Boolean; virtual;
procedure SetSWIFTValue(const aValue: String); virtual;
procedure SetSWIFTIsNull(const aValue: Boolean); virtual;
function GetSUFIJO_ACREEDORValue: String; virtual;
function GetSUFIJO_ACREEDORIsNull: Boolean; virtual;
function GetOldSUFIJO_ACREEDORValue: String; virtual;
function GetOldSUFIJO_ACREEDORIsNull: Boolean; virtual;
procedure SetSUFIJO_ACREEDORValue(const aValue: String); virtual;
procedure SetSUFIJO_ACREEDORIsNull(const aValue: Boolean); virtual;
function GetNOMBRE_PRESENTADORValue: String; virtual;
function GetNOMBRE_PRESENTADORIsNull: Boolean; virtual;
function GetOldNOMBRE_PRESENTADORValue: String; virtual;
function GetOldNOMBRE_PRESENTADORIsNull: Boolean; virtual;
procedure SetNOMBRE_PRESENTADORValue(const aValue: String); virtual;
procedure SetNOMBRE_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetSUFIJO_PRESENTADORValue: String; virtual;
function GetSUFIJO_PRESENTADORIsNull: Boolean; virtual;
function GetOldSUFIJO_PRESENTADORValue: String; virtual;
function GetOldSUFIJO_PRESENTADORIsNull: Boolean; virtual;
procedure SetSUFIJO_PRESENTADORValue(const aValue: String); virtual;
procedure SetSUFIJO_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetNIF_CIF_PRESENTADORValue: String; virtual;
function GetNIF_CIF_PRESENTADORIsNull: Boolean; virtual;
function GetOldNIF_CIF_PRESENTADORValue: String; virtual;
function GetOldNIF_CIF_PRESENTADORIsNull: Boolean; virtual;
procedure SetNIF_CIF_PRESENTADORValue(const aValue: String); virtual;
procedure SetNIF_CIF_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetENTIDAD_PRESENTADORValue: String; virtual;
function GetENTIDAD_PRESENTADORIsNull: Boolean; virtual;
function GetOldENTIDAD_PRESENTADORValue: String; virtual;
function GetOldENTIDAD_PRESENTADORIsNull: Boolean; virtual;
procedure SetENTIDAD_PRESENTADORValue(const aValue: String); virtual;
procedure SetENTIDAD_PRESENTADORIsNull(const aValue: Boolean); virtual;
function GetSUCURSAL_PRESENTADORValue: String; virtual;
function GetSUCURSAL_PRESENTADORIsNull: Boolean; virtual;
function GetOldSUCURSAL_PRESENTADORValue: String; virtual;
function GetOldSUCURSAL_PRESENTADORIsNull: Boolean; virtual;
procedure SetSUCURSAL_PRESENTADORValue(const aValue: String); virtual;
procedure SetSUCURSAL_PRESENTADORIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -520,6 +568,30 @@ type
property SWIFTIsNull : Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
property OldSWIFT : String read GetOldSWIFTValue;
property OldSWIFTIsNull : Boolean read GetOldSWIFTIsNull;
property SUFIJO_ACREEDOR : String read GetSUFIJO_ACREEDORValue write SetSUFIJO_ACREEDORValue;
property SUFIJO_ACREEDORIsNull : Boolean read GetSUFIJO_ACREEDORIsNull write SetSUFIJO_ACREEDORIsNull;
property OldSUFIJO_ACREEDOR : String read GetOldSUFIJO_ACREEDORValue;
property OldSUFIJO_ACREEDORIsNull : Boolean read GetOldSUFIJO_ACREEDORIsNull;
property NOMBRE_PRESENTADOR : String read GetNOMBRE_PRESENTADORValue write SetNOMBRE_PRESENTADORValue;
property NOMBRE_PRESENTADORIsNull : Boolean read GetNOMBRE_PRESENTADORIsNull write SetNOMBRE_PRESENTADORIsNull;
property OldNOMBRE_PRESENTADOR : String read GetOldNOMBRE_PRESENTADORValue;
property OldNOMBRE_PRESENTADORIsNull : Boolean read GetOldNOMBRE_PRESENTADORIsNull;
property SUFIJO_PRESENTADOR : String read GetSUFIJO_PRESENTADORValue write SetSUFIJO_PRESENTADORValue;
property SUFIJO_PRESENTADORIsNull : Boolean read GetSUFIJO_PRESENTADORIsNull write SetSUFIJO_PRESENTADORIsNull;
property OldSUFIJO_PRESENTADOR : String read GetOldSUFIJO_PRESENTADORValue;
property OldSUFIJO_PRESENTADORIsNull : Boolean read GetOldSUFIJO_PRESENTADORIsNull;
property NIF_CIF_PRESENTADOR : String read GetNIF_CIF_PRESENTADORValue write SetNIF_CIF_PRESENTADORValue;
property NIF_CIF_PRESENTADORIsNull : Boolean read GetNIF_CIF_PRESENTADORIsNull write SetNIF_CIF_PRESENTADORIsNull;
property OldNIF_CIF_PRESENTADOR : String read GetOldNIF_CIF_PRESENTADORValue;
property OldNIF_CIF_PRESENTADORIsNull : Boolean read GetOldNIF_CIF_PRESENTADORIsNull;
property ENTIDAD_PRESENTADOR : String read GetENTIDAD_PRESENTADORValue write SetENTIDAD_PRESENTADORValue;
property ENTIDAD_PRESENTADORIsNull : Boolean read GetENTIDAD_PRESENTADORIsNull write SetENTIDAD_PRESENTADORIsNull;
property OldENTIDAD_PRESENTADOR : String read GetOldENTIDAD_PRESENTADORValue;
property OldENTIDAD_PRESENTADORIsNull : Boolean read GetOldENTIDAD_PRESENTADORIsNull;
property SUCURSAL_PRESENTADOR : String read GetSUCURSAL_PRESENTADORValue write SetSUCURSAL_PRESENTADORValue;
property SUCURSAL_PRESENTADORIsNull : Boolean read GetSUCURSAL_PRESENTADORIsNull write SetSUCURSAL_PRESENTADORIsNull;
property OldSUCURSAL_PRESENTADOR : String read GetOldSUCURSAL_PRESENTADORValue;
property OldSUCURSAL_PRESENTADORIsNull : Boolean read GetOldSUCURSAL_PRESENTADORIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -1783,6 +1855,192 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSWIFT] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_ACREEDORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_ACREEDORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_ACREEDORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_ACREEDORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_ACREEDORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_ACREEDORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_ACREEDOR] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetNOMBRE_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetNOMBRE_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldNOMBRE_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldNOMBRE_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetNOMBRE_PRESENTADORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetNOMBRE_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNOMBRE_PRESENTADOR] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUFIJO_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUFIJO_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_PRESENTADORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUFIJO_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUFIJO_PRESENTADOR] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetNIF_CIF_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetNIF_CIF_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldNIF_CIF_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldNIF_CIF_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetNIF_CIF_PRESENTADORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetNIF_CIF_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoNIF_CIF_PRESENTADOR] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetENTIDAD_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetENTIDAD_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldENTIDAD_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldENTIDAD_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetENTIDAD_PRESENTADORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetENTIDAD_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoENTIDAD_PRESENTADOR] := Null;
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUCURSAL_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetSUCURSAL_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR]);
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUCURSAL_PRESENTADORValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR];
end;
function TEmpresasDatosBancoBusinessProcessorRules.GetOldSUCURSAL_PRESENTADORIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR]);
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUCURSAL_PRESENTADORValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR] := aValue;
end;
procedure TEmpresasDatosBancoBusinessProcessorRules.SetSUCURSAL_PRESENTADORIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_EmpresasDatosBancoSUCURSAL_PRESENTADOR] := Null;
end;
initialization
RegisterBusinessProcessorRules(RID_EmpresasDelta, TEmpresasBusinessProcessorRules);

View File

@ -354,6 +354,30 @@ object srvEmpresas: TsrvEmpresas
item
DatasetField = 'SWIFT'
TableField = 'SWIFT'
end
item
DatasetField = 'SUFIJO_ACREEDOR'
TableField = 'SUFIJO_ACREEDOR'
end
item
DatasetField = 'NOMBRE_PRESENTADOR'
TableField = 'NOMBRE_PRESENTADOR'
end
item
DatasetField = 'SUFIJO_PRESENTADOR'
TableField = 'SUFIJO_PRESENTADOR'
end
item
DatasetField = 'NIF_CIF_PRESENTADOR'
TableField = 'NIF_CIF_PRESENTADOR'
end
item
DatasetField = 'ENTIDAD_PRESENTADOR'
TableField = 'ENTIDAD_PRESENTADOR'
end
item
DatasetField = 'SUCURSAL_PRESENTADOR'
TableField = 'SUCURSAL_PRESENTADOR'
end>
end>
Name = 'EmpresasDatosBanco'
@ -417,11 +441,49 @@ object srvEmpresas: TsrvEmpresas
Name = 'IBAN'
DataType = datString
Size = 255
DictionaryEntry = 'EmpresasDatosBanco_IBAN'
end
item
Name = 'SWIFT'
DataType = datString
Size = 255
DictionaryEntry = 'EmpresasDatosBanco_SWIFT'
end
item
Name = 'SUFIJO_ACREEDOR'
DataType = datString
Size = 3
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_ACREEDOR'
end
item
Name = 'NOMBRE_PRESENTADOR'
DataType = datString
Size = 255
DictionaryEntry = 'EmpresasDatosBanco_NOMBRE_PRESENTADOR'
end
item
Name = 'SUFIJO_PRESENTADOR'
DataType = datString
Size = 3
DictionaryEntry = 'EmpresasDatosBanco_SUFIJO_PRESENTADOR'
end
item
Name = 'NIF_CIF_PRESENTADOR'
DataType = datString
Size = 15
DictionaryEntry = 'EmpresasDatosBanco_NIF_CIF_PRESENTADOR'
end
item
Name = 'ENTIDAD_PRESENTADOR'
DataType = datString
Size = 15
DictionaryEntry = 'EmpresasDatosBanco_ENTIDAD_PRESENTADOR'
end
item
Name = 'SUCURSAL_PRESENTADOR'
DataType = datString
Size = 15
DictionaryEntry = 'EmpresasDatosBanco_SUCURSAL_PRESENTADOR'
end>
end>
JoinDataTables = <>
@ -1114,6 +1176,53 @@ object srvEmpresas: TsrvEmpresas
item
Name = 'Empresas_ID_ALMACEN'
DataType = datSmallInt
end
item
Name = 'EmpresasDatosBanco_SUFIJO_ACREEDOR'
DataType = datString
Size = 3
DisplayLabel = 'Sufijo acreedor'
end
item
Name = 'EmpresasDatosBanco_IBAN'
DataType = datString
Size = 255
end
item
Name = 'EmpresasDatosBanco_SWIFT'
DataType = datString
Size = 255
DisplayLabel = 'BIC'
end
item
Name = 'EmpresasDatosBanco_NOMBRE_PRESENTADOR'
DataType = datString
Size = 255
DisplayLabel = 'Presentador'
end
item
Name = 'EmpresasDatosBanco_SUFIJO_PRESENTADOR'
DataType = datString
Size = 3
DisplayLabel = 'Sufijo presentador'
end
item
Name = 'EmpresasDatosBanco_NIF_CIF_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'NIF/CIF presentador'
end
item
Name = 'EmpresasDatosBanco_ENTIDAD_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'd. Entidad presentador'
end
item
Name = 'EmpresasDatosBanco_SUCURSAL_PRESENTADOR'
DataType = datString
Size = 15
DisplayLabel = 'C'#243'd. sucursal presentador'
end>
Left = 158
Top = 22
@ -1123,9 +1232,9 @@ object srvEmpresas: TsrvEmpresas
Top = 90
DiagramData =
'<Diagrams>'#13#10' <Diagram Name="New Diagram" Left="200" Top="200" W' +
'idth="400" Height="300">'#13#10' <Entity Name="Empresas" Left="0,00' +
'" Top="1,00" />'#13#10' <Entity Name="EmpresasDatosBanco" Left="308' +
',00" Top="0,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
'idth="400" Height="300">'#13#10' <Entity Name="EmpresasDatosBanco" ' +
'Left="308,00" Top="0,00" />'#13#10' <Entity Name="Empresas" Left="0' +
',00" Top="1,00" />'#13#10' </Diagram>'#13#10'</Diagrams>'#13#10
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48

View File

@ -3,7 +3,7 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
Top = 108
BorderStyle = bsDialog
Caption = 'Cambio de datos bancarios'
ClientHeight = 414
ClientHeight = 469
ClientWidth = 449
Color = clBtnFace
ParentFont = True
@ -11,7 +11,7 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
Position = poOwnerFormCenter
DesignSize = (
449
414)
469)
PixelsPerInch = 96
TextHeight = 13
object OKBtn: TButton
@ -44,11 +44,11 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
TabOrder = 2
object Label5: TLabel
Left = 12
Top = 31
Width = 77
Height = 13
Top = 30
Width = 91
Height = 14
AutoSize = False
Caption = 'Banco:'
Caption = 'Nombre del banco:'
end
object Label2: TLabel
Left = 12
@ -69,10 +69,10 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
object Label4: TLabel
Left = 12
Top = 120
Width = 77
Width = 91
Height = 13
AutoSize = False
Caption = 'DC:'
Caption = 'D'#237'gito de control:'
end
object Label6: TLabel
Left = 11
@ -96,12 +96,12 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
Width = 78
Height = 13
AutoSize = False
Caption = 'SWIFT:'
Caption = 'BIC:'
end
object eNombre: TDBEdit
Left = 95
Left = 109
Top = 28
Width = 223
Width = 204
Height = 21
Color = clInfoBk
DataField = 'NOMBRE'
@ -109,7 +109,7 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
TabOrder = 0
end
object eCodEntidad: TDBEdit
Left = 95
Left = 109
Top = 64
Width = 74
Height = 21
@ -119,7 +119,7 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
TabOrder = 1
end
object eCodSucursal: TDBEdit
Left = 95
Left = 109
Top = 90
Width = 74
Height = 21
@ -129,7 +129,7 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
TabOrder = 2
end
object eDC: TDBEdit
Left = 95
Left = 109
Top = 116
Width = 74
Height = 21
@ -139,77 +139,178 @@ object fEditorDatosBancariosEmpresa: TfEditorDatosBancariosEmpresa
TabOrder = 3
end
object eCuenta: TDBEdit
Left = 95
Top = 142
Width = 223
Left = 109
Top = 143
Width = 204
Height = 21
DataField = 'CUENTA'
DataSource = dsDatosBancarios
TabOrder = 4
end
object eSWIFT: TDBEdit
Left = 95
Left = 109
Top = 196
Width = 223
Width = 204
Height = 21
DataField = 'SWIFT'
DataSource = dsDatosBancarios
TabOrder = 5
end
end
object GroupBox2: TGroupBox
object eIBAN: TDBEdit
Left = 117
Top = 178
Width = 204
Height = 21
DataField = 'IBAN'
DataSource = dsDatosBancarios
TabOrder = 3
end
object GroupBox3: TGroupBox
Left = 8
Top = 242
Width = 329
Height = 83
Caption = 'Sufijos para normas CSB'
TabOrder = 3
Visible = False
object Label7: TLabel
Width = 433
Height = 215
Caption = 'Configuraci'#243'n de norma SEPA'
TabOrder = 4
object Label10: TLabel
Left = 12
Top = 28
Width = 77
Width = 102
Height = 13
AutoSize = False
Caption = 'Norma 19:'
Caption = 'Sufijo del acreedor:'
end
object Label1: TLabel
object Bevel4: TBevel
Left = 135
Top = 67
Width = 285
Height = 10
Shape = bsBottomLine
end
object Label12: TLabel
Left = 12
Top = 55
Top = 68
Width = 117
Height = 13
AutoSize = False
Caption = 'Datos del presentador:'
end
object Label13: TLabel
Left = 200
Top = 28
Width = 221
Height = 13
AutoSize = False
Caption = 'N'#250'mero proporcionado por el banco.'
end
object Label11: TLabel
Left = 12
Top = 158
Width = 102
Height = 13
AutoSize = False
Caption = 'NIF/CIF:'
end
object Label14: TLabel
Left = 12
Top = 131
Width = 102
Height = 13
AutoSize = False
Caption = 'Sufijo:'
end
object Label15: TLabel
Left = 216
Top = 131
Width = 185
Height = 13
AutoSize = False
Caption = 'N'#250'mero proporcionado por el banco.'
end
object Label16: TLabel
Left = 12
Top = 102
Width = 91
Height = 14
AutoSize = False
Caption = 'Nombre:'
end
object Label17: TLabel
Left = 12
Top = 185
Width = 77
Height = 13
AutoSize = False
Caption = 'Norma 58:'
Caption = 'C'#243'd. entidad:'
end
object eNorma19: TDBEdit
Left = 95
object Label18: TLabel
Left = 225
Top = 185
Width = 77
Height = 13
AutoSize = False
Caption = 'C'#243'd. sucursal:'
end
object eSufijoAcreedor: TDBEdit
Left = 109
Top = 24
Width = 74
Height = 21
DataField = 'SUFIJO_N19'
DataField = 'SUFIJO_ACREEDOR'
DataSource = dsDatosBancarios
MaxLength = 3
TabOrder = 0
end
object eNorma58: TDBEdit
Left = 95
Top = 51
Width = 74
object eNIFCIFPresentador: TDBEdit
Left = 109
Top = 154
Width = 101
Height = 21
DataField = 'SUFIJO_N58'
DataField = 'NIF_CIF_PRESENTADOR'
DataSource = dsDatosBancarios
MaxLength = 15
TabOrder = 3
end
object eSufijoPresentador: TDBEdit
Left = 109
Top = 127
Width = 101
Height = 21
DataField = 'SUFIJO_PRESENTADOR'
DataSource = dsDatosBancarios
MaxLength = 3
TabOrder = 2
end
object eNombrePresentador: TDBEdit
Left = 109
Top = 100
Width = 292
Height = 21
DataField = 'NOMBRE_PRESENTADOR'
DataSource = dsDatosBancarios
TabOrder = 1
end
end
object eIBAN: TDBEdit
Left = 103
Top = 177
Width = 223
Height = 21
DataField = 'IBAN'
DataSource = dsDatosBancarios
TabOrder = 4
object eCodEntidadPresentador: TDBEdit
Left = 109
Top = 182
Width = 101
Height = 21
DataField = 'ENTIDAD_PRESENTADOR'
DataSource = dsDatosBancarios
MaxLength = 4
TabOrder = 4
end
object eCodSucursalPresentador: TDBEdit
Left = 299
Top = 182
Width = 102
Height = 21
DataField = 'SUCURSAL_PRESENTADOR'
DataSource = dsDatosBancarios
MaxLength = 4
TabOrder = 5
end
end
object dsDatosBancarios: TDADataSource
Left = 352

View File

@ -24,15 +24,27 @@ type
eDC: TDBEdit;
Label6: TLabel;
eCuenta: TDBEdit;
GroupBox2: TGroupBox;
Label7: TLabel;
eNorma19: TDBEdit;
Label1: TLabel;
eNorma58: TDBEdit;
eIBAN: TDBEdit;
Label8: TLabel;
eSWIFT: TDBEdit;
Label9: TLabel;
GroupBox3: TGroupBox;
Label10: TLabel;
eSufijoAcreedor: TDBEdit;
Bevel4: TBevel;
Label12: TLabel;
Label13: TLabel;
Label11: TLabel;
eNIFCIFPresentador: TDBEdit;
Label14: TLabel;
eSufijoPresentador: TDBEdit;
Label15: TLabel;
Label16: TLabel;
eNombrePresentador: TDBEdit;
Label17: TLabel;
eCodEntidadPresentador: TDBEdit;
Label18: TLabel;
eCodSucursalPresentador: TDBEdit;
protected
FController : IDatosBancariosEmpresaController;
FDatosBancarios: IBizEmpresasDatosBancarios;

View File

@ -22,6 +22,8 @@ inherited fEditorEmpresa: TfEditorEmpresa
inherited lblDesbloquear: TcxLabel
Left = 576
ExplicitLeft = 576
AnchorX = 621
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
@ -111,34 +113,34 @@ inherited fEditorEmpresa: TfEditorEmpresa
ExplicitWidth = 660
ExplicitHeight = 425
inherited PngSpeedButton1: TPngSpeedButton
Left = 615
Left = 598
Top = 295
ExplicitLeft = 615
ExplicitLeft = 598
ExplicitTop = 295
end
inherited PngSpeedButton2: TPngSpeedButton
Left = 615
Left = 598
Top = 267
ExplicitLeft = 615
ExplicitLeft = 598
ExplicitTop = 267
end
inherited eCalle: TcxDBTextEdit
Top = 267
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 267
ExplicitWidth = 234
Width = 234
end
inherited eCodigoPostal: TcxDBTextEdit
Top = 294
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 294
ExplicitWidth = 234
Width = 234
end
inherited eCodigoPostal: TcxDBTextEdit
Top = 321
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 321
end
inherited ePaginaWeb: TcxDBTextEdit
Left = 508
@ -177,12 +179,12 @@ inherited fEditorEmpresa: TfEditorEmpresa
Width = 164
end
inherited cxDBMemo1: TcxDBMemo
Top = 372
Top = 399
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 372
ExplicitTop = 399
ExplicitWidth = 329
ExplicitHeight = 64
Height = 64
@ -281,39 +283,39 @@ inherited fEditorEmpresa: TfEditorEmpresa
Width = 230
end
inherited eParamMargen: TcxDBSpinEdit
Top = 216
Top = 243
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 216
ExplicitTop = 243
end
inherited eParamTiempo: TcxDBCurrencyEdit
Top = 216
Top = 243
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 216
ExplicitTop = 243
end
inherited cbProvincia: TcxDBComboBox
Top = 294
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 294
ExplicitWidth = 91
Width = 91
end
inherited cbPoblacion: TcxDBComboBox
Top = 321
Properties.OnInitPopup = nil
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 321
ExplicitWidth = 91
Width = 91
end
inherited cbPoblacion: TcxDBComboBox
Top = 348
Properties.OnInitPopup = nil
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 348
ExplicitWidth = 234
Width = 234
end
@ -337,6 +339,14 @@ inherited fEditorEmpresa: TfEditorEmpresa
ExplicitWidth = 202
Width = 202
end
inherited cbAlmacen: TcxComboBox
Top = 192
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitTop = 192
end
end
end
end

View File

@ -53,6 +53,7 @@
<DCCReference Include="..\Utiles\Contactos_model.dcp" />
<DCCReference Include="..\Utiles\CVBNorma1958CSB.pas" />
<DCCReference Include="..\Utiles\CVBNorma19CSB.pas" />
<DCCReference Include="..\Utiles\CVBNorma19SEPA.pas" />
<DCCReference Include="..\Utiles\CVBNorma32CSB.pas" />
<DCCReference Include="..\Utiles\CVBNorma34CSB.pas" />
<DCCReference Include="..\Utiles\CVBUtils.pas" />
@ -63,6 +64,7 @@
<DCCReference Include="..\Utiles\vcl.dcp" />
<DCCReference Include="uBancaElectronicaController.pas" />
<DCCReference Include="View\uIEditorExportacionNorma19.pas" />
<DCCReference Include="View\uIEditorExportacionNorma19SEPA.pas" />
<DCCReference Include="View\uIEditorExportacionNorma32.pas" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,32 @@
unit uIEditorExportacionNorma19SEPA;
interface
type
IEditorExportacionNorma19SEPA = interface
['{AE5B7884-D54E-4384-821E-72A96891CC8C}']
procedure SetCodigoEntidad(const AValue: String);
function GetCodigoEntidad : String;
property CodigoEntidad : String read GetCodigoEntidad write SetCodigoEntidad;
procedure SetCodigoAgencia(const AValue: String);
function GetCodigoAgencia : String;
property CodigoAgencia : String read GetCodigoAgencia write SetCodigoAgencia;
procedure SetFechaCargo(const AValue: TDateTime);
function GetFechaCargo : TDateTime;
property FechaCargo : TDateTime read GetFechaCargo write SetFechaCargo;
procedure SetFichero(const AValue: String);
function GetFichero : String;
property Fichero : String read GetFichero write SetFichero;
function ShowModal : Integer;
procedure Release;
end;
implementation
end.

View File

@ -26,12 +26,14 @@ unit uBancaElectronicaController;
interface
uses
Classes, SysUtils, uDADataTable;
Classes, SysUtils, uDADataTable, uBizEmpresas,
uBizRemesasCliente;
type
IBancaElectronicaController = interface
['{9E37DF46-D02C-47C4-BCBE-414FB97A7751}']
['{8C646A34-AFDF-4F09-A8BA-D6D40B5A91B8}']
procedure GenerarFicheroNorma19 (const IDRemesa : Integer);
procedure GenerarFicheroNorma19SEPA (const IDRemesa : Integer);
procedure GenerarFicheroNorma32 (const IDRemesa : Integer);
end;
@ -39,12 +41,16 @@ type
private
function VerEditorNorma19(var Entidad : String; var Oficina : String;
var AFechaCargo : TDateTime; var AFileName : String): Boolean;
function VerEditorNorma19SEPA(var Entidad : String; var Oficina : String;
var AFechaCargo : TDateTime; var AFileName : String): Boolean;
function VerEditorNorma32(var Identificador : String;
var ACodigoINE : String; var Entidad : String; var Oficina : String;
var AFileName : String): Boolean;
function ValidarRemesaParaSEPA(ARemesa : IBizRemesaCliente): Boolean;
function ValidarEmpresaParaSEPA(AEmpresa : IBizEmpresa) : Boolean;
public
procedure GenerarFicheroNorma19 (const IDRemesa : Integer);
procedure GenerarFicheroNorma19SEPA (const IDRemesa : Integer);
procedure GenerarFicheroNorma32 (const IDRemesa : Integer);
end;
@ -53,14 +59,15 @@ implementation
uses
Forms, cxControls, Controls, Windows,
CVBNorma1958CSB, CVBNorma32CSB,
uEditorRegistryUtils,
uEditorRegistryUtils, uStringsUtils,
uBizEmpresas, uEmpresasController,
uEmpresasController, schRemesasClienteClient_Intf,
uBizContactos, uClientesController,
uBizRemesasCliente, uRemesasClienteController, schRemesasClienteClient_Intf,
uRemesasClienteController,
schRecibosClienteClient_Intf, Dialogs,
uIEditorExportacionNorma19, uIEditorExportacionNorma32, uBizRecibosCliente,
schContactosClient_Intf, schEmpresasClient_Intf;
schContactosClient_Intf, schEmpresasClient_Intf,
uIEditorExportacionNorma19SEPA, CVBNorma19SEPA;
{ TBancaElectronicaController }
@ -194,6 +201,155 @@ begin
end;
end;
procedure TBancaElectronicaController.GenerarFicheroNorma19SEPA(
const IDRemesa: Integer);
var
ARemesasController : IRemesasClienteController;
AEmpresasController : IEmpresasController;
AClientesController : IClientesController;
ARemesa : IBizRemesaCliente;
AEmpresa : IBizEmpresa;
ACliente : IBizCliente;
ANorma19 : TCVBNorma19SEPA;
I: integer;
AEntidad : String;
AOficina : String;
begin
ARemesasController := TRemesasClienteController.Create;
AEmpresasController := TEmpresasController.Create;
AClientesController := TClientesController.Create;
try
ARemesa := ARemesasController.Buscar(IDRemesa);
ARemesa.DataTable.Active := True;
ARemesasController.RecuperarRecibos(ARemesa);
if ARemesa.ID <> IDRemesa then
raise Exception.CreateFmt('No existe la remesa con ID %d', [IDRemesa]);
AEmpresa := AEmpresasController.Buscar(ARemesa.ID_EMPRESA);
AEmpresa.DataTable.Active := True;
if AEmpresa.ID <> ARemesa.ID_EMPRESA then
raise Exception.CreateFmt('No existe la empresa con ID %d', [ARemesa.ID_EMPRESA]);
ANorma19 := TCVBNorma19SEPA.Create(NIL);
ANorma19.FNomFic := 'REM' + ARemesa.REFERENCIA + '.C19';
ANorma19.Fichero.Fecha := Date;
ANorma19.Fichero.Identificador := AEmpresa.NIF_CIF + ARemesa.REFERENCIA;
ANorma19.FechaCobro := Date;
// Buscar los datos bancarios
with AEmpresa.DatosBancarios do
begin
First;
if Locate('ID', ARemesa.ID_DATOS_BANCO, []) then
begin
AEntidad := ENTIDAD;
AOficina := SUCURSAL;
end;
end;
ValidarEmpresaParaSEPA(AEmpresa);
ValidarRemesaParaSEPA(ARemesa);
if not VerEditorNorma19(AEntidad, AOficina, ANorma19.FechaCobro, ANorma19.FNomFic) then
Exit;
ShowHourglassCursor;
ANorma19.Receptor.Entidad := AEntidad;
ANorma19.Receptor.Oficina := AOficina;
with ANorma19 do
begin
Depura := True;
Abrir;
// PRESENTADOR
if AEmpresa.DatosBancarios.NIF_CIF_PRESENTADORIsNull then
Presentador.NIFCIF := AEmpresa.NIF_CIF
else
Presentador.NIFCIF := AEmpresa.DatosBancarios.NIF_CIF_PRESENTADOR;
if AEmpresa.DatosBancarios.SUFIJO_PRESENTADORIsNull then
Presentador.Sufijo := AEmpresa.DatosBancarios.SUFIJO_ACREEDOR
else
Presentador.Sufijo := AEmpresa.DatosBancarios.SUFIJO_PRESENTADOR;
if AEmpresa.DatosBancarios.NOMBRE_PRESENTADORIsNull then
Presentador.Nombre := AEmpresa.NOMBRE
else
Presentador.Nombre := AEmpresa.DatosBancarios.NOMBRE_PRESENTADOR;
GenerarCabeceraPresentador;
// ACREEDOR
Acreedor.NIFCIF := AEmpresa.NIF_CIF;
Acreedor.Nombre := AEmpresa.NOMBRE;
Acreedor.Direccion1 := AEmpresa.CALLE;
if not AEmpresa.CODIGO_POSTALIsNull then
Acreedor.Direccion2 := AEmpresa.CODIGO_POSTAL + ' ';
Acreedor.Direccion2 := Acreedor.Direccion2 + AEmpresa.POBLACION;
Acreedor.Direccion3 := AEmpresa.PROVINCIA;
Acreedor.Pais := 'ES';
Acreedor.Sufijo := AEmpresa.DatosBancarios.SUFIJO_ACREEDOR;
Acreedor.CuentaIBAN := AEmpresa.DatosBancarios.IBAN;
GenerarCabeceraAcreedor;
ARemesa.Recibos.DataTable.First;
for I := 0 to (ARemesa.Recibos.DataTable.RecordCount - 1) do
begin
//ACliente := (AClientesController.Buscar(ARemesa.Recibos.ID_CLIENTE) as IBizCliente);
//ACliente.Open;
// DEUDOR
Deudor.Nombre := ARemesa.Recibos.NOMBRE_CLIENTE;
Deudor.Direccion1 := ARemesa.Recibos.CALLE_CLIENTE;
if not ARemesa.Recibos.CODIGO_POSTAL_CLIENTEIsNull then
Deudor.Direccion2 := ARemesa.Recibos.CODIGO_POSTAL_CLIENTE + ' ';
Deudor.Direccion2 := Deudor.Direccion2 + ARemesa.Recibos.POBLACION_CLIENTE;
Deudor.Direccion3 := ARemesa.Recibos.PROVINCIA_CLIENTE;
Deudor.Pais := 'ES';
Deudor.CuentaIBAN := ARemesa.Recibos.IBAN_CLIENTE;
Deudor.CodigoBIC := ARemesa.Recibos.SWIFT_CLIENTE;
Adeudo.Referencia := ARemesa.Recibos.REFERENCIA;
Adeudo.Importe := ARemesa.Recibos.IMPORTE_TOTAL;
GenerarRegistroAdeudo;
ARemesa.Recibos.DataTable.Next;
end;
GenerarTotalAcreedor;
Cerrar;
ShowMessage('Se ha generado el fichero');
end;
finally
HideHourglassCursor;
ARemesasController := NIL;
AEmpresasController := NIL;
AClientesController := NIL;
AEmpresa := NIL;
FreeAndNil(ANorma19);
end;
end;
procedure TBancaElectronicaController.GenerarFicheroNorma32(
const IDRemesa: Integer);
var
@ -330,6 +486,79 @@ begin
end;
end;
function TBancaElectronicaController.ValidarEmpresaParaSEPA(
AEmpresa: IBizEmpresa): Boolean;
var
AMensaje : string;
begin
Result := False;
AMensaje := '';
if AEmpresa.DatosBancarios.IBANIsNull then
AMensaje := AMensaje + '- Falta el código IBAN' + #13 + #10;
if AEmpresa.DatosBancarios.SWIFTIsNull then
AMensaje := AMensaje + '- Falta el código BIC/SWIFT' + #13 + #10;
if AEmpresa.DatosBancarios.SUFIJO_ACREEDORIsNull then
AMensaje := AMensaje + '- Falta el sufijo del acreedor' + #13 + #10;
if not EsCadenaVacia(AMensaje) then
begin
AMensaje := 'No se puede generar el fichero SEPA. Se han encontrado los siguientes problemas ' + #13 + #10 +
'en los datos bancarios (' + AEmpresa.DatosBancarios.NOMBRE + ')' + #13 + #10 +
'de la empresa (' + AEmpresa.NOMBRE + '):' + #13 + #10 + #13 + #10 + AMensaje;
raise Exception.Create (AMensaje)
end
else
Result := True;
end;
function TBancaElectronicaController.ValidarRemesaParaSEPA(
ARemesa: IBizRemesaCliente): Boolean;
var
AClienteController : TClientesController;
ACliente : IBizCliente;
ARecibo : IBizRecibosCliente;
i : integer;
AMensaje : string;
begin
Result := False;
AMensaje := '';
AClienteController := TClientesController.Create;
try
ARemesa.Recibos.First;
for i := 0 to ARemesa.Recibos.RecordCount - 1 do
begin
ACliente := (AClienteController.Buscar(ARemesa.Recibos.ID_CLIENTE) as IBizCliente);
ACliente.Open;
if ACliente.DatosBancarios.IBANIsNull then
AMensaje := AMensaje + '- Cliente ' + ACliente.NOMBRE + ': falta el código IBAN' + #13 + #10;
if ACliente.DatosBancarios.SWIFTIsNull then
AMensaje := AMensaje + '- Cliente ' + ACliente.NOMBRE + ': falta el código BIC/SWIFT' + #13 + #10;
ACliente := NIL;
ARemesa.Recibos.Next;
end;
finally
FreeAndNil(AClienteController);
end;
if not EsCadenaVacia(AMensaje) then
begin
AMensaje := 'No se puede generar el fichero SEPA. Se han encontrado los siguientes problemas en los recibos de la remesa:' +
#13 + #10 + #13 + #10 + AMensaje;
raise Exception.Create (AMensaje)
end
else
Result := True;
end;
function TBancaElectronicaController.VerEditorNorma19 (
var Entidad : String; var Oficina : String; var AFechaCargo : TDateTime;
var AFileName : String): Boolean;
@ -337,7 +566,7 @@ var
AEditor : IEditorExportacionNorma19;
begin
Result := False;
AEditor := NIL;
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorExportacionNorma19', IEditorExportacionNorma19, AEditor);
@ -365,7 +594,45 @@ begin
AEditor.Release;
finally
AEditor := NIL;
end;
end;
end;
function TBancaElectronicaController.VerEditorNorma19SEPA(var Entidad,
Oficina: String; var AFechaCargo: TDateTime; var AFileName: String): Boolean;
var
AEditor : IEditorExportacionNorma19SEPA;
begin
Result := False;
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorExportacionNorma19SEPA', IEditorExportacionNorma19SEPA, AEditor);
with AEditor do
begin
CodigoEntidad := Entidad;
CodigoAgencia := Oficina;
FechaCargo := AFechaCargo;
Fichero := AFileName;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
if (AEditor.ShowModal = mrOk) then
begin
Entidad := AEditor.CodigoEntidad;
Oficina := AEditor.CodigoAgencia;
AFechaCargo := AEditor.FechaCargo;
AFileName := AEditor.Fichero;
Result := True;
end;
AEditor.Release;
finally
AEditor := NIL;
end;
end;

View File

@ -0,0 +1,718 @@
unit CVBNorma19SEPA;
interface
uses
Messages, SysUtils, Classes, Dialogs;
type
TSEPAPresentador = record
Nombre : string;
NIFCIF : string;
Sufijo : string;
end;
TSEPAFichero = record
Fecha : TDateTime;
Identificador : string;
end;
TSEPAReceptor = record
Oficina : string;
Entidad : string;
end;
TSEPAAcreedor = record
Nombre : string;
Direccion1 : string;
Direccion2 : string;
Direccion3 : string;
Pais : string;
CuentaIBAN : string;
Sufijo : string;
NIFCIF : string;
end;
TSEPADeudor = record
Nombre : string;
Direccion1 : string;
Direccion2 : string;
Direccion3 : string;
Pais : string;
CuentaIBAN : string;
CodigoBIC : string;
end;
TSEPAAdeudo = record
Referencia : string;
Importe : Currency;
end;
TCVBNorma19SEPA = class(TComponent)
private
pReg: array[0..602] of char; // 2 digitos más por el #13 #10
_LL_: integer; // Longitud Línea. Aquí almacenamos el valor 164 para usarlo
// en el resto del componente.
_INDICA_: string;
_CERO_, _SPCE_: char;
_MSK_EU_: string;
_PAIS_DEFECTO_ : string;
HayError: boolean;
FDepura: boolean;
NFic: file;
FEnCasoError: TNotifyEvent;
sReg: string;
CRLF: string;
sPrimerosDigitos: string;
cSumaImportesTotalesAdeudos : Currency; // Suma de los importes (campo 8) en los registros 003 (adeudos)
iNumeroRegistrosAdeudos: integer; // Número de registros individuales '003', adeudos
iNumeroRegistrosAcreedor : integer; // Número de registros de un bloque de acreedor (002, 003 y 004)
iNumeroRegistros: integer; // de registros individuales (tipo '003')
iTotalRegistros: integer; // Total de registros del fichero incluida el registro cabecera y el registro de totales generales
procedure ComprobarDatos(sParte: string);
protected
procedure Error(iErr: integer); dynamic;
public
NrError: integer;
FNomFic: string; // Nombre del archivo en disco
Presentador : TSEPAPresentador;
Fichero : TSEPAFichero;
Receptor : TSEPAReceptor;
Acreedor : TSEPAAcreedor;
Deudor : TSEPADeudor;
Adeudo : TSEPAAdeudo;
FecAbono: TDateTime;
FechaCobro : TDateTime;
constructor Create(AOwner: TComponent); override;
procedure Abrir;
procedure GenerarCabeceraPresentador;
procedure GenerarCabeceraAcreedor;
procedure GenerarRegistroAdeudo;
procedure GenerarTotalAcreedor;
procedure Cerrar;
published
property NomFichero: string Read FNomFic Write FNomFic;
property Depura: boolean Read FDepura Write FDepura default False;
property EnCasoError: TNotifyEvent Read FEnCasoError Write FEnCasoError;
{ Published declarations }
end;
implementation
uses
Windows, uStringsUtils, CVBUtils;
constructor TCVBNorma19SEPA.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{Asignar la propiedades por defecto}
_LL_ := high(pReg);
_INDICA_ := '<--';
_CERO_ := '0';
_SPCE_ := ' ';
_MSK_EU_ := '00000000.00';
_PAIS_DEFECTO_ := 'ES';
end;
//*******************************************************************************
procedure TCVBNorma19SEPA.Abrir;
begin
HayError := False;
AssignFile(NFic, FNomFic);
{$I+}
rewrite(Nfic, _LL_);
{$I-}
if IOResult <> 0 then
Error(0);
iNumeroRegistros := 0;
iTotalRegistros := 0;
{fTotImpOrdEu := 0;
iTotImpOrdPts := 0;
iTotDomOrd := 0;
iTotRegOrd := 0;
fTotImpCinEu := 0;
iTotImpCinPts := 0;
iTotDomCin := 0;
IniOrdenan;
IniRegistro;}
CRLF := #13 + #10;
end;
procedure TCVBNorma19SEPA.GenerarCabeceraPresentador;
var
auxDC : integer;
auxIdentificador : string;
begin
HayError := False;
sReg := '';
ComprobarDatos('01');
// Código de registro (2)
sReg := '01';
// Versión del cuaderno (5)
sReg := sReg + '19143';
// Número del dato (3)
sReg := sReg + '001'; // Adeudo directo
// Identificador del presentador (35)
auxIdentificador := Presentador.NIFCIF + _PAIS_DEFECTO_ + '00';
auxDC := Modulo9710(auxIdentificador);
sReg := sReg + _PAIS_DEFECTO_;
sReg := sReg + Ajusta(IntToStr(auxDC), 'I', 2, _CERO_);
sReg := sReg + Ajusta(Presentador.Sufijo, 'I', 3, _CERO_);
sReg := sReg + Ajusta(Presentador.NIFCIF, 'D', 28, _SPCE_);
// Nombre del presentador (70)
sReg := sReg + Ajusta(Presentador.Nombre, 'D', 70, _SPCE_);
// Fecha de creación del fichero (8)
sReg := sReg + Ajusta(FormatDateTime('yyyymmdd', Fichero.Fecha), 'I', 8, _SPCE_);
// Identificación del fichero (35)
auxIdentificador := 'PRE' + FormatDateTime('yyyymmddhhnnsszzz', Now);
auxIdentificador := auxIdentificador + Fichero.Identificador;
auxIdentificador := UpperCase(ReplaceAccents(auxIdentificador));
auxIdentificador := StringReplace(auxIdentificador, ' ' , '', [rfReplaceAll]);
sReg := sReg + Ajusta(auxIdentificador, 'D', 35, _SPCE_);
// Entidad receptora (4)
sReg := sReg + Ajusta(Receptor.Entidad, 'I', 4, _CERO_);
// Oficina receptora (4)
sReg := sReg + Ajusta(Receptor.Oficina, 'I', 4, _CERO_);
// Libre (434)
sReg := sReg + Ajusta('', 'D', 434, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
Inc(iTotalRegistros);
end;
procedure TCVBNorma19SEPA.GenerarRegistroAdeudo;
var
auxDC : integer;
auxCadena : string;
begin
HayError := False;
sReg := '';
ComprobarDatos('03');
// Código de registro (2)
sReg := '03';
// Versión del cuaderno (5)
sReg := sReg + '19143';
// Número de dato (3)
sReg := sReg + '003';
// Referencia del adeudo (AT-10) (35)
auxCadena := Adeudo.Referencia;
auxCadena := auxCadena + FormatDateTime('yyyymmddhhnnsszzz', Now);
sReg := sReg + Ajusta(auxCadena, 'D', 35, _SPCE_);
// Referencia única del mandato (AT-01) (35)
sReg := sReg + Ajusta(Adeudo.Referencia, 'D', 35, _SPCE_);
// Tipo de adeudo (AT-21) (4)
sReg := sReg + 'OOFF';
// Categoría del propósito (AT-59) (4)
sReg := sReg + Ajusta('', 'D', 4, _SPCE_);
// Importe del adeudo (AT-06) (11)
auxCadena := FormatFloat(_MSK_EU_, Adeudo.Importe);
auxCadena := StringReplace(auxCadena, DecimalSeparator, '', [rfReplaceAll]);
sReg := sReg + Ajusta(auxCadena, 'I', 11, _CERO_);
// Fecha de firma del mandato (AT-25) (8)
sReg := sReg + Ajusta(FormatDateTime('yyyymmdd', Now), 'D', 8, _CERO_);
// Entidad del deudor (AT-13) (11)
sReg := sReg + Ajusta(Deudor.CodigoBIC, 'D', 11, _SPCE_);
// Nombre del deudor (AT-14) (70)
sReg := sReg + Ajusta(Deudor.Nombre, 'D', 70, _SPCE_);
// Dirección del deudor D1 (AT-09) (50)
sReg := sReg + Ajusta(Deudor.Direccion1, 'D', 50, _SPCE_);
// Dirección del deudor D2 (AT-09) (50)
sReg := sReg + Ajusta(Deudor.Direccion2, 'D', 50, _SPCE_);
// Dirección del deudor D3 (AT-09) (40)
sReg := sReg + Ajusta(Deudor.Direccion3, 'D', 40, _SPCE_);
// País del deudor (AT-09) (2)
sReg := sReg + _PAIS_DEFECTO_;
// Tipo de identificación del deudor (1)
sReg := sReg + ' '; // optativo
// Identificación del deudor (código) (AT-27) (36)
sReg := sReg + Ajusta('', 'D', 36, _SPCE_);
// Identificación del deudor emisor código (otro) (AT-27) (35)
sReg := sReg + Ajusta('', 'D', 35, _SPCE_);
// Identificador de la cuenta del deudor (1)
sReg := sReg + 'A'; // A -> IBAN
// Cuenta del deudor (AT-07) (34)
sReg := sReg + Ajusta(Deudor.CuentaIBAN, 'D', 34, _SPCE_);
// Propósito del adeudo (AT-58) (4)
sReg := sReg + Ajusta('', 'D', 4, _SPCE_);
// Concepto (AT-22) (140)
sReg := sReg + Ajusta('', 'D', 140, _SPCE_);
// Libre (19)
sReg := sReg + Ajusta('', 'D', 19, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
cSumaImportesTotalesAdeudos := cSumaImportesTotalesAdeudos + Adeudo.Importe;
Inc(iNumeroRegistrosAcreedor);
Inc(iNumeroRegistrosAdeudos);
Inc(iTotalRegistros);
Inc(iNumeroRegistros);
end;
procedure TCVBNorma19SEPA.GenerarTotalAcreedor;
var
auxDC : integer;
auxIdentificador, auxCadena : string;
begin
HayError := False;
sReg := '';
Inc(iNumeroRegistrosAcreedor);
// Código de registro (2)
sReg := '04';
// Identificador del acreedor (AT-02) (35)
auxIdentificador := Acreedor.NIFCIF + _PAIS_DEFECTO_ + '00';
auxDC := Modulo9710(auxIdentificador);
sReg := sReg + _PAIS_DEFECTO_;
sReg := sReg + Ajusta(IntToStr(auxDC), 'I', 2, _CERO_);
sReg := sReg + Ajusta(Acreedor.Sufijo, 'I', 3, _CERO_);
sReg := sReg + Ajusta(Acreedor.NIFCIF, 'D', 28, _SPCE_);
// Fecha de cobro (AT-11) (8)
sReg := sReg + Ajusta(FormatDateTime('yyyymmdd', FechaCobro), 'I', 8, _SPCE_);
// Total de importes (17)
auxCadena := FormatFloat(_MSK_EU_, cSumaImportesTotalesAdeudos);
auxCadena := StringReplace(auxCadena, DecimalSeparator, '', [rfReplaceAll]);
sReg := sReg + Ajusta(auxCadena, 'I', 17, _CERO_);
// Número de adeudos (8)
sReg := sReg + Ajusta(IntToStr(iNumeroRegistrosAdeudos), 'I', 8, _CERO_);
// Total de registros (10)
sReg := sReg + Ajusta(IntToStr(iNumeroRegistrosAcreedor), 'I', 10, _CERO_);
// Libre (520)
sReg := sReg + Ajusta('', 'D', 520, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
Inc(iTotalRegistros);
Inc(iNumeroRegistrosAcreedor);
// Código de registro (2)
sReg := '05';
// Identificador del acreedor (AT-02) (35)
auxIdentificador := Acreedor.NIFCIF + _PAIS_DEFECTO_ + '00';
auxDC := Modulo9710(auxIdentificador);
sReg := sReg + _PAIS_DEFECTO_;
sReg := sReg + Ajusta(IntToStr(auxDC), 'I', 2, _CERO_);
sReg := sReg + Ajusta(Acreedor.Sufijo, 'I', 3, _CERO_);
sReg := sReg + Ajusta(Acreedor.NIFCIF, 'D', 28, _SPCE_);
// Total de importes (17)
auxCadena := FormatFloat(_MSK_EU_, cSumaImportesTotalesAdeudos);
auxCadena := StringReplace(auxCadena, DecimalSeparator, '', [rfReplaceAll]);
sReg := sReg + Ajusta(auxCadena, 'I', 17, _CERO_);
// Número de adeudos (8)
sReg := sReg + Ajusta(IntToStr(iNumeroRegistrosAdeudos), 'I', 8, _CERO_);
// Total de registros (10)
sReg := sReg + Ajusta(IntToStr(iNumeroRegistrosAcreedor), 'I', 10, _CERO_);
// Libre (528)
sReg := sReg + Ajusta('', 'D', 528, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
Inc(iTotalRegistros);
end;
procedure TCVBNorma19SEPA.GenerarCabeceraAcreedor;
var
auxDC : integer;
auxIdentificador : string;
begin
HayError := False;
sReg := '';
iNumeroRegistrosAdeudos := 0;
iNumeroRegistrosAcreedor := 0;
cSumaImportesTotalesAdeudos := 0;
ComprobarDatos('02');
// Código de registro (2)
sReg := '02';
// Versión del cuaderno (5)
sReg := sReg + '19143';
// Número de dato (3)
sReg := sReg + '002';
// Identificador del acreedor (AT-02) (35)
auxIdentificador := Acreedor.NIFCIF + _PAIS_DEFECTO_ + '00';
auxDC := Modulo9710(auxIdentificador);
sReg := sReg + _PAIS_DEFECTO_;
sReg := sReg + Ajusta(IntToStr(auxDC), 'I', 2, _CERO_);
sReg := sReg + Ajusta(Acreedor.Sufijo, 'I', 3, _CERO_);
sReg := sReg + Ajusta(Acreedor.NIFCIF, 'D', 28, _SPCE_);
// Fecha de cobro (AT-11) (8)
sReg := sReg + Ajusta(FormatDateTime('yyyymmdd', FechaCobro), 'I', 8, _SPCE_);
// Nombre del acreedor (AT-03) (70)
sReg := sReg + Ajusta(Acreedor.Nombre, 'D', 70, _SPCE_);
// Dirección del acreedor D1 (AT-05) (50)
sReg := sReg + Ajusta(Acreedor.Direccion1, 'D', 50, _SPCE_);
// Dirección del acreedor D2 (AT-05) (50)
sReg := sReg + Ajusta(Acreedor.Direccion2, 'D', 50, _SPCE_);
// Dirección del acreedor D3 (AT-05) (40)
sReg := sReg + Ajusta(Acreedor.Direccion3, 'D', 40, _SPCE_);
// País del acreedor (AT-05) (2)
sReg := sReg + _PAIS_DEFECTO_;
// Cuenta del acreedor (AT-04) (34)
sReg := sReg + Ajusta(Acreedor.CuentaIBAN, 'D', 34, _SPCE_);
// Libre (301)
sReg := sReg + Ajusta('', 'D', 301, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
Inc(iNumeroRegistrosAcreedor);
Inc(iTotalRegistros);
end;
procedure TCVBNorma19SEPA.ComprobarDatos(sParte: string);
var
bError: boolean;
begin
bError := False;
if sParte = '01' then // cabecera / presentador
begin
if EsCadenaVacia(Presentador.NIFCIF) then
begin
Presentador.NIFCIF := _INDICA_;
bError := True;
end
else
Presentador.NIFCIF := UpperCase(Presentador.NIFCIF);
if EsCadenaVacia(Presentador.Sufijo) then
begin
Presentador.Sufijo := _INDICA_;
bError := True;
end;
if EsCadenaVacia(Presentador.Nombre) then
begin
Presentador.Nombre := _INDICA_;
bError := True;
end
else
Presentador.Nombre := UpperCase(ReplaceAccents(Presentador.Nombre));
if EsCadenaVacia(Fichero.Identificador) then
begin
Fichero.Identificador := _INDICA_;
bError := True;
end;
if EsCadenaVacia(Receptor.Entidad) then
begin
Receptor.Entidad := _INDICA_;
bError := True;
end;
if EsCadenaVacia(Receptor.Oficina) then
begin
Receptor.Oficina := _INDICA_;
bError := True;
end;
if bError then
ShowMessage('Faltan datos al procesar el registro 01: ' + CRLF + CRLF +
'NIF/CIF del presentador: ' + Presentador.NIFCIF + CRLF +
'Sufijo del presentador: ' + Presentador.Sufijo + CRLF +
'Nombre del presentador: ' + Presentador.Nombre + CRLF +
'Identificador del fichero: ' + Fichero.Identificador + CRLF +
'Cód. entidad del receptor: ' + Receptor.Entidad + CRLF +
'Cód. oficina del receptor: ' + Receptor.Oficina + CRLF
);
end;
if sParte = '02' then // acreedor
begin
if EsCadenaVacia(Acreedor.NIFCIF) then
begin
Acreedor.NIFCIF := _INDICA_;
bError := True;
end
else
Acreedor.NIFCIF := UpperCase(Acreedor.NIFCIF);
if EsCadenaVacia(Acreedor.Nombre) then
begin
Acreedor.Nombre := _INDICA_;
bError := True;
end
else
Acreedor.Nombre := UpperCase(ReplaceAccents(Acreedor.Nombre));
if EsCadenaVacia(Acreedor.Direccion1) then
begin
Acreedor.Direccion1 := _INDICA_;
bError := True;
end
else
Acreedor.Direccion1 := UpperCase(ReplaceAccents(Acreedor.Direccion1));
Acreedor.Direccion2 := UpperCase(ReplaceAccents(Acreedor.Direccion2));
Acreedor.Direccion3 := UpperCase(ReplaceAccents(Acreedor.Direccion3));
Acreedor.Pais := UpperCase(ReplaceAccents(Acreedor.Pais));
if EsCadenaVacia(Acreedor.CuentaIBAN) then
begin
Acreedor.CuentaIBAN := _INDICA_;
bError := True;
end;
if EsCadenaVacia(Acreedor.Sufijo) then
begin
Acreedor.Sufijo := _INDICA_;
bError := True;
end;
if bError then
ShowMessage('Faltan datos al procesar el registro 02: ' + CRLF + CRLF +
'NIF/CIF del acreedor: ' + Acreedor.NIFCIF + CRLF +
'Sufijo del acreedor: ' + Acreedor.Sufijo + CRLF +
'Nombre del acreedor: ' + Acreedor.Nombre + CRLF +
'Cuenta IBAN del acreedor: ' + Acreedor.CuentaIBAN + CRLF +
'Dirección 1 del acreedor: ' + Acreedor.Direccion1 + CRLF
);
end;
if sParte = '03' then // deudor
begin
// Quitar espacios y caracteres no estándar
Adeudo.Referencia := StringReplace(UpperCase(ReplaceAccents(Adeudo.Referencia)), ' ', '', [rfReplaceAll]);
if EsCadenaVacia(Deudor.Nombre) then
begin
Deudor.Nombre := _INDICA_;
bError := True;
end
else
Deudor.Nombre := UpperCase(ReplaceAccents(Deudor.Nombre));
if EsCadenaVacia(Deudor.Direccion1) then
begin
Deudor.Direccion1 := _INDICA_;
bError := True;
end
else
Deudor.Direccion1 := UpperCase(ReplaceAccents(Deudor.Direccion1));
Deudor.Direccion2 := UpperCase(ReplaceAccents(Deudor.Direccion2));
Deudor.Direccion3 := UpperCase(ReplaceAccents(Deudor.Direccion3));
Deudor.Pais := UpperCase(ReplaceAccents(Deudor.Pais));
if EsCadenaVacia(Deudor.CuentaIBAN) then
begin
Deudor.CuentaIBAN := _INDICA_;
bError := True;
end;
if EsCadenaVacia(Deudor.CodigoBIC) then
begin
Deudor.CodigoBIC := _INDICA_;
bError := True;
end;
if bError then
ShowMessage('Faltan datos al procesar el registro 03: ' + CRLF + CRLF +
'Nombre del deudor: ' + Deudor.Nombre + CRLF +
'Dirección 1 del deudor: ' + Deudor.Direccion1 + CRLF +
'Cuenta IBAN del deudor: ' + Deudor.CuentaIBAN + CRLF +
'Código BIC del deudor: ' + Deudor.CodigoBIC
);
end;
end;
procedure TCVBNorma19SEPA.Cerrar;
var
auxCadena : string;
begin
HayError := False;
sReg := '';
Inc(iTotalRegistros);
// Código de registro
sReg := '99';
// Total de importes general (17)
auxCadena := FormatFloat(_MSK_EU_, cSumaImportesTotalesAdeudos);
auxCadena := StringReplace(auxCadena, DecimalSeparator, '', [rfReplaceAll]);
sReg := sReg + Ajusta(auxCadena, 'I', 17, _CERO_);
// Número de registros (8)
sReg := sReg + Ajusta(IntToStr(iNumeroRegistros), 'I', 8, _CERO_);
// Total de registros (10)
sReg := sReg + Ajusta(IntToStr(iTotalRegistros), 'I', 10, _CERO_);
// Libre (563)
sReg := sReg + Ajusta('', 'D', 563, _SPCE_);
// Fin
sReg := sReg + CRLF;
StrPCopy(@pReg, sReg);
BlockWrite(NFic, pReg, 1);
if not (length(sReg) = _LL_) then
Error(_LL_);
CloseFile(NFic);
end;
procedure TCVBNorma19SEPA.Error(iErr: integer);
begin
NrError := iErr;
HayError := True;
if Assigned(FEnCasoError) then
FEnCasoError(Self)
else
CloseFile(NFic);
if NrError = _LL_ then
raise Exception.Create('Error en la longitud de la línea')
else
raise Exception.Create('Error en la generación del fichero');
end;
end.

View File

@ -8,12 +8,44 @@ uses SysUtils;
function Trim(const cString: string): string;
function Replicate(c: char; nLen: integer): string;
function Ajusta(sCampo, sOrientacion: string; iLongitud: integer; sRelleno: char): string;
function Modulo9710(const ANumber : string) : Integer;
function AjustaCIF(sCampo: string): string;
function ReplaceAccents(AText : String) : string;
implementation
uses
Dialogs;
const
SansAccents : array[#0..#255] of Char
= #0#1#2#3#4#5#6#7#8#9#10#11#12#13#14#15#16#17#18#19#20#21#22#23#24#25#26#27#28#29#30#31 +
' !"#$%&''()*+,-./0123456789:;<=>?' +
'@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'+
'`abcdefghijklmnopqrstuvwxyz{|}~'#127 +
'€'#129'ƒ„…†‡ˆ‰SŒ'#141'Ž'#143#144'“”•˜™sœ'#157'zY' +
#160'¡¢£¤¥¦§¨©ª«¬*®¯°±²³´µ¶·¸¹º»¼½¾¿' +
'AAAAAAÆCEEEEIIIIDNOOOOO×OUUUUYÞß' +
'aaaaaaæceeeeiiiidnooooo÷ouuuuyþy';
function ReplaceAccents(AText : String) : string;
var
i : integer;
p : pchar;
begin
Result := AText;
if Result='' then
exit;
p := @Result[1];
for i:=1 to Length(Result) do
begin
p^ := SansAccents[p^];
inc(p);
end;
end;
function AjustaCIF(sCampo: string): string;
// Quita cualquier carácter no válido del cif,nif
var
@ -55,4 +87,31 @@ begin
Result := copy(Result, 1, iLongitud);
end;
function Modulo9710(const ANumber : string) : Integer;
const
m36:string = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
i, p : Integer;
begin
Result := 0;
for i := 1 to Length(ANumber) do
begin
p := Pos(ANumber[i], m36) ;
if p = 0 then
raise Exception.CreateFmt('Modulo97(%s): invalid data', [ANumber]);
Dec(p);
if p > 9 then
begin
Result := Result * 10 + (p div 10);
p := p mod 10;
end;
Result := Result * 10 + p;
Result := Result mod 97;
end;
Result := 98 - Result;
end;
end.

View File

@ -47,36 +47,39 @@
<DelphiCompile Include="BancaElectronica_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="BancaElectronica_controller.dcp" />
<DCCReference Include="bdertl.dcp" />
<DCCReference Include="cxDataD11.dcp" />
<DCCReference Include="cxEditorsD11.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dxCoreD11.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="Jcl.dcp" />
<DCCReference Include="JclVcl.dcp" />
<DCCReference Include="JvCoreD11R.dcp" />
<DCCReference Include="JvCustomD11R.dcp" />
<DCCReference Include="JvDlgsD11R.dcp" />
<DCCReference Include="JvGlobusD11R.dcp" />
<DCCReference Include="JvStdCtrlsD11R.dcp" />
<DCCReference Include="JvSystemD11R.dcp" />
<DCCReference Include="PNG_D10.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\BancaElectronica_controller.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\bdertl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCustomD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvGlobusD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="uBancaElectronicaViewRegister.pas" />
<DCCReference Include="uEditorExportacionNorma19.pas">
<Form>fEditorExportacionNorma19</Form>
</DCCReference>
<DCCReference Include="uEditorExportacionNorma32.pas">
<Form>fEditorExportacionNorma3</Form>
<DCCReference Include="uEditorExportacionNorma19SEPA.pas">
<Form>fEditorExportacionNorma19SEPA</Form>
</DCCReference>
<DCCReference Include="uEditorExportacionNorma32.pas">
<Form>fEditorExportacionNorma32</Form>
</DCCReference>
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="vclx.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -31,17 +31,20 @@ procedure UnregisterViews;
implementation
uses
uEditorRegistryUtils, uEditorExportacionNorma19, uEditorExportacionNorma32;
uEditorRegistryUtils, uEditorExportacionNorma19, uEditorExportacionNorma19SEPA,
uEditorExportacionNorma32;
procedure RegisterViews;
begin
EditorRegistry.RegisterClass(TfEditorExportacionNorma19, 'EditorExportacionNorma19');
EditorRegistry.RegisterClass(TfEditorExportacionNorma19SEPA, 'EditorExportacionNorma19SEPA');
EditorRegistry.RegisterClass(TfEditorExportacionNorma32, 'EditorExportacionNorma32');
end;
procedure UnregisterViews;
begin
EditorRegistry.UnRegisterClass(TfEditorExportacionNorma19);
EditorRegistry.UnRegisterClass(TfEditorExportacionNorma19SEPA);
EditorRegistry.UnRegisterClass(TfEditorExportacionNorma32);
end;

View File

@ -0,0 +1,301 @@
object fEditorExportacionNorma19SEPA: TfEditorExportacionNorma19SEPA
Left = 0
Top = 0
ActiveControl = edtCodEntidad
BorderStyle = bsDialog
Caption = 'Volcado de remesas a disco (Norma 19 SEPA)'
ClientHeight = 366
ClientWidth = 389
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poMainFormCenter
OnCreate = FormCreate
DesignSize = (
389
366)
PixelsPerInch = 96
TextHeight = 13
object Label2: TLabel
Left = 24
Top = 144
Width = 90
Height = 13
Margins.Bottom = 0
Caption = 'Entidad receptora:'
end
object Label3: TLabel
Left = 24
Top = 171
Width = 42
Height = 13
Margins.Bottom = 0
Caption = 'Agencia:'
end
object Image1: TImage
Left = 345
Top = 15
Width = 28
Height = 28
AutoSize = True
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
520000000467414D410000B18E7CFB5193000002CA4944415478DAADD55F4853
511C07F0DF25C49012DA8B1085A14581E46EAD19A3D05885CA8CA251D04325BD
D89342BEF5B087E8CD0C7AA90916E5F0A558C8989935872C866C63EE4F5BB9A8
508CB27AB01552F3EE4F3BBFED1E76B7BBED8E7B7F2078CFBDDCCF39BF73EE77
8CF575280312CA785ACD4879AE5A31043C7FAABDE243CF1D61B87DC70C81D907
B2D1AA603A9D86296704548D0D70C3745780AAAFD833A189BE9A265111241897
4CC3B4EB1DE8D816887D5EA32862E12F00C1EBCA80630C03FD090E382E05AF16
62D8523A91260318BB59308DD89501138718A81FBE07639787E0E2AF8DEC2A53
F0F4851BEF8D3B5288C5FFFC8551F35CAEB5EDBB406A6B4B401E4B8C0EE1F5E3
2040DFDA3AB6F6DCCD058A91499031D201DFDB1590DA5E01588CF14550FDF20F
B860F2E27557C75E8AE5E014FEFFCCB65815A520D9B3014B295688721333D852
52DA83CD303EE9A6F7CFF6AA21B199849773D18A2882674EB4E10C2D0DF5D0CF
8A631DD15570FB23F068D286878694A08DAC39A3EFDC8FE8269704DFC35EA62C
D873EC00DD13AB6A9B00E53172DF1B7A8F60D9CF228B6A35CDE0F3AF945D2582
278FEECBED497E3F6676AA102DC4C85F20FA8182783A8B3EFC9EE137996F3FE3
150F10829D9A56FAD2647EA5F32D4D028C8C45621F05A0580EDFB2AC22681DD1
D1B1C21C4650A7DE23C004A72F3F464A0C2CFE86D9ABD308660203785D9CC308
1E69DB0D368707A4542DA0580E2358185B52AA1A187C62289BC3B27E6E447338
BE08E9ED2CDD9AE21C5616CC62B034082EA71B0E0FFEA36780CF61B21DCA829E
E3008DB997C7B2B9BEE3D26F7AE8EC4EAFC2607E753CE89A0268BDB64EBFEF59
975F3990BCB0CEDF4531BEC82AC1F01DF772DE13520624395CB71112AC8E2FB2
4A95F12B4E88CF61D920C9E186B0BE042B44B71A96690ECB6FA93609AEFB9A8A
CF6DE9FE447358362896C362D1C8C7A26CB0D61C960DD69AC3B2C15A73F83F42
0A9D9B19DC72610000000049454E44AE426082}
end
object Bevel1: TBevel
Left = 8
Top = 321
Width = 373
Height = 3
Anchors = [akLeft, akRight, akBottom]
Shape = bsBottomLine
ExplicitTop = 328
end
object Label1: TLabel
Left = 24
Top = 264
Width = 71
Height = 13
Margins.Bottom = 0
Caption = 'Guardar como:'
end
object Bevel2: TBevel
Left = 24
Top = 245
Width = 349
Height = 3
Anchors = [akLeft, akTop, akRight]
Shape = bsBottomLine
end
object Label5: TLabel
Left = 202
Top = 144
Width = 48
Height = 13
Margins.Bottom = 0
Caption = '(4 d'#237'gitos)'
end
object Label6: TLabel
Left = 202
Top = 171
Width = 48
Height = 13
Margins.Bottom = 0
Caption = '(4 d'#237'gitos)'
end
object Label7: TLabel
Left = 24
Top = 90
Width = 65
Height = 13
Margins.Bottom = 0
Caption = 'Identificador:'
end
object Label8: TLabel
Left = 301
Top = 90
Width = 54
Height = 13
Margins.Bottom = 0
Caption = '(15 d'#237'gitos)'
end
object Label9: TLabel
Left = 24
Top = 117
Width = 69
Height = 13
Margins.Bottom = 0
Caption = 'C'#243'digo I.N.E.:'
end
object Label10: TLabel
Left = 301
Top = 117
Width = 48
Height = 13
Margins.Bottom = 0
Caption = '(9 d'#237'gitos)'
end
object Label4: TLabel
Left = 24
Top = 201
Width = 78
Height = 13
Margins.Bottom = 0
Caption = 'Fecha de cargo:'
end
object edtCodEntidad: TcxMaskEdit
Left = 120
Top = 141
Properties.BeepOnError = True
Properties.MaxLength = 4
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Text = ' '
Width = 73
end
object edtCodAgencia: TcxMaskEdit
Left = 120
Top = 168
Properties.BeepOnError = True
Properties.MaxLength = 4
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Text = ' '
Width = 73
end
object CancelBtn: TButton
Left = 301
Top = 330
Width = 75
Height = 25
Anchors = [akLeft, akRight, akBottom]
Cancel = True
Caption = '&Cancelar'
ModalResult = 2
TabOrder = 7
OnClick = CancelBtnClick
end
object OKBtn: TButton
Left = 202
Top = 330
Width = 85
Height = 25
Action = actVolcar
Anchors = [akLeft, akRight, akBottom]
TabOrder = 6
end
object JvFilenameEdit1: TJvFilenameEdit
Left = 24
Top = 283
Width = 349
Height = 21
Flat = False
ParentFlat = False
Filter = 'Ficheros de norma 32 (*.C32)|*.C32'
DialogOptions = [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist]
DialogTitle = 'Volcar a disco la remesa'
TabOrder = 5
end
object edtCodigoIdentif: TcxMaskEdit
Left = 120
Top = 87
Properties.BeepOnError = True
Properties.MaxLength = 15
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Text = ' '
Width = 167
end
object edtINE: TcxMaskEdit
Left = 120
Top = 114
Properties.BeepOnError = True
Properties.MaxLength = 9
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Text = ' '
Width = 167
end
object edtFechaCargo: TcxDateEdit
Left = 120
Top = 198
Properties.DateButtons = [btnToday]
Properties.ImmediatePost = True
Properties.SaveTime = False
Properties.ShowTime = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Width = 167
end
object JvFormStorage: TJvFormStorage
AppStorage = JvAppRegistryStorage
AppStoragePath = 'fEditorBase\'
VersionCheck = fpvcNocheck
StoredProps.Strings = (
'edtCodigoIdentif.Text'
'edtINE.Text')
StoredValues = <>
Left = 80
Top = 32
end
object JvAppRegistryStorage: TJvAppRegistryStorage
StorageOptions.BooleanStringTrueValues = 'TRUE, YES, Y'
StorageOptions.BooleanStringFalseValues = 'FALSE, NO, N'
Root = 'Software\FactuGES'
SubStorages = <>
Left = 112
Top = 32
end
object ActionList1: TActionList
Left = 144
Top = 32
object actVolcar: TAction
Caption = 'Volcar a disco'
OnExecute = actVolcarExecute
OnUpdate = actVolcarUpdate
end
end
end

View File

@ -0,0 +1,228 @@
unit uEditorExportacionNorma19SEPA;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, pngimage, cxControls, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar,
uIEditorExportacionNorma19SEPA, JvExControls, JvComponent, JvgWizardHeader,
JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement,
JvDialogs, Mask, JvExMask, JvToolEdit, ActnList;
type
TfEditorExportacionNorma19SEPA = class(TForm, IEditorExportacionNorma19SEPA)
OKBtn: TButton;
CancelBtn: TButton;
Image1: TImage;
Label2: TLabel;
Label3: TLabel;
edtCodEntidad: TcxMaskEdit;
edtCodAgencia: TcxMaskEdit;
Bevel1: TBevel;
JvFormStorage: TJvFormStorage;
JvAppRegistryStorage: TJvAppRegistryStorage;
Label1: TLabel;
Bevel2: TBevel;
JvFilenameEdit1: TJvFilenameEdit;
ActionList1: TActionList;
actVolcar: TAction;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
edtCodigoIdentif: TcxMaskEdit;
Label8: TLabel;
Label9: TLabel;
edtINE: TcxMaskEdit;
Label10: TLabel;
Label4: TLabel;
edtFechaCargo: TcxDateEdit;
procedure OKBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CancelBtnClick(Sender: TObject);
procedure actVolcarUpdate(Sender: TObject);
procedure actVolcarExecute(Sender: TObject);
private
FFichero : String;
protected
procedure SetCodigoEntidad(const AValue: String);
function GetCodigoEntidad : String;
procedure SetCodigoAgencia(const AValue: String);
function GetCodigoAgencia : String;
function GetCodigoINE: String;
procedure SetCodigoINE(const Value: String);
procedure SetCodigoIdentif(const Value: String);
function GetCodigoIdentif: String;
procedure SetFechaCargo(const AValue: TDateTime);
function GetFechaCargo : TDateTime;
procedure SetFichero(const AValue: String);
function GetFichero : String;
public
property CodigoEntidad : String read GetCodigoEntidad write SetCodigoEntidad;
property CodigoAgencia : String read GetCodigoAgencia write SetCodigoAgencia;
property CodigoIdentif : String read GetCodigoIdentif write SetCodigoIdentif;
property CodigoINE : String read GetCodigoINE write SetCodigoINE;
property FechaCargo : TDateTime read GetFechaCargo write SetFechaCargo;
property Fichero : String read GetFichero write SetFichero;
end;
implementation
{$R *.dfm}
uses
uDialogUtils;
{ TfEditorExportacionNorma32 }
procedure TfEditorExportacionNorma19SEPA.actVolcarExecute(Sender: TObject);
begin
FFichero := JvFilenameEdit1.FileName;
ModalResult := mrOk;
end;
procedure TfEditorExportacionNorma19SEPA.actVolcarUpdate(Sender: TObject);
begin
(Sender as TAction).Enabled :=
(Length(edtCodEntidad.Text) = 4) and
(Length(edtCodAgencia.Text) = 4) and
(Length(JvFilenameEdit1.Text) > 0)
end;
procedure TfEditorExportacionNorma19SEPA.CancelBtnClick(Sender: TObject);
begin
Close;
end;
procedure TfEditorExportacionNorma19SEPA.FormCreate(Sender: TObject);
var
APath : String;
begin
inherited;
with JvFormStorage do
begin
if Pos('_', Self.Name) = 0 then
APath := Self.Name
else
APath := Copy(Self.Name, 0, (Pos('_', Self.Name)-1));
AppStoragePath := APath;
end;
edtFechaCargo.Date := Now;
end;
function TfEditorExportacionNorma19SEPA.GetCodigoAgencia: String;
begin
Result := edtCodAgencia.Text;
end;
function TfEditorExportacionNorma19SEPA.GetCodigoEntidad: String;
begin
Result := edtCodEntidad.Text;
end;
function TfEditorExportacionNorma19SEPA.GetCodigoINE: String;
begin
Result := edtINE.Text;
end;
function TfEditorExportacionNorma19SEPA.GetFechaCargo: TDateTime;
begin
Result := edtFechaCargo.Date;
end;
function TfEditorExportacionNorma19SEPA.GetFichero: String;
begin
Result := FFichero;
end;
function TfEditorExportacionNorma19SEPA.GetCodigoIdentif: String;
begin
Result := edtCodigoIdentif.Text;
end;
procedure TfEditorExportacionNorma19SEPA.OKBtnClick(Sender: TObject);
var
ASaveDialog : TSaveDialog; // Save dialog variable
AArchivo : string;
ARuta : String;
begin
AArchivo := FFichero;
ARuta := ExtractFilePath(Application.ExeName);
// ASaveDialog := TSaveDialog.Create(nil);
// try
// ASaveDialog.Title := 'Volcar a disco la remesa';
// ASaveDialog.FileName := FFichero;
//
// ASaveDialog.InitialDir := GetCurrentDir;
//
// ASaveDialog.Filter := 'Ficheros de norma 19 (*.C19)|*.C19';
// ASaveDialog.DefaultExt := 'C19';
// ASaveDialog.FilterIndex := 1;
//
// try
// if ASaveDialog.Execute then
// begin
// FFichero := ASaveDialog.FileName;
// ModalResult := mrOk
// end
// else begin
// ModalResult := mrCancel;
// end;
// except
// on e: exception do
// ShowErrorMessage('error', 'error', e);
// end;
// finally
// FreeAndNIL(ASaveDialog);
// end;
{ if SaveFileDialog(Application.Handle, 'C19', 'Ficheros de norma 19 (*.C19)|*.C19',
'c:\', 'Volcar a disco la remesa', FFichero) then}
if SaveFileDialog(Application.Handle, 'C19', 'Ficheros de norma 19 (*.C19)|*.C19',
ARuta, 'Volcar a disco la remesa', AArchivo) then
ModalResult := mrOk
else
ModalResult := mrCancel;
end;
procedure TfEditorExportacionNorma19SEPA.SetCodigoAgencia(const AValue: String);
begin
edtCodAgencia.Text := AValue;
end;
procedure TfEditorExportacionNorma19SEPA.SetCodigoEntidad(const AValue: String);
begin
edtCodEntidad.Text := AValue;
end;
procedure TfEditorExportacionNorma19SEPA.SetCodigoINE(const Value: String);
begin
edtINE.Text := Value;
end;
procedure TfEditorExportacionNorma19SEPA.SetFechaCargo(const AValue: TDateTime);
begin
edtFechaCargo.Date := AValue;
end;
procedure TfEditorExportacionNorma19SEPA.SetFichero(const AValue: String);
begin
FFichero := AValue;
JvFilenameEdit1.InitialDir := ExtractFilePath(Application.ExeName);
JvFilenameEdit1.FileName := JvFilenameEdit1.InitialDir + PathDelim + FFichero;
end;
procedure TfEditorExportacionNorma19SEPA.SetCodigoIdentif(const Value: String);
begin
edtCodigoIdentif.Text := Value;
end;
end.

View File

@ -43,18 +43,6 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclDebugExpert100.bpl">JCL Debug IDE extension</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclProjectAnalysisExpert100.bpl">JCL Project Analyzer</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages>
@ -65,6 +53,30 @@
<DelphiCompile Include="Contactos_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\Servidor\adortl.dcp" />
<DCCReference Include="..\..\..\Servidor\ApplicationBase.dcp" />
<DCCReference Include="..\..\..\Servidor\Base.dcp" />
<DCCReference Include="..\..\..\Servidor\ccpackD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cfpack_d11.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_data.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_model.dcp" />
<DCCReference Include="..\..\..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\..\..\Servidor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\..\..\Servidor\designide.dcp" />
<DCCReference Include="..\..\..\Servidor\dsnap.dcp" />
<DCCReference Include="..\..\..\Servidor\dxCoreD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\..\..\Servidor\GUIBase.dcp" />
<DCCReference Include="..\..\..\Servidor\GUISDK_D11R.dcp" />
<DCCReference Include="..\..\..\Servidor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\rtl.dcp" />
<DCCReference Include="..\..\..\Servidor\vcl.dcp" />
<DCCReference Include="..\..\..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\..\..\Servidor\vcldb.dcp" />
<DCCReference Include="..\..\..\Servidor\vclx.dcp" />
<DCCReference Include="..\..\..\Servidor\xmlrtl.dcp" />
<DCCReference Include="uAgentesController.pas" />
<DCCReference Include="uClientesController.pas" />
<DCCReference Include="uContactosController.pas" />
@ -79,25 +91,6 @@
<DCCReference Include="uPersonalContactoController.pas" />
<DCCReference Include="uProveedoresController.pas" />
<DCCReference Include="uTiposClienteController.pas" />
<DCCReference Include="View\adortl.dcp" />
<DCCReference Include="View\ApplicationBase.dcp" />
<DCCReference Include="View\Base.dcp" />
<DCCReference Include="View\ccpackD11.dcp" />
<DCCReference Include="View\cfpack_d11.dcp" />
<DCCReference Include="View\Contactos_data.dcp" />
<DCCReference Include="View\Contactos_model.dcp" />
<DCCReference Include="View\cxLibraryD11.dcp" />
<DCCReference Include="View\DataAbstract_Core_D11.dcp" />
<DCCReference Include="View\dbrtl.dcp" />
<DCCReference Include="View\designide.dcp" />
<DCCReference Include="View\dsnap.dcp" />
<DCCReference Include="View\dxCoreD11.dcp" />
<DCCReference Include="View\dxGDIPlusD11.dcp" />
<DCCReference Include="View\dxThemeD11.dcp" />
<DCCReference Include="View\GUIBase.dcp" />
<DCCReference Include="View\GUISDK_D11R.dcp" />
<DCCReference Include="View\RemObjects_Core_D11.dcp" />
<DCCReference Include="View\rtl.dcp" />
<DCCReference Include="View\uIEditorAgente.pas" />
<DCCReference Include="View\uIEditorAgentes.pas" />
<DCCReference Include="View\uIEditorCliente.pas" />
@ -123,11 +116,6 @@
<DCCReference Include="View\uIEditorProveedor.pas" />
<DCCReference Include="View\uIEditorProveedores.pas" />
<DCCReference Include="View\uIEditorTiposCliente.pas" />
<DCCReference Include="View\vcl.dcp" />
<DCCReference Include="View\vclactnband.dcp" />
<DCCReference Include="View\vcldb.dcp" />
<DCCReference Include="View\vclx.dcp" />
<DCCReference Include="View\xmlrtl.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -70,7 +70,8 @@ implementation
uses
Dialogs, uEditorRegistryUtils, cxControls, DB, uDAInterfaces, uDataTableUtils,
schContactosClient_Intf, uFactuGES_App, uIEditorElegirPersonaContacto;
schContactosClient_Intf, uFactuGES_App, uIEditorElegirPersonaContacto,
uDatosBancariosContactoController;
{ TContactosController }
@ -296,6 +297,8 @@ begin
end;
function TContactosController.ValidarContacto(AContacto: IBizContacto): Boolean;
var
i: integer;
begin
if not Assigned(AContacto) then
raise Exception.Create ('Contacto no asignado');
@ -310,7 +313,19 @@ begin
AContacto.Edit;
AContacto.USUARIO := AppFactuGES.UsuarioActivo.UserName;
AContacto.Post;
with TDatosBancariosContactoController.Create do begin
try
for i := 0 to AContacto.DatosBancarios.RecordCount - 1 do
if not ValidarDatosBancarios(AContacto.DatosBancarios) then
raise Exception.Create('Debe indicar una fecha de vencimiento para esta factura');
finally
Free;
end;
end;
Result := True;
end;

View File

@ -17,11 +17,13 @@ type
TDatosBancariosContactoController = class(TControllerBase, IDatosBancariosContactoController)
private
FDataModule : IDataModuleContactos;
protected
public
procedure Ver(ADatoBancario : IBizContactosDatosBancarios);
function Localizar(ADatosBancarios: IBizContactosDatosBancarios; const ID : Integer): Boolean;
constructor Create; override;
destructor Destroy; override;
function ValidarDatosBancarios(ADatoBancario : IBizContactosDatosBancarios): Boolean; virtual;
end;
implementation
@ -64,6 +66,17 @@ begin
end;
end;
function TDatosBancariosContactoController.ValidarDatosBancarios(
ADatoBancario: IBizContactosDatosBancarios): Boolean;
begin
if not ADatoBancario.IBANIsNull then
begin
ADatoBancario.DataTable.Edit;
ADatoBancario.IBAN := StringReplace(ADatoBancario.IBAN, ' ', '', [rfReplaceAll]); // Quitar espacios
ADatoBancario.DataTable.Post;
end;
end;
procedure TDatosBancariosContactoController.Ver(
ADatoBancario : IBizContactosDatosBancarios);
var

View File

@ -376,10 +376,28 @@ inherited DataModuleContactos: TDataModuleContactos
item
Name = 'FECHA_ALTA'
DataType = datDateTime
DisplayLabel = 'DatosBancarios_FECHA_ALTA'
DictionaryEntry = 'DatosBancarios_FECHA_ALTA'
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
DisplayLabel = 'DatosBancarios_FECHA_MODIFICACION'
DictionaryEntry = 'DatosBancarios_FECHA_MODIFICACION'
end
item
Name = 'IBAN'
DataType = datString
Size = 255
DisplayLabel = 'C'#243'digo IBAN'
DictionaryEntry = 'DatosBancarios_IBAN'
end
item
Name = 'SWIFT'
DataType = datString
Size = 255
DisplayLabel = 'C'#243'digo SWIFT/BIC'
DictionaryEntry = 'DatosBancarios_SWIFT'
end>
Params = <>
MasterMappingMode = mmWhere

View File

@ -9,28 +9,28 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_Contactos = '{FBD2AAD5-CF1A-4748-AB85-1C366E1895C6}';
RID_GruposCliente = '{64DAFBB8-1672-4851-ABE6-92C49E8D4B57}';
RID_DatosBancarios = '{2E0FD9E5-4DC4-4D5F-91FD-8A75BFB2C591}';
RID_Clientes = '{3F3959CA-7FFD-4204-84C6-EB72686D1339}';
RID_Proveedores = '{E13E8932-AD15-4517-BF6B-A35E99F15143}';
RID_Empleados = '{5DEB85DB-8DFA-4F47-ABA8-073D22019702}';
RID_DireccionesContacto = '{703AD49B-BC88-40BF-A334-D8E36692A73F}';
RID_ClientesDescuentos = '{4B4343F6-C4F9-4227-B5D5-732793C9E4FD}';
RID_GruposProveedor = '{50BEB5B1-18D2-4964-80CA-A6348F1399CF}';
RID_GruposEmpleado = '{F38B7EB9-A2EF-4855-8477-74812BF2A5A4}';
RID_Contactos_Refresh = '{D4220A4F-12DF-48CD-A3FE-719ED1F87AE2}';
RID_ContratosEmpleados = '{E24AE0CB-F240-457B-BB39-24AC9127A589}';
RID_DescripcionesProveedores = '{D7A82072-1797-4B0A-BD79-0CC63702D713}';
RID_PersonalContacto = '{EAA43A4E-003C-46CC-B819-66F5841B103D}';
RID_Agentes_Comisiones = '{88CEF29A-906A-4A8B-9096-E6E403B4D87D}';
RID_ListaAnosObjetivosAlb = '{FB89CCC3-56B0-43FC-91FA-358CC0874438}';
RID_Agentes = '{4EE3484F-6FAA-49B9-973C-A48CE905A97C}';
RID_ClientesDescuentosArticulos = '{DEED0FE2-E7BF-433F-80AA-6DB119277D32}';
RID_Agentes_Objetivos_albaranes = '{36E5577F-660B-474E-AFFA-C43D241CB818}';
RID_Agentes_Objetivos_facturas = '{97B80D0A-D948-4E06-A9DA-6ABBEE918407}';
RID_ListaAnosObjetivosFac = '{928DF566-75F5-48D6-8711-36C9ECEAEE39}';
RID_TiposCliente = '{EBFA5662-8619-447E-98AC-FB6C89A2E6E4}';
RID_Contactos = '{992AEA9C-5AE5-44EA-A8FE-D4E6A3F717F0}';
RID_GruposCliente = '{B5CD9255-0C70-4B42-A263-76B9FE38EFD3}';
RID_DatosBancarios = '{F9D7DE92-8C2E-4414-8610-1D2473BAA79D}';
RID_Clientes = '{0814C2B9-B7B6-4E31-9A52-D3032FC288FE}';
RID_Proveedores = '{5585E7F6-3DDB-4738-9536-8A1D5F6E4B0D}';
RID_Empleados = '{0BC781DA-E80C-4293-915F-252DA06CC77B}';
RID_DireccionesContacto = '{4E3E6EAC-8C6A-46CF-A658-755414880A0B}';
RID_ClientesDescuentos = '{64E9157A-7605-4B4F-AA62-F20AC42947E7}';
RID_GruposProveedor = '{2292B512-F00E-48AE-B891-6C61D2F5D349}';
RID_GruposEmpleado = '{5F8014E6-D133-4B57-B5C7-5486F5D7601E}';
RID_Contactos_Refresh = '{94AE0A19-0386-4A85-8155-93BA8DD15208}';
RID_ContratosEmpleados = '{3CF887A5-EA34-405B-9374-8C3E8F9FC339}';
RID_DescripcionesProveedores = '{1659DF2D-8C6D-4C81-8412-739792111626}';
RID_PersonalContacto = '{7FAD5BE7-2DC4-446C-A5B8-3B75AEEF34E1}';
RID_Agentes_Comisiones = '{B8C42FFA-5993-4751-9343-4535E372FF3A}';
RID_ListaAnosObjetivosAlb = '{773226C3-D83D-4DA1-841E-D16C40C85BC8}';
RID_Agentes = '{EFDE4E91-7400-4C98-988B-FC95C945562B}';
RID_ClientesDescuentosArticulos = '{0FFCC71D-E159-45C3-A194-8C7863E70278}';
RID_Agentes_Objetivos_albaranes = '{64D59F8C-29DE-4522-9C4C-E82A88C8FF37}';
RID_Agentes_Objetivos_facturas = '{9434B5BB-F840-48E1-A4FE-918486873B10}';
RID_ListaAnosObjetivosFac = '{5BB7E67F-A83D-450A-A2BA-D80A9A6BFE00}';
RID_TiposCliente = '{12A1D347-3366-4139-A619-7EB7B1C40D2D}';
{ Data table names }
nme_Contactos = 'Contactos';
@ -124,6 +124,8 @@ const
fld_DatosBancariosCUENTA = 'CUENTA';
fld_DatosBancariosFECHA_ALTA = 'FECHA_ALTA';
fld_DatosBancariosFECHA_MODIFICACION = 'FECHA_MODIFICACION';
fld_DatosBancariosIBAN = 'IBAN';
fld_DatosBancariosSWIFT = 'SWIFT';
{ DatosBancarios field indexes }
idx_DatosBancariosID = 0;
@ -135,6 +137,8 @@ const
idx_DatosBancariosCUENTA = 6;
idx_DatosBancariosFECHA_ALTA = 7;
idx_DatosBancariosFECHA_MODIFICACION = 8;
idx_DatosBancariosIBAN = 9;
idx_DatosBancariosSWIFT = 10;
{ Clientes fields }
fld_ClientesID = 'ID';
@ -681,7 +685,7 @@ const
type
{ IContactos }
IContactos = interface(IDAStronglyTypedDataTable)
['{1AD56C50-FF1F-4BE0-98F8-DE3D848998CC}']
['{9EA7CCCA-5378-4B4C-A785-54BC91ECD356}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -980,7 +984,7 @@ type
{ IGruposCliente }
IGruposCliente = interface(IDAStronglyTypedDataTable)
['{88033175-AF9C-486C-8368-9CACE26FEC08}']
['{F111252D-ED81-4ED4-A865-298B1607A6BD}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1027,7 +1031,7 @@ type
{ IDatosBancarios }
IDatosBancarios = interface(IDAStronglyTypedDataTable)
['{2EA42D35-6139-4E19-B604-7D184E77D6BE}']
['{A66B524F-F074-4D2A-B41B-777721B88E1A}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1065,6 +1069,14 @@ type
procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime);
function GetFECHA_MODIFICACIONIsNull: Boolean;
procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean);
function GetIBANValue: String;
procedure SetIBANValue(const aValue: String);
function GetIBANIsNull: Boolean;
procedure SetIBANIsNull(const aValue: Boolean);
function GetSWIFTValue: String;
procedure SetSWIFTValue(const aValue: String);
function GetSWIFTIsNull: Boolean;
procedure SetSWIFTIsNull(const aValue: Boolean);
{ Properties }
@ -1086,6 +1098,10 @@ type
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
property IBAN: String read GetIBANValue write SetIBANValue;
property IBANIsNull: Boolean read GetIBANIsNull write SetIBANIsNull;
property SWIFT: String read GetSWIFTValue write SetSWIFTValue;
property SWIFTIsNull: Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
end;
{ TDatosBancariosDataTableRules }
@ -1129,6 +1145,14 @@ type
procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
function GetFECHA_MODIFICACIONIsNull: Boolean; virtual;
procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
function GetIBANValue: String; virtual;
procedure SetIBANValue(const aValue: String); virtual;
function GetIBANIsNull: Boolean; virtual;
procedure SetIBANIsNull(const aValue: Boolean); virtual;
function GetSWIFTValue: String; virtual;
procedure SetSWIFTValue(const aValue: String); virtual;
function GetSWIFTIsNull: Boolean; virtual;
procedure SetSWIFTIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -1149,6 +1173,10 @@ type
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
property FECHA_MODIFICACIONIsNull: Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
property IBAN: String read GetIBANValue write SetIBANValue;
property IBANIsNull: Boolean read GetIBANIsNull write SetIBANIsNull;
property SWIFT: String read GetSWIFTValue write SetSWIFTValue;
property SWIFTIsNull: Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -1158,7 +1186,7 @@ type
{ IClientes }
IClientes = interface(IDAStronglyTypedDataTable)
['{032412C7-385C-43AC-A778-915178DFA8C2}']
['{571DF928-3BDB-4AF1-AF0A-52859BCD5D0B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1709,7 +1737,7 @@ type
{ IProveedores }
IProveedores = interface(IDAStronglyTypedDataTable)
['{C0661B3D-7908-4A22-9C90-299A4A8214A7}']
['{6D0C6D22-EF18-41ED-9093-AAA121764D35}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2200,7 +2228,7 @@ type
{ IEmpleados }
IEmpleados = interface(IDAStronglyTypedDataTable)
['{6C3AFA58-13CD-451A-8F67-583E41E567BB}']
['{B4B336D3-A56F-45C6-B6F5-AAB520B23589}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2631,7 +2659,7 @@ type
{ IDireccionesContacto }
IDireccionesContacto = interface(IDAStronglyTypedDataTable)
['{584BA328-3C52-4F73-9680-8E8879730929}']
['{C3DCDC1C-F27A-4564-BCDD-F6DD193E6BD0}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2846,7 +2874,7 @@ type
{ IClientesDescuentos }
IClientesDescuentos = interface(IDAStronglyTypedDataTable)
['{8FC11078-DE4A-4FBF-9741-934A72DC7963}']
['{AA0E1A2A-7DB8-461D-8659-9EABA082F56E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2929,7 +2957,7 @@ type
{ IGruposProveedor }
IGruposProveedor = interface(IDAStronglyTypedDataTable)
['{B8B9E5C6-E8D8-40FC-A541-1CA958F216A7}']
['{39E3FE97-0A4F-4E61-B1C6-61EA2CC80617}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2976,7 +3004,7 @@ type
{ IGruposEmpleado }
IGruposEmpleado = interface(IDAStronglyTypedDataTable)
['{0DC9C834-D9D9-4AB1-A9C6-1EE5DA73A9B6}']
['{C9ED45D6-069B-4935-BEAD-B1C7C5B9C4AF}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -3023,7 +3051,7 @@ type
{ IContactos_Refresh }
IContactos_Refresh = interface(IDAStronglyTypedDataTable)
['{E118F78A-B03F-4BC1-99E2-711BF84051E5}']
['{C9EC0D24-6ECD-4986-ADC2-E5CDB083E12E}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -3298,7 +3326,7 @@ type
{ IContratosEmpleados }
IContratosEmpleados = interface(IDAStronglyTypedDataTable)
['{8E2C915C-BF70-4136-8B6A-1684095B7BC0}']
['{E055AC8F-7C74-4359-84AD-D4B822F747FC}']
{ Property getters and setters }
function GetCONTRATOValue: String;
procedure SetCONTRATOValue(const aValue: String);
@ -3333,7 +3361,7 @@ type
{ IDescripcionesProveedores }
IDescripcionesProveedores = interface(IDAStronglyTypedDataTable)
['{4717E1AA-49F0-4492-9086-311919DB6829}']
['{58703A76-1739-43C9-8141-2031D7BF707D}']
{ Property getters and setters }
function GetDESCRIPCION_PROVEEDORValue: String;
procedure SetDESCRIPCION_PROVEEDORValue(const aValue: String);
@ -3368,7 +3396,7 @@ type
{ IPersonalContacto }
IPersonalContacto = interface(IDAStronglyTypedDataTable)
['{FD93D978-23A4-4927-9BA6-B940CCC50F79}']
['{49C3CB8B-5A31-4DA4-B854-D4C0F1F01736}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -3511,7 +3539,7 @@ type
{ IAgentes_Comisiones }
IAgentes_Comisiones = interface(IDAStronglyTypedDataTable)
['{76DECC2C-AB59-47F6-988B-62080DA3ED75}']
['{A741C163-158B-4B97-92F1-8BC15D3CB41A}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -3594,7 +3622,7 @@ type
{ IListaAnosObjetivosAlb }
IListaAnosObjetivosAlb = interface(IDAStronglyTypedDataTable)
['{D05374C6-E73E-4782-974E-CAEEDC99B4E6}']
['{8CE34F73-A203-4771-930E-A2488C088ECC}']
{ Property getters and setters }
function GetANOValue: SmallInt;
procedure SetANOValue(const aValue: SmallInt);
@ -3629,7 +3657,7 @@ type
{ IAgentes }
IAgentes = interface(IDAStronglyTypedDataTable)
['{B84D0431-CF66-4A7E-A111-D528F18DF697}']
['{6B6DA0DD-3600-4219-B56A-5BB06AED91D2}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -3964,7 +3992,7 @@ type
{ IClientesDescuentosArticulos }
IClientesDescuentosArticulos = interface(IDAStronglyTypedDataTable)
['{BFD9569E-95ED-4789-9A0E-B909E2EE092A}']
['{1578CE66-56CC-4F6C-8DB7-E7E6BC19A452}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -4095,7 +4123,7 @@ type
{ IAgentes_Objetivos_albaranes }
IAgentes_Objetivos_albaranes = interface(IDAStronglyTypedDataTable)
['{86C7C651-E96D-4EFD-91CD-C079A43A27A4}']
['{7F52F75C-ED4C-4455-A6FA-0FC8775540E9}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -4202,7 +4230,7 @@ type
{ IAgentes_Objetivos_facturas }
IAgentes_Objetivos_facturas = interface(IDAStronglyTypedDataTable)
['{17DFBC0C-4204-4DC1-809F-C11A91125D98}']
['{DAFFEDCE-E2CB-4C48-B438-EA5445DAB1D2}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -4309,7 +4337,7 @@ type
{ IListaAnosObjetivosFac }
IListaAnosObjetivosFac = interface(IDAStronglyTypedDataTable)
['{AB67A2D7-D4FF-47E1-9EE1-493C4D3A2EAD}']
['{0CAF2EC9-6F1B-467C-9532-26CF0EC5174B}']
{ Property getters and setters }
function GetANOValue: SmallInt;
procedure SetANOValue(const aValue: SmallInt);
@ -4344,7 +4372,7 @@ type
{ ITiposCliente }
ITiposCliente = interface(IDAStronglyTypedDataTable)
['{517D7479-E97F-4BBE-BEA1-0980F1344B2C}']
['{124FB327-C835-43F3-BB56-6DC690425678}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -5149,6 +5177,48 @@ begin
DataTable.Fields[idx_DatosBancariosFECHA_MODIFICACION].AsVariant := Null;
end;
function TDatosBancariosDataTableRules.GetIBANValue: String;
begin
result := DataTable.Fields[idx_DatosBancariosIBAN].AsString;
end;
procedure TDatosBancariosDataTableRules.SetIBANValue(const aValue: String);
begin
DataTable.Fields[idx_DatosBancariosIBAN].AsString := aValue;
end;
function TDatosBancariosDataTableRules.GetIBANIsNull: boolean;
begin
result := DataTable.Fields[idx_DatosBancariosIBAN].IsNull;
end;
procedure TDatosBancariosDataTableRules.SetIBANIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_DatosBancariosIBAN].AsVariant := Null;
end;
function TDatosBancariosDataTableRules.GetSWIFTValue: String;
begin
result := DataTable.Fields[idx_DatosBancariosSWIFT].AsString;
end;
procedure TDatosBancariosDataTableRules.SetSWIFTValue(const aValue: String);
begin
DataTable.Fields[idx_DatosBancariosSWIFT].AsString := aValue;
end;
function TDatosBancariosDataTableRules.GetSWIFTIsNull: boolean;
begin
result := DataTable.Fields[idx_DatosBancariosSWIFT].IsNull;
end;
procedure TDatosBancariosDataTableRules.SetSWIFTIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_DatosBancariosSWIFT].AsVariant := Null;
end;
{ TClientesDataTableRules }
constructor TClientesDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,33 +9,33 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ContactosDelta = '{79676E3A-28FD-48E7-A1FF-E754E103F801}';
RID_GruposClienteDelta = '{53603EC3-5239-471B-9478-3E20BC31F3D6}';
RID_DatosBancariosDelta = '{1591F7B3-141B-49A9-B540-A8FEBED5226B}';
RID_ClientesDelta = '{05CD6380-6399-4281-8E9F-6732C67A63DE}';
RID_ProveedoresDelta = '{8E9CE42F-5FE9-4E9F-AE52-19B803809EA5}';
RID_EmpleadosDelta = '{D5D65099-1A31-4207-84AC-F4DA6A43592A}';
RID_DireccionesContactoDelta = '{0ED25D53-DE46-4E8A-9308-93B211FBF15B}';
RID_ClientesDescuentosDelta = '{C97901CD-8DD8-49FB-8BFB-7074517E322D}';
RID_GruposProveedorDelta = '{9F6338E6-59A2-40C8-BC9D-23C178FC2160}';
RID_GruposEmpleadoDelta = '{78EEEB9B-70B4-4D54-8B5B-0C7237FCAB40}';
RID_Contactos_RefreshDelta = '{7AC13450-107B-4B2D-8284-9DA3F9723729}';
RID_ContratosEmpleadosDelta = '{55C48082-E644-4561-88C8-A7825F0FA31F}';
RID_DescripcionesProveedoresDelta = '{80E685C5-AB20-4EBE-B7D4-500C29E4312C}';
RID_PersonalContactoDelta = '{02EF5E3B-5A4E-4F52-B801-8999B48F9CBE}';
RID_Agentes_ComisionesDelta = '{6FE9C733-D4D6-4375-ADD0-A78267946BED}';
RID_ListaAnosObjetivosAlbDelta = '{10F3BE6F-702C-4D7D-A9DD-D07185F39A7F}';
RID_AgentesDelta = '{BEB2E149-7144-4704-B83C-1F534413A927}';
RID_ClientesDescuentosArticulosDelta = '{49A3CDFA-BD96-4B3E-BE40-B3E2E17E9958}';
RID_Agentes_Objetivos_albaranesDelta = '{59BCD74F-1F68-4931-87CD-D630E334C36A}';
RID_Agentes_Objetivos_facturasDelta = '{6ABCD9E8-ACCD-4EE7-836E-C3D09BB71907}';
RID_ListaAnosObjetivosFacDelta = '{DA75406A-C26B-473D-91D8-6864A41AF5EE}';
RID_TiposClienteDelta = '{1FDEE269-2D12-4DDA-9AA9-D9BF6461CA29}';
RID_ContactosDelta = '{E56743D2-AA77-4A0B-8FC1-3B6F9FBED070}';
RID_GruposClienteDelta = '{310E11A9-D714-4048-A25A-53848267454F}';
RID_DatosBancariosDelta = '{E047E282-BA9C-4121-A9D8-3EEE25321841}';
RID_ClientesDelta = '{69B75862-8FA1-4132-9522-6181B6A3441E}';
RID_ProveedoresDelta = '{ACE0366B-9D24-41D6-85C7-E3547A9C8A00}';
RID_EmpleadosDelta = '{03BED208-4A2F-4FEC-8DEC-17B7B42E26FB}';
RID_DireccionesContactoDelta = '{827E40FA-A98D-4415-8279-E4E2722B8283}';
RID_ClientesDescuentosDelta = '{71D637D2-7260-4E3B-A032-3B14E111DB5D}';
RID_GruposProveedorDelta = '{67BF5C15-49F8-4F82-B12D-35B4BDE24CD1}';
RID_GruposEmpleadoDelta = '{D958D28A-375F-41FE-BF1B-8BAACF918043}';
RID_Contactos_RefreshDelta = '{8A0D16D4-A1C5-4092-8A1C-3A9D95E7ACC3}';
RID_ContratosEmpleadosDelta = '{30082156-01E8-4E96-9682-84B4A686E255}';
RID_DescripcionesProveedoresDelta = '{CC3917ED-2A08-4B34-BEA9-8AEE396EA140}';
RID_PersonalContactoDelta = '{822C191C-E325-466E-922F-52877636798B}';
RID_Agentes_ComisionesDelta = '{A495579D-F010-44B5-A3FF-4B495BD6880B}';
RID_ListaAnosObjetivosAlbDelta = '{43344310-35FB-4597-BEF9-27C0626D02E3}';
RID_AgentesDelta = '{ABF2F800-8BC4-4643-A7E3-D103FEFE7EE8}';
RID_ClientesDescuentosArticulosDelta = '{B7915CD1-E18A-45AE-99B7-7F8B05EF55C3}';
RID_Agentes_Objetivos_albaranesDelta = '{5898D87F-C3C0-4B97-B601-5F4BBF856B3A}';
RID_Agentes_Objetivos_facturasDelta = '{14BA0A5A-FB0E-484C-8643-77244063F85B}';
RID_ListaAnosObjetivosFacDelta = '{B60A8D3C-3583-4BCE-9166-4FFA2E430363}';
RID_TiposClienteDelta = '{0CA6260C-A8B6-45E4-B4E2-E58AD0F5A65B}';
type
{ IContactosDelta }
IContactosDelta = interface(IContactos)
['{79676E3A-28FD-48E7-A1FF-E754E103F801}']
['{E56743D2-AA77-4A0B-8FC1-3B6F9FBED070}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CATEGORIAValue : Integer;
@ -334,7 +334,7 @@ type
{ IGruposClienteDelta }
IGruposClienteDelta = interface(IGruposCliente)
['{53603EC3-5239-471B-9478-3E20BC31F3D6}']
['{310E11A9-D714-4048-A25A-53848267454F}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@ -380,7 +380,7 @@ type
{ IDatosBancariosDelta }
IDatosBancariosDelta = interface(IDatosBancarios)
['{1591F7B3-141B-49A9-B540-A8FEBED5226B}']
['{E047E282-BA9C-4121-A9D8-3EEE25321841}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CONTACTOValue : Integer;
@ -391,6 +391,8 @@ type
function GetOldCUENTAValue : String;
function GetOldFECHA_ALTAValue : DateTime;
function GetOldFECHA_MODIFICACIONValue : DateTime;
function GetOldIBANValue : String;
function GetOldSWIFTValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -402,6 +404,8 @@ type
property OldCUENTA : String read GetOldCUENTAValue;
property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
property OldIBAN : String read GetOldIBANValue;
property OldSWIFT : String read GetOldSWIFTValue;
end;
{ TDatosBancariosBusinessProcessorRules }
@ -463,6 +467,18 @@ type
function GetOldFECHA_MODIFICACIONIsNull: Boolean; virtual;
procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual;
procedure SetFECHA_MODIFICACIONIsNull(const aValue: Boolean); virtual;
function GetIBANValue: String; virtual;
function GetIBANIsNull: Boolean; virtual;
function GetOldIBANValue: String; virtual;
function GetOldIBANIsNull: Boolean; virtual;
procedure SetIBANValue(const aValue: String); virtual;
procedure SetIBANIsNull(const aValue: Boolean); virtual;
function GetSWIFTValue: String; virtual;
function GetSWIFTIsNull: Boolean; virtual;
function GetOldSWIFTValue: String; virtual;
function GetOldSWIFTIsNull: Boolean; virtual;
procedure SetSWIFTValue(const aValue: String); virtual;
procedure SetSWIFTIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -501,6 +517,14 @@ type
property FECHA_MODIFICACIONIsNull : Boolean read GetFECHA_MODIFICACIONIsNull write SetFECHA_MODIFICACIONIsNull;
property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
property OldFECHA_MODIFICACIONIsNull : Boolean read GetOldFECHA_MODIFICACIONIsNull;
property IBAN : String read GetIBANValue write SetIBANValue;
property IBANIsNull : Boolean read GetIBANIsNull write SetIBANIsNull;
property OldIBAN : String read GetOldIBANValue;
property OldIBANIsNull : Boolean read GetOldIBANIsNull;
property SWIFT : String read GetSWIFTValue write SetSWIFTValue;
property SWIFTIsNull : Boolean read GetSWIFTIsNull write SetSWIFTIsNull;
property OldSWIFT : String read GetOldSWIFTValue;
property OldSWIFTIsNull : Boolean read GetOldSWIFTIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -510,7 +534,7 @@ type
{ IClientesDelta }
IClientesDelta = interface(IClientes)
['{05CD6380-6399-4281-8E9F-6732C67A63DE}']
['{69B75862-8FA1-4132-9522-6181B6A3441E}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CATEGORIAValue : Integer;
@ -1061,7 +1085,7 @@ type
{ IProveedoresDelta }
IProveedoresDelta = interface(IProveedores)
['{8E9CE42F-5FE9-4E9F-AE52-19B803809EA5}']
['{ACE0366B-9D24-41D6-85C7-E3547A9C8A00}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CATEGORIAValue : Integer;
@ -1552,7 +1576,7 @@ type
{ IEmpleadosDelta }
IEmpleadosDelta = interface(IEmpleados)
['{D5D65099-1A31-4207-84AC-F4DA6A43592A}']
['{03BED208-4A2F-4FEC-8DEC-17B7B42E26FB}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CATEGORIAValue : Integer;
@ -1987,7 +2011,7 @@ type
{ IDireccionesContactoDelta }
IDireccionesContactoDelta = interface(IDireccionesContacto)
['{0ED25D53-DE46-4E8A-9308-93B211FBF15B}']
['{827E40FA-A98D-4415-8279-E4E2722B8283}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CONTACTOValue : Integer;
@ -2202,7 +2226,7 @@ type
{ IClientesDescuentosDelta }
IClientesDescuentosDelta = interface(IClientesDescuentos)
['{C97901CD-8DD8-49FB-8BFB-7074517E322D}']
['{71D637D2-7260-4E3B-A032-3B14E111DB5D}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CLIENTEValue : Integer;
@ -2284,7 +2308,7 @@ type
{ IGruposProveedorDelta }
IGruposProveedorDelta = interface(IGruposProveedor)
['{9F6338E6-59A2-40C8-BC9D-23C178FC2160}']
['{67BF5C15-49F8-4F82-B12D-35B4BDE24CD1}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@ -2330,7 +2354,7 @@ type
{ IGruposEmpleadoDelta }
IGruposEmpleadoDelta = interface(IGruposEmpleado)
['{78EEEB9B-70B4-4D54-8B5B-0C7237FCAB40}']
['{D958D28A-375F-41FE-BF1B-8BAACF918043}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@ -2376,7 +2400,7 @@ type
{ IContactos_RefreshDelta }
IContactos_RefreshDelta = interface(IContactos_Refresh)
['{7AC13450-107B-4B2D-8284-9DA3F9723729}']
['{8A0D16D4-A1C5-4092-8A1C-3A9D95E7ACC3}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldNIF_CIFValue : String;
@ -2651,7 +2675,7 @@ type
{ IContratosEmpleadosDelta }
IContratosEmpleadosDelta = interface(IContratosEmpleados)
['{55C48082-E644-4561-88C8-A7825F0FA31F}']
['{30082156-01E8-4E96-9682-84B4A686E255}']
{ Property getters and setters }
function GetOldCONTRATOValue : String;
@ -2685,7 +2709,7 @@ type
{ IDescripcionesProveedoresDelta }
IDescripcionesProveedoresDelta = interface(IDescripcionesProveedores)
['{80E685C5-AB20-4EBE-B7D4-500C29E4312C}']
['{CC3917ED-2A08-4B34-BEA9-8AEE396EA140}']
{ Property getters and setters }
function GetOldDESCRIPCION_PROVEEDORValue : String;
@ -2719,7 +2743,7 @@ type
{ IPersonalContactoDelta }
IPersonalContactoDelta = interface(IPersonalContacto)
['{02EF5E3B-5A4E-4F52-B801-8999B48F9CBE}']
['{822C191C-E325-466E-922F-52877636798B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CONTACTOValue : Integer;
@ -2861,7 +2885,7 @@ type
{ IAgentes_ComisionesDelta }
IAgentes_ComisionesDelta = interface(IAgentes_Comisiones)
['{6FE9C733-D4D6-4375-ADD0-A78267946BED}']
['{A495579D-F010-44B5-A3FF-4B495BD6880B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_AGENTEValue : Integer;
@ -2943,7 +2967,7 @@ type
{ IListaAnosObjetivosAlbDelta }
IListaAnosObjetivosAlbDelta = interface(IListaAnosObjetivosAlb)
['{10F3BE6F-702C-4D7D-A9DD-D07185F39A7F}']
['{43344310-35FB-4597-BEF9-27C0626D02E3}']
{ Property getters and setters }
function GetOldANOValue : SmallInt;
@ -2977,7 +3001,7 @@ type
{ IAgentesDelta }
IAgentesDelta = interface(IAgentes)
['{BEB2E149-7144-4704-B83C-1F534413A927}']
['{ABF2F800-8BC4-4643-A7E3-D103FEFE7EE8}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CATEGORIAValue : Integer;
@ -3312,7 +3336,7 @@ type
{ IClientesDescuentosArticulosDelta }
IClientesDescuentosArticulosDelta = interface(IClientesDescuentosArticulos)
['{49A3CDFA-BD96-4B3E-BE40-B3E2E17E9958}']
['{B7915CD1-E18A-45AE-99B7-7F8B05EF55C3}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CLIENTEValue : Integer;
@ -3442,7 +3466,7 @@ type
{ IAgentes_Objetivos_albaranesDelta }
IAgentes_Objetivos_albaranesDelta = interface(IAgentes_Objetivos_albaranes)
['{59BCD74F-1F68-4931-87CD-D630E334C36A}']
['{5898D87F-C3C0-4B97-B601-5F4BBF856B3A}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_AGENTEValue : Integer;
@ -3548,7 +3572,7 @@ type
{ IAgentes_Objetivos_facturasDelta }
IAgentes_Objetivos_facturasDelta = interface(IAgentes_Objetivos_facturas)
['{6ABCD9E8-ACCD-4EE7-836E-C3D09BB71907}']
['{14BA0A5A-FB0E-484C-8643-77244063F85B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_AGENTEValue : Integer;
@ -3654,7 +3678,7 @@ type
{ IListaAnosObjetivosFacDelta }
IListaAnosObjetivosFacDelta = interface(IListaAnosObjetivosFac)
['{DA75406A-C26B-473D-91D8-6864A41AF5EE}']
['{B60A8D3C-3583-4BCE-9166-4FFA2E430363}']
{ Property getters and setters }
function GetOldANOValue : SmallInt;
@ -3688,7 +3712,7 @@ type
{ ITiposClienteDelta }
ITiposClienteDelta = interface(ITiposCliente)
['{1FDEE269-2D12-4DDA-9AA9-D9BF6461CA29}']
['{0CA6260C-A8B6-45E4-B4E2-E58AD0F5A65B}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@ -4834,6 +4858,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosFECHA_MODIFICACION] := Null;
end;
function TDatosBancariosBusinessProcessorRules.GetIBANValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosIBAN];
end;
function TDatosBancariosBusinessProcessorRules.GetIBANIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosIBAN]);
end;
function TDatosBancariosBusinessProcessorRules.GetOldIBANValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosIBAN];
end;
function TDatosBancariosBusinessProcessorRules.GetOldIBANIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosIBAN]);
end;
procedure TDatosBancariosBusinessProcessorRules.SetIBANValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosIBAN] := aValue;
end;
procedure TDatosBancariosBusinessProcessorRules.SetIBANIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosIBAN] := Null;
end;
function TDatosBancariosBusinessProcessorRules.GetSWIFTValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSWIFT];
end;
function TDatosBancariosBusinessProcessorRules.GetSWIFTIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSWIFT]);
end;
function TDatosBancariosBusinessProcessorRules.GetOldSWIFTValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosSWIFT];
end;
function TDatosBancariosBusinessProcessorRules.GetOldSWIFTIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_DatosBancariosSWIFT]);
end;
procedure TDatosBancariosBusinessProcessorRules.SetSWIFTValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSWIFT] := aValue;
end;
procedure TDatosBancariosBusinessProcessorRules.SetSWIFTIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_DatosBancariosSWIFT] := Null;
end;
{ TClientesBusinessProcessorRules }
constructor TClientesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -328,6 +328,14 @@ object srvContactos: TsrvContactos
item
DatasetField = 'FECHA_MODIFICACION'
TableField = 'FECHA_MODIFICACION'
end
item
DatasetField = 'IBAN'
TableField = 'IBAN'
end
item
DatasetField = 'SWIFT'
TableField = 'SWIFT'
end>
end>
Name = 'DatosBancarios'
@ -378,10 +386,24 @@ object srvContactos: TsrvContactos
item
Name = 'FECHA_ALTA'
DataType = datDateTime
DictionaryEntry = 'DatosBancarios_FECHA_ALTA'
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
DictionaryEntry = 'DatosBancarios_FECHA_MODIFICACION'
end
item
Name = 'IBAN'
DataType = datString
Size = 255
DictionaryEntry = 'DatosBancarios_IBAN'
end
item
Name = 'SWIFT'
DataType = datString
Size = 255
DictionaryEntry = 'DatosBancarios_SWIFT'
end>
end
item
@ -3245,6 +3267,20 @@ object srvContactos: TsrvContactos
end
item
Params = <
item
Name = 'SWIFT'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'IBAN'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'ID'
DataType = datAutoInc
@ -3299,8 +3335,9 @@ object srvContactos: TsrvContactos
TargetTable = 'CONTACTOS_DATOS_BANCO'
SQL =
'INSERT'#10' INTO CONTACTOS_DATOS_BANCO'#10' (ID, ID_CONTACTO, TITULA' +
'R, ENTIDAD, SUCURSAL, DC, CUENTA)'#10' VALUES'#10' (:ID, :ID_CONTACT' +
'O, :TITULAR, :ENTIDAD, :SUCURSAL, :DC, :CUENTA)'
'R, ENTIDAD, SUCURSAL, DC, CUENTA, IBAN, SWIFT)'#10' VALUES'#10' (:ID' +
', :ID_CONTACTO, :TITULAR, :ENTIDAD, :SUCURSAL, :DC, :CUENTA, :IB' +
'AN, :SWIFT)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -3328,6 +3365,20 @@ object srvContactos: TsrvContactos
end
item
Params = <
item
Name = 'SWIFT'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'IBAN'
DataType = datString
Size = 255
Value = ''
ParamType = daptInput
end
item
Name = 'ID_CONTACTO'
DataType = datInteger
@ -3382,8 +3433,8 @@ object srvContactos: TsrvContactos
SQL =
'UPDATE CONTACTOS_DATOS_BANCO'#10' SET '#10' ID_CONTACTO = :ID_CONTAC' +
'TO, '#10' TITULAR = :TITULAR, '#10' ENTIDAD = :ENTIDAD, '#10' SUCUR' +
'SAL = :SUCURSAL, '#10' DC = :DC, '#10' CUENTA = :CUENTA'#10' WHERE'#10' ' +
' (ID = :OLD_ID)'
'SAL = :SUCURSAL, '#10' DC = :DC, '#10' CUENTA = :CUENTA,'#10' IBAN ' +
'= :IBAN,'#10' SWIFT = :SWIFT'#10' WHERE'#10' (ID = :OLD_ID)'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -6369,6 +6420,26 @@ object srvContactos: TsrvContactos
Name = 'TiposCliente_DESCRIPCION'
DataType = datString
Size = 255
end
item
Name = 'DatosBancarios_FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'DatosBancarios_FECHA_MODIFICACION'
DataType = datDateTime
end
item
Name = 'DatosBancarios_IBAN'
DataType = datString
Size = 255
DisplayLabel = 'C'#243'digo IBAN'
end
item
Name = 'DatosBancarios_SWIFT'
DataType = datString
Size = 255
DisplayLabel = 'C'#243'digo SWIFT/BIC'
end>
Left = 126
Top = 14

View File

@ -1,19 +1,20 @@
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
Width = 501
Height = 149
ExplicitWidth = 501
ExplicitHeight = 149
Width = 924
Height = 323
ExplicitWidth = 924
ExplicitHeight = 323
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 501
Height = 129
Width = 924
Height = 153
Align = alTop
ParentBackground = True
TabOrder = 0
TabStop = False
AutoContentSizes = [acsWidth]
object eEntidad: TcxDBTextEdit
Left = 117
Left = 120
Top = 55
DataBinding.DataField = 'ENTIDAD'
DataBinding.DataSource = dsDatosBancarios
@ -29,10 +30,10 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 114
Width = 28
end
object eSucursal: TcxDBTextEdit
Left = 341
Left = 301
Top = 55
DataBinding.DataField = 'SUCURSAL'
DataBinding.DataSource = dsDatosBancarios
@ -48,11 +49,11 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 112
Width = 40
end
object eCuenta: TcxDBTextEdit
Left = 238
Top = 82
Left = 557
Top = 55
DataBinding.DataField = 'CUENTA'
DataBinding.DataSource = dsDatosBancarios
Style.BorderColor = clWindowFrame
@ -70,8 +71,8 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
Width = 194
end
object eDC: TcxDBTextEdit
Left = 117
Top = 82
Left = 436
Top = 55
DataBinding.DataField = 'DC'
DataBinding.DataSource = dsDatosBancarios
Style.BorderColor = clWindowFrame
@ -89,7 +90,7 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
Width = 47
end
object eTitular: TcxDBTextEdit
Left = 117
Left = 120
Top = 28
DataBinding.DataField = 'TITULAR'
DataBinding.DataSource = dsDatosBancarios
@ -107,6 +108,44 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
TabOrder = 0
Width = 194
end
object eSWIFT: TcxDBTextEdit
Left = 120
Top = 109
DataBinding.DataField = 'SWIFT'
DataBinding.DataSource = dsDatosBancarios
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 6
Width = 348
end
object eIBAN: TcxDBTextEdit
Left = 120
Top = 82
DataBinding.DataField = 'IBAN'
DataBinding.DataSource = dsDatosBancarios
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Width = 348
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@ -141,12 +180,6 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
Control = eSucursal
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Group4: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item4: TdxLayoutItem
Caption = 'DC:'
Control = eDC
@ -160,6 +193,16 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Item7: TdxLayoutItem
Caption = 'C'#243'digo IBAN:'
Control = eIBAN
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item6: TdxLayoutItem
Caption = 'C'#243'digo SWIFT/BIC:'
Control = eSWIFT
ControlOptions.ShowBorder = False
end
end
end
end

View File

@ -27,9 +27,12 @@ type
eTitular: TcxDBTextEdit;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Group1: TdxLayoutGroup;
dsDatosBancarios: TDADataSource;
dxLayoutControl1Item6: TdxLayoutItem;
eSWIFT: TcxDBTextEdit;
dxLayoutControl1Item7: TdxLayoutItem;
eIBAN: TcxDBTextEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
end;
implementation

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Facturas proforma\Plugin\uPluginFacturasProforma.dfm */
/* C:\Codigo\Source\Modulos\Facturas proforma\Plugin\FacturasProforma_plugin.res */
/* c:\temp\dtf3E0.tmp */

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */
/* c:\temp\dtf338.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */
/* c:\temp\dtf336.tmp */

View File

@ -1,19 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticuloGrid.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */
/* c:\temp\dtf33C.tmp */

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */
/* c:\temp\dtf32E.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */
/* c:\temp\dtf32C.tmp */

View File

@ -1,22 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasArticuloGrid.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticuloGrid.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasAlbArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */
/* c:\temp\dtf332.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */
/* c:\temp\dtf322.tmp */

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */
/* c:\temp\dtf31E.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */
/* c:\temp\dtf31C.tmp */

View File

@ -1,18 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */
/* c:\temp\dtf326.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */
/* c:\temp\dtf3B6.tmp */

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */
/* c:\temp\dtf360.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */
/* c:\temp\dtf35E.tmp */

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */
/* c:\temp\dtf3D4.tmp */

View File

@ -1,29 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uDialogOpcionesImpresionPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewDireccionEntregaPedidoCli.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewDatosYSeleccionClientePedido.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewDetallesPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorPedidosClienteReport.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uDialogListaPedidosClienteEnvioEMail.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uViewElegirArticulosPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */
/* c:\temp\dtf3D2.tmp */

View File

@ -1,16 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Controller\ProcesoPresupuestosCliente_controller.res */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Controller\ProcesoPresupuestosCliente_controller.drf */

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\uPluginProcesoPresupuestosCliente.dfm */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\ProcesoPresupuestosCliente_plugin.res */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Plugin\ProcesoPresupuestosCliente_plugin.drf */

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -1,18 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\uViewProcesoPresupuestosCliente.dfm */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\uEditorProcesoPresupuestosCliente.dfm */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\ProcesoPresupuestosCliente_view.res */
/* C:\Codigo\Source\Modulos\ProcesoPresupuestoCliente\Views\ProcesoPresupuestosCliente_view.drf */

View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGSMASK 0x3FL
FILEFLAGS 0x00L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "0C0A04E4"
BEGIN
VALUE "FileVersion", "1.0.0.0\0"
VALUE "ProductVersion", "1.0.0.0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0C0A, 1252
END
END

View File

@ -303,6 +303,16 @@ inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
DataType = datString
Size = 15
end
item
Name = 'IBAN_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'SWIFT_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
@ -487,6 +497,16 @@ inherited DataModuleRecibosCliente: TDataModuleRecibosCliente
DataType = datString
Size = 15
end
item
Name = 'IBAN_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'SWIFT_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime

View File

@ -9,10 +9,10 @@ const
{ Data table rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosRecibos = '{BC312237-5569-4976-9D2C-D77F0A6E3A4F}';
RID_RecibosCliente = '{2B7E1865-2217-4970-907B-C3BDBC3C1EB7}';
RID_PagosCliente = '{8F9BE31C-DF9A-466F-AF78-886E59C9159B}';
RID_RecibosCompensadosCli = '{A3EC0EF8-7BD1-4E03-96F5-A11DE09D3D1B}';
RID_ListaAnosRecibos = '{4DDA9F16-463F-4E40-9FEB-337EA4F0BC3F}';
RID_RecibosCliente = '{B56D381E-8156-441C-94E8-59E78B21BD22}';
RID_PagosCliente = '{706185EE-B603-4F9A-BB69-A89F5757BFEF}';
RID_RecibosCompensadosCli = '{61C240A2-9F07-4533-9641-414D6FFFA743}';
{ Data table names }
nme_ListaAnosRecibos = 'ListaAnosRecibos';
@ -58,6 +58,8 @@ const
fld_RecibosClienteSUCURSAL_CLIENTE = 'SUCURSAL_CLIENTE';
fld_RecibosClienteDC_CLIENTE = 'DC_CLIENTE';
fld_RecibosClienteCUENTA_CLIENTE = 'CUENTA_CLIENTE';
fld_RecibosClienteIBAN_CLIENTE = 'IBAN_CLIENTE';
fld_RecibosClienteSWIFT_CLIENTE = 'SWIFT_CLIENTE';
fld_RecibosClienteFECHA_ALTA = 'FECHA_ALTA';
fld_RecibosClienteFECHA_MODIFICACION = 'FECHA_MODIFICACION';
fld_RecibosClienteUSUARIO = 'USUARIO';
@ -96,11 +98,13 @@ const
idx_RecibosClienteSUCURSAL_CLIENTE = 28;
idx_RecibosClienteDC_CLIENTE = 29;
idx_RecibosClienteCUENTA_CLIENTE = 30;
idx_RecibosClienteFECHA_ALTA = 31;
idx_RecibosClienteFECHA_MODIFICACION = 32;
idx_RecibosClienteUSUARIO = 33;
idx_RecibosClienteNUM_COPIAS = 34;
idx_RecibosClienteNUM_CORREOS = 35;
idx_RecibosClienteIBAN_CLIENTE = 31;
idx_RecibosClienteSWIFT_CLIENTE = 32;
idx_RecibosClienteFECHA_ALTA = 33;
idx_RecibosClienteFECHA_MODIFICACION = 34;
idx_RecibosClienteUSUARIO = 35;
idx_RecibosClienteNUM_COPIAS = 36;
idx_RecibosClienteNUM_CORREOS = 37;
{ PagosCliente fields }
fld_PagosClienteID = 'ID';
@ -162,6 +166,8 @@ const
fld_RecibosCompensadosCliSUCURSAL_CLIENTE = 'SUCURSAL_CLIENTE';
fld_RecibosCompensadosCliDC_CLIENTE = 'DC_CLIENTE';
fld_RecibosCompensadosCliCUENTA_CLIENTE = 'CUENTA_CLIENTE';
fld_RecibosCompensadosCliIBAN_CLIENTE = 'IBAN_CLIENTE';
fld_RecibosCompensadosCliSWIFT_CLIENTE = 'SWIFT_CLIENTE';
fld_RecibosCompensadosCliFECHA_ALTA = 'FECHA_ALTA';
fld_RecibosCompensadosCliFECHA_MODIFICACION = 'FECHA_MODIFICACION';
fld_RecibosCompensadosCliUSUARIO = 'USUARIO';
@ -200,16 +206,18 @@ const
idx_RecibosCompensadosCliSUCURSAL_CLIENTE = 28;
idx_RecibosCompensadosCliDC_CLIENTE = 29;
idx_RecibosCompensadosCliCUENTA_CLIENTE = 30;
idx_RecibosCompensadosCliFECHA_ALTA = 31;
idx_RecibosCompensadosCliFECHA_MODIFICACION = 32;
idx_RecibosCompensadosCliUSUARIO = 33;
idx_RecibosCompensadosCliNUM_COPIAS = 34;
idx_RecibosCompensadosCliNUM_CORREOS = 35;
idx_RecibosCompensadosCliIBAN_CLIENTE = 31;
idx_RecibosCompensadosCliSWIFT_CLIENTE = 32;
idx_RecibosCompensadosCliFECHA_ALTA = 33;
idx_RecibosCompensadosCliFECHA_MODIFICACION = 34;
idx_RecibosCompensadosCliUSUARIO = 35;
idx_RecibosCompensadosCliNUM_COPIAS = 36;
idx_RecibosCompensadosCliNUM_CORREOS = 37;
type
{ IListaAnosRecibos }
IListaAnosRecibos = interface(IDAStronglyTypedDataTable)
['{63F13839-5D8A-47A2-AB4D-E2F228286344}']
['{379F19A5-7212-4991-B822-51727D2FE4F8}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -244,7 +252,7 @@ type
{ IRecibosCliente }
IRecibosCliente = interface(IDAStronglyTypedDataTable)
['{950AE63C-A028-4275-9F09-40D9C8BC95AA}']
['{F7107F86-3295-40DA-81DE-B3E0C2E29ADD}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -370,6 +378,14 @@ type
procedure SetCUENTA_CLIENTEValue(const aValue: String);
function GetCUENTA_CLIENTEIsNull: Boolean;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean);
function GetIBAN_CLIENTEValue: String;
procedure SetIBAN_CLIENTEValue(const aValue: String);
function GetIBAN_CLIENTEIsNull: Boolean;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean);
function GetSWIFT_CLIENTEValue: String;
procedure SetSWIFT_CLIENTEValue(const aValue: String);
function GetSWIFT_CLIENTEIsNull: Boolean;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
function GetFECHA_ALTAValue: DateTime;
procedure SetFECHA_ALTAValue(const aValue: DateTime);
function GetFECHA_ALTAIsNull: Boolean;
@ -455,6 +471,10 @@ type
property DC_CLIENTEIsNull: Boolean read GetDC_CLIENTEIsNull write SetDC_CLIENTEIsNull;
property CUENTA_CLIENTE: String read GetCUENTA_CLIENTEValue write SetCUENTA_CLIENTEValue;
property CUENTA_CLIENTEIsNull: Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE: String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull: Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE: String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull: Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
@ -596,6 +616,14 @@ type
procedure SetCUENTA_CLIENTEValue(const aValue: String); virtual;
function GetCUENTA_CLIENTEIsNull: Boolean; virtual;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetIBAN_CLIENTEValue: String; virtual;
procedure SetIBAN_CLIENTEValue(const aValue: String); virtual;
function GetIBAN_CLIENTEIsNull: Boolean; virtual;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetSWIFT_CLIENTEValue: String; virtual;
procedure SetSWIFT_CLIENTEValue(const aValue: String); virtual;
function GetSWIFT_CLIENTEIsNull: Boolean; virtual;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_ALTAValue: DateTime; virtual;
procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
function GetFECHA_ALTAIsNull: Boolean; virtual;
@ -680,6 +708,10 @@ type
property DC_CLIENTEIsNull: Boolean read GetDC_CLIENTEIsNull write SetDC_CLIENTEIsNull;
property CUENTA_CLIENTE: String read GetCUENTA_CLIENTEValue write SetCUENTA_CLIENTEValue;
property CUENTA_CLIENTEIsNull: Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE: String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull: Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE: String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull: Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
@ -699,7 +731,7 @@ type
{ IPagosCliente }
IPagosCliente = interface(IDAStronglyTypedDataTable)
['{08B04FDB-21F7-4CD2-B3D2-EB421F8681CF}']
['{EE1CAA28-9F60-453B-8E22-E08122C90124}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -866,7 +898,7 @@ type
{ IRecibosCompensadosCli }
IRecibosCompensadosCli = interface(IDAStronglyTypedDataTable)
['{8C6B73FE-9E96-4F0C-86E8-45E457466CD9}']
['{7405BECF-263E-4F88-A9CB-D27F8EB09BBA}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -992,6 +1024,14 @@ type
procedure SetCUENTA_CLIENTEValue(const aValue: String);
function GetCUENTA_CLIENTEIsNull: Boolean;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean);
function GetIBAN_CLIENTEValue: String;
procedure SetIBAN_CLIENTEValue(const aValue: String);
function GetIBAN_CLIENTEIsNull: Boolean;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean);
function GetSWIFT_CLIENTEValue: String;
procedure SetSWIFT_CLIENTEValue(const aValue: String);
function GetSWIFT_CLIENTEIsNull: Boolean;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
function GetFECHA_ALTAValue: DateTime;
procedure SetFECHA_ALTAValue(const aValue: DateTime);
function GetFECHA_ALTAIsNull: Boolean;
@ -1077,6 +1117,10 @@ type
property DC_CLIENTEIsNull: Boolean read GetDC_CLIENTEIsNull write SetDC_CLIENTEIsNull;
property CUENTA_CLIENTE: String read GetCUENTA_CLIENTEValue write SetCUENTA_CLIENTEValue;
property CUENTA_CLIENTEIsNull: Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE: String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull: Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE: String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull: Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
@ -1218,6 +1262,14 @@ type
procedure SetCUENTA_CLIENTEValue(const aValue: String); virtual;
function GetCUENTA_CLIENTEIsNull: Boolean; virtual;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetIBAN_CLIENTEValue: String; virtual;
procedure SetIBAN_CLIENTEValue(const aValue: String); virtual;
function GetIBAN_CLIENTEIsNull: Boolean; virtual;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetSWIFT_CLIENTEValue: String; virtual;
procedure SetSWIFT_CLIENTEValue(const aValue: String); virtual;
function GetSWIFT_CLIENTEIsNull: Boolean; virtual;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_ALTAValue: DateTime; virtual;
procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual;
function GetFECHA_ALTAIsNull: Boolean; virtual;
@ -1302,6 +1354,10 @@ type
property DC_CLIENTEIsNull: Boolean read GetDC_CLIENTEIsNull write SetDC_CLIENTEIsNull;
property CUENTA_CLIENTE: String read GetCUENTA_CLIENTEValue write SetCUENTA_CLIENTEValue;
property CUENTA_CLIENTEIsNull: Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE: String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull: Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE: String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull: Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull: Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue;
@ -2018,6 +2074,48 @@ begin
DataTable.Fields[idx_RecibosClienteCUENTA_CLIENTE].AsVariant := Null;
end;
function TRecibosClienteDataTableRules.GetIBAN_CLIENTEValue: String;
begin
result := DataTable.Fields[idx_RecibosClienteIBAN_CLIENTE].AsString;
end;
procedure TRecibosClienteDataTableRules.SetIBAN_CLIENTEValue(const aValue: String);
begin
DataTable.Fields[idx_RecibosClienteIBAN_CLIENTE].AsString := aValue;
end;
function TRecibosClienteDataTableRules.GetIBAN_CLIENTEIsNull: boolean;
begin
result := DataTable.Fields[idx_RecibosClienteIBAN_CLIENTE].IsNull;
end;
procedure TRecibosClienteDataTableRules.SetIBAN_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RecibosClienteIBAN_CLIENTE].AsVariant := Null;
end;
function TRecibosClienteDataTableRules.GetSWIFT_CLIENTEValue: String;
begin
result := DataTable.Fields[idx_RecibosClienteSWIFT_CLIENTE].AsString;
end;
procedure TRecibosClienteDataTableRules.SetSWIFT_CLIENTEValue(const aValue: String);
begin
DataTable.Fields[idx_RecibosClienteSWIFT_CLIENTE].AsString := aValue;
end;
function TRecibosClienteDataTableRules.GetSWIFT_CLIENTEIsNull: boolean;
begin
result := DataTable.Fields[idx_RecibosClienteSWIFT_CLIENTE].IsNull;
end;
procedure TRecibosClienteDataTableRules.SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RecibosClienteSWIFT_CLIENTE].AsVariant := Null;
end;
function TRecibosClienteDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
result := DataTable.Fields[idx_RecibosClienteFECHA_ALTA].AsDateTime;
@ -3050,6 +3148,48 @@ begin
DataTable.Fields[idx_RecibosCompensadosCliCUENTA_CLIENTE].AsVariant := Null;
end;
function TRecibosCompensadosCliDataTableRules.GetIBAN_CLIENTEValue: String;
begin
result := DataTable.Fields[idx_RecibosCompensadosCliIBAN_CLIENTE].AsString;
end;
procedure TRecibosCompensadosCliDataTableRules.SetIBAN_CLIENTEValue(const aValue: String);
begin
DataTable.Fields[idx_RecibosCompensadosCliIBAN_CLIENTE].AsString := aValue;
end;
function TRecibosCompensadosCliDataTableRules.GetIBAN_CLIENTEIsNull: boolean;
begin
result := DataTable.Fields[idx_RecibosCompensadosCliIBAN_CLIENTE].IsNull;
end;
procedure TRecibosCompensadosCliDataTableRules.SetIBAN_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RecibosCompensadosCliIBAN_CLIENTE].AsVariant := Null;
end;
function TRecibosCompensadosCliDataTableRules.GetSWIFT_CLIENTEValue: String;
begin
result := DataTable.Fields[idx_RecibosCompensadosCliSWIFT_CLIENTE].AsString;
end;
procedure TRecibosCompensadosCliDataTableRules.SetSWIFT_CLIENTEValue(const aValue: String);
begin
DataTable.Fields[idx_RecibosCompensadosCliSWIFT_CLIENTE].AsString := aValue;
end;
function TRecibosCompensadosCliDataTableRules.GetSWIFT_CLIENTEIsNull: boolean;
begin
result := DataTable.Fields[idx_RecibosCompensadosCliSWIFT_CLIENTE].IsNull;
end;
procedure TRecibosCompensadosCliDataTableRules.SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RecibosCompensadosCliSWIFT_CLIENTE].AsVariant := Null;
end;
function TRecibosCompensadosCliDataTableRules.GetFECHA_ALTAValue: DateTime;
begin
result := DataTable.Fields[idx_RecibosCompensadosCliFECHA_ALTA].AsDateTime;

View File

@ -9,15 +9,15 @@ const
{ Delta rules ids
Feel free to change them to something more human readable
but make sure they are unique in the context of your application }
RID_ListaAnosRecibosDelta = '{649BB643-02D8-4B6F-B484-01261DB86923}';
RID_RecibosClienteDelta = '{B60ABB80-5D4D-4E65-AD5B-4CD1931BA50D}';
RID_PagosClienteDelta = '{BD2D85AF-8391-4DA3-93EE-F8B4210D09DB}';
RID_RecibosCompensadosCliDelta = '{5F66CE33-8833-45E1-B7E8-534173747685}';
RID_ListaAnosRecibosDelta = '{0D70A6EB-A3C6-4124-B2C7-01BFA3EAFE3A}';
RID_RecibosClienteDelta = '{CACDB118-4DA0-494D-97EA-D84B0FF97F49}';
RID_PagosClienteDelta = '{A95080B1-FAD4-42BF-B204-1F9A56BA2F28}';
RID_RecibosCompensadosCliDelta = '{9D7DB5AF-FB70-4AA3-848E-4051FF60CB29}';
type
{ IListaAnosRecibosDelta }
IListaAnosRecibosDelta = interface(IListaAnosRecibos)
['{649BB643-02D8-4B6F-B484-01261DB86923}']
['{0D70A6EB-A3C6-4124-B2C7-01BFA3EAFE3A}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -51,7 +51,7 @@ type
{ IRecibosClienteDelta }
IRecibosClienteDelta = interface(IRecibosCliente)
['{B60ABB80-5D4D-4E65-AD5B-4CD1931BA50D}']
['{CACDB118-4DA0-494D-97EA-D84B0FF97F49}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -84,6 +84,8 @@ type
function GetOldSUCURSAL_CLIENTEValue : String;
function GetOldDC_CLIENTEValue : String;
function GetOldCUENTA_CLIENTEValue : String;
function GetOldIBAN_CLIENTEValue : String;
function GetOldSWIFT_CLIENTEValue : String;
function GetOldFECHA_ALTAValue : DateTime;
function GetOldFECHA_MODIFICACIONValue : DateTime;
function GetOldUSUARIOValue : String;
@ -122,6 +124,8 @@ type
property OldSUCURSAL_CLIENTE : String read GetOldSUCURSAL_CLIENTEValue;
property OldDC_CLIENTE : String read GetOldDC_CLIENTEValue;
property OldCUENTA_CLIENTE : String read GetOldCUENTA_CLIENTEValue;
property OldIBAN_CLIENTE : String read GetOldIBAN_CLIENTEValue;
property OldSWIFT_CLIENTE : String read GetOldSWIFT_CLIENTEValue;
property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
property OldUSUARIO : String read GetOldUSUARIOValue;
@ -320,6 +324,18 @@ type
function GetOldCUENTA_CLIENTEIsNull: Boolean; virtual;
procedure SetCUENTA_CLIENTEValue(const aValue: String); virtual;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetIBAN_CLIENTEValue: String; virtual;
function GetIBAN_CLIENTEIsNull: Boolean; virtual;
function GetOldIBAN_CLIENTEValue: String; virtual;
function GetOldIBAN_CLIENTEIsNull: Boolean; virtual;
procedure SetIBAN_CLIENTEValue(const aValue: String); virtual;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetSWIFT_CLIENTEValue: String; virtual;
function GetSWIFT_CLIENTEIsNull: Boolean; virtual;
function GetOldSWIFT_CLIENTEValue: String; virtual;
function GetOldSWIFT_CLIENTEIsNull: Boolean; virtual;
procedure SetSWIFT_CLIENTEValue(const aValue: String); virtual;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_ALTAValue: DateTime; virtual;
function GetFECHA_ALTAIsNull: Boolean; virtual;
function GetOldFECHA_ALTAValue: DateTime; virtual;
@ -476,6 +492,14 @@ type
property CUENTA_CLIENTEIsNull : Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property OldCUENTA_CLIENTE : String read GetOldCUENTA_CLIENTEValue;
property OldCUENTA_CLIENTEIsNull : Boolean read GetOldCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE : String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull : Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property OldIBAN_CLIENTE : String read GetOldIBAN_CLIENTEValue;
property OldIBAN_CLIENTEIsNull : Boolean read GetOldIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE : String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull : Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property OldSWIFT_CLIENTE : String read GetOldSWIFT_CLIENTEValue;
property OldSWIFT_CLIENTEIsNull : Boolean read GetOldSWIFT_CLIENTEIsNull;
property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
@ -505,7 +529,7 @@ type
{ IPagosClienteDelta }
IPagosClienteDelta = interface(IPagosCliente)
['{BD2D85AF-8391-4DA3-93EE-F8B4210D09DB}']
['{A95080B1-FAD4-42BF-B204-1F9A56BA2F28}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBOValue : Integer;
@ -671,7 +695,7 @@ type
{ IRecibosCompensadosCliDelta }
IRecibosCompensadosCliDelta = interface(IRecibosCompensadosCli)
['{5F66CE33-8833-45E1-B7E8-534173747685}']
['{9D7DB5AF-FB70-4AA3-848E-4051FF60CB29}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_RECIBO_COMPENSADOValue : Integer;
@ -704,6 +728,8 @@ type
function GetOldSUCURSAL_CLIENTEValue : String;
function GetOldDC_CLIENTEValue : String;
function GetOldCUENTA_CLIENTEValue : String;
function GetOldIBAN_CLIENTEValue : String;
function GetOldSWIFT_CLIENTEValue : String;
function GetOldFECHA_ALTAValue : DateTime;
function GetOldFECHA_MODIFICACIONValue : DateTime;
function GetOldUSUARIOValue : String;
@ -742,6 +768,8 @@ type
property OldSUCURSAL_CLIENTE : String read GetOldSUCURSAL_CLIENTEValue;
property OldDC_CLIENTE : String read GetOldDC_CLIENTEValue;
property OldCUENTA_CLIENTE : String read GetOldCUENTA_CLIENTEValue;
property OldIBAN_CLIENTE : String read GetOldIBAN_CLIENTEValue;
property OldSWIFT_CLIENTE : String read GetOldSWIFT_CLIENTEValue;
property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue;
property OldUSUARIO : String read GetOldUSUARIOValue;
@ -940,6 +968,18 @@ type
function GetOldCUENTA_CLIENTEIsNull: Boolean; virtual;
procedure SetCUENTA_CLIENTEValue(const aValue: String); virtual;
procedure SetCUENTA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetIBAN_CLIENTEValue: String; virtual;
function GetIBAN_CLIENTEIsNull: Boolean; virtual;
function GetOldIBAN_CLIENTEValue: String; virtual;
function GetOldIBAN_CLIENTEIsNull: Boolean; virtual;
procedure SetIBAN_CLIENTEValue(const aValue: String); virtual;
procedure SetIBAN_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetSWIFT_CLIENTEValue: String; virtual;
function GetSWIFT_CLIENTEIsNull: Boolean; virtual;
function GetOldSWIFT_CLIENTEValue: String; virtual;
function GetOldSWIFT_CLIENTEIsNull: Boolean; virtual;
procedure SetSWIFT_CLIENTEValue(const aValue: String); virtual;
procedure SetSWIFT_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetFECHA_ALTAValue: DateTime; virtual;
function GetFECHA_ALTAIsNull: Boolean; virtual;
function GetOldFECHA_ALTAValue: DateTime; virtual;
@ -1096,6 +1136,14 @@ type
property CUENTA_CLIENTEIsNull : Boolean read GetCUENTA_CLIENTEIsNull write SetCUENTA_CLIENTEIsNull;
property OldCUENTA_CLIENTE : String read GetOldCUENTA_CLIENTEValue;
property OldCUENTA_CLIENTEIsNull : Boolean read GetOldCUENTA_CLIENTEIsNull;
property IBAN_CLIENTE : String read GetIBAN_CLIENTEValue write SetIBAN_CLIENTEValue;
property IBAN_CLIENTEIsNull : Boolean read GetIBAN_CLIENTEIsNull write SetIBAN_CLIENTEIsNull;
property OldIBAN_CLIENTE : String read GetOldIBAN_CLIENTEValue;
property OldIBAN_CLIENTEIsNull : Boolean read GetOldIBAN_CLIENTEIsNull;
property SWIFT_CLIENTE : String read GetSWIFT_CLIENTEValue write SetSWIFT_CLIENTEValue;
property SWIFT_CLIENTEIsNull : Boolean read GetSWIFT_CLIENTEIsNull write SetSWIFT_CLIENTEIsNull;
property OldSWIFT_CLIENTE : String read GetOldSWIFT_CLIENTEValue;
property OldSWIFT_CLIENTEIsNull : Boolean read GetOldSWIFT_CLIENTEIsNull;
property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue;
property FECHA_ALTAIsNull : Boolean read GetFECHA_ALTAIsNull write SetFECHA_ALTAIsNull;
property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue;
@ -2143,6 +2191,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteCUENTA_CLIENTE] := Null;
end;
function TRecibosClienteBusinessProcessorRules.GetIBAN_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteIBAN_CLIENTE];
end;
function TRecibosClienteBusinessProcessorRules.GetIBAN_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteIBAN_CLIENTE]);
end;
function TRecibosClienteBusinessProcessorRules.GetOldIBAN_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosClienteIBAN_CLIENTE];
end;
function TRecibosClienteBusinessProcessorRules.GetOldIBAN_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosClienteIBAN_CLIENTE]);
end;
procedure TRecibosClienteBusinessProcessorRules.SetIBAN_CLIENTEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteIBAN_CLIENTE] := aValue;
end;
procedure TRecibosClienteBusinessProcessorRules.SetIBAN_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteIBAN_CLIENTE] := Null;
end;
function TRecibosClienteBusinessProcessorRules.GetSWIFT_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteSWIFT_CLIENTE];
end;
function TRecibosClienteBusinessProcessorRules.GetSWIFT_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteSWIFT_CLIENTE]);
end;
function TRecibosClienteBusinessProcessorRules.GetOldSWIFT_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosClienteSWIFT_CLIENTE];
end;
function TRecibosClienteBusinessProcessorRules.GetOldSWIFT_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosClienteSWIFT_CLIENTE]);
end;
procedure TRecibosClienteBusinessProcessorRules.SetSWIFT_CLIENTEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteSWIFT_CLIENTE] := aValue;
end;
procedure TRecibosClienteBusinessProcessorRules.SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteSWIFT_CLIENTE] := Null;
end;
function TRecibosClienteBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosClienteFECHA_ALTA];
@ -3655,6 +3765,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliCUENTA_CLIENTE] := Null;
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetIBAN_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE];
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetIBAN_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE]);
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetOldIBAN_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE];
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetOldIBAN_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE]);
end;
procedure TRecibosCompensadosCliBusinessProcessorRules.SetIBAN_CLIENTEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE] := aValue;
end;
procedure TRecibosCompensadosCliBusinessProcessorRules.SetIBAN_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliIBAN_CLIENTE] := Null;
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetSWIFT_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE];
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetSWIFT_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE]);
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetOldSWIFT_CLIENTEValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE];
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetOldSWIFT_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE]);
end;
procedure TRecibosCompensadosCliBusinessProcessorRules.SetSWIFT_CLIENTEValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE] := aValue;
end;
procedure TRecibosCompensadosCliBusinessProcessorRules.SetSWIFT_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliSWIFT_CLIENTE] := Null;
end;
function TRecibosCompensadosCliBusinessProcessorRules.GetFECHA_ALTAValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosCompensadosCliFECHA_ALTA];

View File

@ -190,6 +190,14 @@ object srvRecibosCliente: TsrvRecibosCliente
item
DatasetField = 'NUM_CORREOS'
TableField = 'NUM_CORREOS'
end
item
DatasetField = 'IBAN_CLIENTE'
TableField = 'IBAN_CLIENTE'
end
item
DatasetField = 'SWIFT_CLIENTE'
TableField = 'SWIFT_CLIENTE'
end>
end>
Name = 'RecibosCliente'
@ -359,6 +367,16 @@ object srvRecibosCliente: TsrvRecibosCliente
DataType = datString
Size = 15
end
item
Name = 'IBAN_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'SWIFT_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
@ -666,6 +684,14 @@ object srvRecibosCliente: TsrvRecibosCliente
item
DatasetField = 'NUM_CORREOS'
TableField = 'NUM_CORREOS'
end
item
DatasetField = 'IBAN_CLIENTE'
TableField = 'IBAN_CLIENTE'
end
item
DatasetField = 'SWIFT_CLIENTE'
TableField = 'SWIFT_CLIENTE'
end>
end>
Name = 'RecibosCompensadosCli'
@ -813,6 +839,16 @@ object srvRecibosCliente: TsrvRecibosCliente
DataType = datString
Size = 15
end
item
Name = 'IBAN_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'SWIFT_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime

View File

@ -68,6 +68,9 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente
Caption = 'Volcar a disco'
DisplayMode = nbdmImageAndText
ImageIndex = 22
object TBXItem35: TTBXItem
Action = actNorma19SEPA
end
object TBXItem34: TTBXItem
Action = actNorma19
end
@ -581,6 +584,12 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente
OnExecute = actNorma32Execute
OnUpdate = actNorma32Update
end
object actNorma19SEPA: TAction
Category = 'Acciones'
Caption = 'Norma 19 SEPA'
OnExecute = actNorma19SEPAExecute
OnUpdate = actNorma19SEPAUpdate
end
end
inherited SmallImages: TPngImageList [6]
PngImages = <

View File

@ -33,6 +33,8 @@ type
TBXSubmenuItem3: TTBXSubmenuItem;
TBXItem33: TTBXItem;
TBXItem34: TTBXItem;
actNorma19SEPA: TAction;
TBXItem35: TTBXItem;
procedure FormShow(Sender: TObject);
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
@ -47,6 +49,8 @@ type
procedure actNorma32Execute(Sender: TObject);
procedure actNorma19Update(Sender: TObject);
procedure actNorma32Update(Sender: TObject);
procedure actNorma19SEPAExecute(Sender: TObject);
procedure actNorma19SEPAUpdate(Sender: TObject);
private
procedure OnRecibosChanged(Sender: TObject);
protected
@ -311,6 +315,25 @@ begin
end;
end;
procedure TfEditorRemesaCliente.actNorma19SEPAExecute(Sender: TObject);
var
ABancaController : IBancaElectronicaController;
begin
inherited;
ABancaController := TBancaElectronicaController.Create;
try
ABancaController.GenerarFicheroNorma19SEPA(FRemesaCliente.ID);
finally
ABancaController := NIL;
end;
end;
procedure TfEditorRemesaCliente.actNorma19SEPAUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos and (not FRemesaCliente.EsNuevo);
end;
procedure TfEditorRemesaCliente.actNorma19Update(Sender: TObject);
begin
(Sender as TAction).Enabled := HayDatos and (not FRemesaCliente.EsNuevo);

View File

@ -1529,14 +1529,6 @@ inherited fEditorRemesasCliente: TfEditorRemesasCliente
end>
Bitmap = {}
end
inherited GridPopupMenu: TPopupMenu
object N4: TMenuItem [8]
Caption = '-'
end
object Volcaradisco1: TMenuItem [9]
Action = actVolcarDisco
end
end
object JsListaRemesasNoEliminadas: TJSDialog
Glyph.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00

View File

@ -18,8 +18,6 @@ type
TfEditorRemesasCliente = class(TfEditorGridBase, IEditorRemesasCliente)
actVolcarDisco: TAction;
TBXSeparatorItem17: TTBXSeparatorItem;
N4: TMenuItem;
Volcaradisco1: TMenuItem;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXItem38: TTBXItem;
JsListaRemesasNoEliminadas: TJSDialog;

View File

@ -1,17 +0,0 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */
/* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */
/* c:\temp\dtf37C.tmp */

Binary file not shown.

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "4.3.4.0\0"
VALUE "ProductVersion", "4.3.4.0\0"
VALUE "CompileDate", "jueves, 12 de diciembre de 2013 16:36\0"
VALUE "CompileDate", "viernes, 13 de diciembre de 2013 10:15\0"
END
END
BLOCK "VarFileInfo"