Version 2.6.7
git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@111 93f398dd-4eb6-7a46-baf6-13f46f578da2
This commit is contained in:
parent
fc9e51cab4
commit
355542a949
BIN
Build/Build.fbl6
BIN
Build/Build.fbl6
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -105,7 +105,10 @@ contains
|
||||
uStringsUtils in 'Utiles\uStringsUtils.pas',
|
||||
uAppInfoUtils in 'Utiles\uAppInfoUtils.pas',
|
||||
uViewConfiguracionRegistryUtils in 'Utiles\ClassRegistry\uViewConfiguracionRegistryUtils.pas',
|
||||
uEMailUtils in 'Utiles\uEMailUtils.pas';
|
||||
uEMailUtils in 'Utiles\uEMailUtils.pas',
|
||||
IBANMetrics in 'Utiles\TIBAN\IBANMetrics.pas',
|
||||
IBAN in 'Utiles\TIBAN\IBAN.pas',
|
||||
uIBANUtils in 'Utiles\uIBANUtils.pas';
|
||||
|
||||
end.
|
||||
|
||||
@ -44,6 +44,20 @@
|
||||
<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="PackageDescription">Libreria base de FactuGES</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><Excluded_Packages>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
|
||||
@ -59,54 +73,6 @@
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
|
||||
<DCCReference Include="..\Servidor\adortl.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxDataD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxExtEditorsD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxGridD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\cxPageControlD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="..\Servidor\dbrtl.dcp" />
|
||||
<DCCReference Include="..\Servidor\dclIndyCore.dcp" />
|
||||
<DCCReference Include="..\Servidor\designide.dcp" />
|
||||
<DCCReference Include="..\Servidor\dsnap.dcp" />
|
||||
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\dxPSCoreD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\dxThemeD11.dcp" />
|
||||
<DCCReference Include="..\Servidor\GUISDK_D11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\IndyCore.dcp" />
|
||||
<DCCReference Include="..\Servidor\IndyProtocols.dcp" />
|
||||
<DCCReference Include="..\Servidor\IndySystem.dcp" />
|
||||
<DCCReference Include="..\Servidor\Jcl.dcp" />
|
||||
<DCCReference Include="..\Servidor\JclVcl.dcp" />
|
||||
<DCCReference Include="..\Servidor\JSDialog100.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvCmpD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvDlgsD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvMMD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvNetD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvPageCompsD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvStdCtrlsD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\pckMD5.dcp" />
|
||||
<DCCReference Include="..\Servidor\pckUCDataConnector.dcp" />
|
||||
<DCCReference Include="..\Servidor\pckUserControl_RT.dcp" />
|
||||
<DCCReference Include="..\Servidor\PluginSDK_D11R.dcp" />
|
||||
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="..\Servidor\PNG_D10.dcp" />
|
||||
<DCCReference Include="..\Servidor\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="..\Servidor\rtl.dcp" />
|
||||
<DCCReference Include="..\Servidor\TB2k_D10.dcp" />
|
||||
<DCCReference Include="..\Servidor\tbx_d10.dcp" />
|
||||
<DCCReference Include="..\Servidor\vcl.dcp" />
|
||||
<DCCReference Include="..\Servidor\vclactnband.dcp" />
|
||||
<DCCReference Include="..\Servidor\vcldb.dcp" />
|
||||
<DCCReference Include="..\Servidor\vcljpg.dcp" />
|
||||
<DCCReference Include="..\Servidor\VclSmp.dcp" />
|
||||
<DCCReference Include="..\Servidor\vclx.dcp" />
|
||||
<DCCReference Include="..\Servidor\xmlrtl.dcp" />
|
||||
<DCCReference Include="Conexion\uConfigurarConexion.pas">
|
||||
<Form>fConfigurarConexion</Form>
|
||||
<DesignClass>TForm</DesignClass>
|
||||
@ -130,11 +96,54 @@
|
||||
<Form>dmBase</Form>
|
||||
<DesignClass>TDataModule</DesignClass>
|
||||
</DCCReference>
|
||||
<DCCReference Include="Utiles\adortl.dcp" />
|
||||
<DCCReference Include="Utiles\ClassRegistry\uClassRegistryUtils.pas" />
|
||||
<DCCReference Include="Utiles\ClassRegistry\uEditorRegistryUtils.pas" />
|
||||
<DCCReference Include="Utiles\ClassRegistry\uInformeRegistryUtils.pas" />
|
||||
<DCCReference Include="Utiles\ClassRegistry\uViewConfiguracionRegistryUtils.pas" />
|
||||
<DCCReference Include="Utiles\ClassRegistry\uViewRegistryUtils.pas" />
|
||||
<DCCReference Include="Utiles\cxDataD11.dcp" />
|
||||
<DCCReference Include="Utiles\cxEditorsD11.dcp" />
|
||||
<DCCReference Include="Utiles\cxExtEditorsD11.dcp" />
|
||||
<DCCReference Include="Utiles\cxGridD11.dcp" />
|
||||
<DCCReference Include="Utiles\cxLibraryD11.dcp" />
|
||||
<DCCReference Include="Utiles\cxPageControlD11.dcp" />
|
||||
<DCCReference Include="Utiles\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="Utiles\dbrtl.dcp" />
|
||||
<DCCReference Include="Utiles\dclIndyCore.dcp" />
|
||||
<DCCReference Include="Utiles\designide.dcp" />
|
||||
<DCCReference Include="Utiles\dsnap.dcp" />
|
||||
<DCCReference Include="Utiles\dxGDIPlusD11.dcp" />
|
||||
<DCCReference Include="Utiles\dxPSCoreD11.dcp" />
|
||||
<DCCReference Include="Utiles\dxThemeD11.dcp" />
|
||||
<DCCReference Include="Utiles\GUISDK_D11R.dcp" />
|
||||
<DCCReference Include="Utiles\IndyCore.dcp" />
|
||||
<DCCReference Include="Utiles\IndyProtocols.dcp" />
|
||||
<DCCReference Include="Utiles\IndySystem.dcp" />
|
||||
<DCCReference Include="Utiles\Jcl.dcp" />
|
||||
<DCCReference Include="Utiles\JclVcl.dcp" />
|
||||
<DCCReference Include="Utiles\JSDialog100.dcp" />
|
||||
<DCCReference Include="Utiles\JvCmpD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvDlgsD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvMMD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvNetD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvPageCompsD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvStdCtrlsD11R.dcp" />
|
||||
<DCCReference Include="Utiles\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="Utiles\pckMD5.dcp" />
|
||||
<DCCReference Include="Utiles\pckUCDataConnector.dcp" />
|
||||
<DCCReference Include="Utiles\pckUserControl_RT.dcp" />
|
||||
<DCCReference Include="Utiles\PluginSDK_D11R.dcp" />
|
||||
<DCCReference Include="Utiles\PngComponentsD10.dcp" />
|
||||
<DCCReference Include="Utiles\PNG_D10.dcp" />
|
||||
<DCCReference Include="Utiles\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="Utiles\rtl.dcp" />
|
||||
<DCCReference Include="Utiles\TB2k_D10.dcp" />
|
||||
<DCCReference Include="Utiles\tbx_d10.dcp" />
|
||||
<DCCReference Include="Utiles\TIBAN\IBAN.pas" />
|
||||
<DCCReference Include="Utiles\TIBAN\IBANMetrics.pas" />
|
||||
<DCCReference Include="Utiles\uAppInfoUtils.pas" />
|
||||
<DCCReference Include="Utiles\uCalculosUtils.pas" />
|
||||
<DCCReference Include="Utiles\uDataTableUtils.pas" />
|
||||
@ -143,6 +152,7 @@
|
||||
<DCCReference Include="Utiles\uDialogUtils.pas" />
|
||||
<DCCReference Include="Utiles\uEMailUtils.pas" />
|
||||
<DCCReference Include="Utiles\uGridUtils.pas" />
|
||||
<DCCReference Include="Utiles\uIBANUtils.pas" />
|
||||
<DCCReference Include="Utiles\uInfoProjectUtils.pas" />
|
||||
<DCCReference Include="Utiles\uIntegerListUtils.pas" />
|
||||
<DCCReference Include="Utiles\uMD5.pas" />
|
||||
@ -150,6 +160,13 @@
|
||||
<DCCReference Include="Utiles\uPasswordUtils.pas" />
|
||||
<DCCReference Include="Utiles\uSistemaFunc.pas" />
|
||||
<DCCReference Include="Utiles\uStringsUtils.pas" />
|
||||
<DCCReference Include="Utiles\vcl.dcp" />
|
||||
<DCCReference Include="Utiles\vclactnband.dcp" />
|
||||
<DCCReference Include="Utiles\vcldb.dcp" />
|
||||
<DCCReference Include="Utiles\vcljpg.dcp" />
|
||||
<DCCReference Include="Utiles\VclSmp.dcp" />
|
||||
<DCCReference Include="Utiles\vclx.dcp" />
|
||||
<DCCReference Include="Utiles\xmlrtl.dcp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<!-- EurekaLog First Line
|
||||
|
||||
453
Source/Base/Utiles/TIBAN/IBAN.pas
Normal file
453
Source/Base/Utiles/TIBAN/IBAN.pas
Normal file
@ -0,0 +1,453 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ IBAN }
|
||||
{ }
|
||||
{ Copyright (C) 2011 Heiko Adams }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
{
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS"
|
||||
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing rights and limitations
|
||||
under the License.
|
||||
|
||||
The Original Code is IBAN.pas.
|
||||
|
||||
The Initial Developer of the Original Code is Heiko Adams <heiko.adams@gmail.com>.
|
||||
|
||||
Contributor(s): ______________________________________.
|
||||
}
|
||||
|
||||
unit IBAN;
|
||||
|
||||
interface
|
||||
|
||||
uses IBANMetrics;
|
||||
|
||||
type
|
||||
TIBAN = class
|
||||
private
|
||||
FAccountID: string;
|
||||
FBankCode: string;
|
||||
FCountry: string;
|
||||
FIBAN: string;
|
||||
// 20130830 Heiko Adams
|
||||
FLastError: Integer;
|
||||
|
||||
FMetrics: TIBANMetrics;
|
||||
|
||||
function EncodeCountry(const aLand: string): string;
|
||||
function Modulo97(const aIBAN:string):Integer;
|
||||
function CheckIBAN: Boolean;
|
||||
function CalcIBAN: string;
|
||||
function GetLand: string;
|
||||
function GetCountryFromIBAN: string;
|
||||
procedure SetCountry(const aValue: string);
|
||||
procedure SetIBAN(const aValue: string);
|
||||
procedure FillM97Tab;
|
||||
// 20130830 Heiko Adams
|
||||
procedure SetErrorCode(nError: Integer);
|
||||
public
|
||||
// 20130830 Heiko Adams ...
|
||||
// Don't use these properties because they are deprecated and will be
|
||||
// removed in future versions of this class!
|
||||
property Konto: string read FAccountID write FAccountID;
|
||||
property BLZ: string read FBankCode write FBankCode;
|
||||
property Land: string read GetLand write SetCountry;
|
||||
// ... 20130830 Heiko Adams
|
||||
|
||||
// 20130830 Heiko Adams i18n version of german named public properties ...
|
||||
property BankAccount: string read FAccountID write FAccountID;
|
||||
property BankCode: string read FBankCode write FBankCode;
|
||||
property Country: string read GetLand write SetCountry;
|
||||
// ... 20130830 Heiko Adams
|
||||
|
||||
property IBAN: string read CalcIBAN write SetIBAN;
|
||||
property Valid: Boolean read CheckIBAN;
|
||||
// 20130830 Heiko Adams
|
||||
property ErrorCode: Integer read FLastError;
|
||||
|
||||
function checkIBANCode(const sIban: String): boolean; deprecated;
|
||||
function IsIBAN(const s:string):boolean;
|
||||
|
||||
// 20130830 Heiko Adams ...
|
||||
function GetAccountNumberFromIBAN: string;
|
||||
function GetBankCodeFromIBAN: string;
|
||||
// ... 20130830 Heiko Adams
|
||||
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
var
|
||||
m97tab:array[0..96,0..9] of byte;
|
||||
|
||||
implementation
|
||||
|
||||
uses SysUtils, Windows;
|
||||
|
||||
destructor TIBAN.Destroy;
|
||||
begin
|
||||
ZeroMemory(@FMetrics, SizeOf(FMetrics));
|
||||
inherited;
|
||||
end;
|
||||
|
||||
constructor TIBAN.Create;
|
||||
begin
|
||||
inherited;
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
FillM97Tab;
|
||||
end;
|
||||
|
||||
procedure TIBAN.SetErrorCode(nError: Integer);
|
||||
begin
|
||||
FLastError := nError;
|
||||
end;
|
||||
|
||||
function TIBAN.GetAccountNumberFromIBAN: string;
|
||||
begin
|
||||
Result := EmptyStr;
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
|
||||
if {(Assigned(FMetrics)) and} (trim(FIBAN) <> EmptyStr) then
|
||||
Result := Copy(FIBAN, FMetrics.nStartKTO, FMetrics.nLenKTO)
|
||||
// 20130830 Heiko Adams ...
|
||||
else
|
||||
SetErrorCode(-180);
|
||||
// ... 20130830 Heiko Adams
|
||||
end;
|
||||
|
||||
function TIBAN.GetBankCodeFromIBAN: string;
|
||||
begin
|
||||
Result := EmptyStr;
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
|
||||
if {Assigned(FMetrics) and} (trim(FIBAN) <> EmptyStr) then
|
||||
Result := Copy(FIBAN, FMetrics.nStartBLZ, FMetrics.nLenBLZ)
|
||||
// 20130830 Heiko Adams ...
|
||||
else
|
||||
SetErrorCode(-190);
|
||||
// ... 20130830 Heiko Adams
|
||||
end;
|
||||
|
||||
procedure TIBAN.SetCountry(const aValue: string);
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
FCountry := Trim(UpperCase(Copy(aValue, 1, 2)));
|
||||
|
||||
if (Length(FCountry) < 2) then
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.CreateFmt('Invalid country code: %s', [aValue]);
|
||||
SetErrorCode(-100);
|
||||
|
||||
ZeroMemory(@FMetrics, SizeOf(FMetrics));
|
||||
FMetrics := GetIBANMetrics(FCountry);
|
||||
|
||||
//20130901 Heiko Adams
|
||||
SetErrorCode(FMetrics.nErrorCode);
|
||||
end;
|
||||
|
||||
function TIBAN.GetCountryFromIBAN: string;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
|
||||
if (Trim(FIBAN) = EmptyStr) then
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.Create('IBAN not set');
|
||||
SetErrorCode(-110);
|
||||
|
||||
Result := Copy(FIBAN, 1, 2);
|
||||
end;
|
||||
|
||||
procedure TIBAN.SetIBAN(const aValue: string);
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
|
||||
if (Trim(aValue) = EmptyStr) then
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.Create('No IBAN submitted');
|
||||
SetErrorCode(-120);
|
||||
|
||||
FIBAN := aValue;
|
||||
SetCountry(GetCountryFromIBAN);
|
||||
end;
|
||||
|
||||
function TIBAN.GetLand: string;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
Result := EmptyStr;
|
||||
|
||||
if not (FCountry = EmptyStr) then
|
||||
Result := FCountry
|
||||
else if not (FIBAN = EmptyStr) then
|
||||
Result := GetCountryFromIBAN
|
||||
else
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.Create('No country or IBAN set');
|
||||
SetErrorCode(-130);
|
||||
end;
|
||||
|
||||
// Original code by shima (http://www.delphipraxis.net/1061658-post6.html)
|
||||
function TIBAN.Modulo97(const aIBAN:string):Integer;
|
||||
const
|
||||
m36:string = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
var
|
||||
nCounter, nPruef : Integer;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
Result := 0;
|
||||
|
||||
for nCounter := 1 to Length(aIBAN) do
|
||||
begin
|
||||
nPruef := Pos(aIBAN[nCounter], m36) ;
|
||||
|
||||
if (nPruef = 0) then
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.CreateFmt('Modulo97PruefZiffer(%s): invalid data', [aIBAN]);
|
||||
SetErrorCode(-140);
|
||||
|
||||
Dec(nPruef);
|
||||
|
||||
if (nPruef > 9) then
|
||||
begin
|
||||
Result := Result * 10 + (nPruef div 10);
|
||||
nPruef := nPruef mod 10;
|
||||
end;
|
||||
|
||||
Result := Result * 10 + nPruef;
|
||||
Result := Result mod 97;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Code beigesteuert von Amateurprofi (http://www.delphipraxis.net/159320-iban-ueberpruefen.html#post1154665)
|
||||
procedure TIBAN.FillM97Tab;
|
||||
var
|
||||
i,j:Integer;
|
||||
begin
|
||||
for i:=0 to 96 do
|
||||
for j:=0 to 9 do
|
||||
m97tab[i,j]:=(i*10+j) Mod 97;
|
||||
end;
|
||||
|
||||
function TIBAN.EncodeCountry(const aLand: string): string;
|
||||
var
|
||||
sLetter: Char;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
|
||||
if (Length(Trim(aLand)) <> 2) then
|
||||
SetErrorCode(-100);
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.CreateFmt('Invalid country code: %s', [aLand]);
|
||||
|
||||
for sLetter in aLand do
|
||||
case sLetter of
|
||||
'A': Result := Result + '10';
|
||||
'B': Result := Result + '11';
|
||||
'C': Result := Result + '12';
|
||||
'D': Result := Result + '13';
|
||||
'E': Result := Result + '14';
|
||||
'F': Result := Result + '15';
|
||||
'G': Result := Result + '16';
|
||||
'H': Result := Result + '17';
|
||||
'I': Result := Result + '18';
|
||||
'J': Result := Result + '19';
|
||||
'K': Result := Result + '20';
|
||||
'L': Result := Result + '21';
|
||||
'M': Result := Result + '22';
|
||||
'N': Result := Result + '23';
|
||||
'O': Result := Result + '24';
|
||||
'P': Result := Result + '25';
|
||||
'Q': Result := Result + '26';
|
||||
'R': Result := Result + '27';
|
||||
'S': Result := Result + '28';
|
||||
'T': Result := Result + '29';
|
||||
'U': Result := Result + '30';
|
||||
'V': Result := Result + '31';
|
||||
'W': Result := Result + '32';
|
||||
'X': Result := Result + '33';
|
||||
'Y': Result := Result + '34';
|
||||
'Z': Result := Result + '35';
|
||||
else
|
||||
// 20130830 Heiko Adams
|
||||
//raise Exception.CreateFmt('Invalid country code: %s', [aLand]);
|
||||
SetErrorCode(-100);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TIBAN.CheckIBAN(): Boolean;
|
||||
var
|
||||
sBLZ: string;
|
||||
sKTO: string;
|
||||
sIBAN: string;
|
||||
sLand: string;
|
||||
sControl: string;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
Result := (Length(FIBAN) = FMetrics.nLenIBAN);
|
||||
|
||||
if Result then
|
||||
begin
|
||||
sControl := Copy(FIBAN, 3, 2);
|
||||
sBLZ := Copy(FIBAN, FMetrics.nStartBLZ, FMetrics.nLenBLZ);
|
||||
sKTO := Copy(FIBAN, FMetrics.nStartKTO, FMetrics.nLenKTO);
|
||||
sLand := EncodeCountry(GetCountryFromIBAN);
|
||||
sIBAN := sBLZ + sKTO + sLand + sControl;
|
||||
Result := (Modulo97(sIBAN) = 1);
|
||||
end
|
||||
// 20130830 Heiko Adams ...
|
||||
else
|
||||
SetErrorCode(-150);
|
||||
// ... 20130830 Heiko Adams
|
||||
end;
|
||||
|
||||
function TIBAN.CalcIBAN(): string;
|
||||
var
|
||||
sKTO: string;
|
||||
sIBAN: string;
|
||||
nControl: Integer;
|
||||
sControl: string;
|
||||
const
|
||||
sSuffix = '00';
|
||||
nControlBase = 98;
|
||||
begin
|
||||
sKTO := StringOfChar('0', FMetrics.nLenKTO - Length(FAccountID)) + FAccountID;
|
||||
sIBAN := FBankCode + sKTO + EncodeCountry(FCountry)+ sSuffix;
|
||||
nControl := Modulo97(sIBAN);
|
||||
nControl := nControlBase - nControl;
|
||||
|
||||
// 20120224 Heiko Adams
|
||||
// make shure controlnumber has allways two characters
|
||||
// thanks to Henry van der Mark for this hint
|
||||
//FIBAN := FLand + IntToStr(nControl) + FBLZ + sKTO;
|
||||
sControl := IntToStr(nControl);
|
||||
|
||||
if (nControl < 10) then
|
||||
sControl := '0' + sControl;
|
||||
|
||||
FIBAN := FCountry + sControl + FBankCode + sKTO;
|
||||
|
||||
Result := FIBAN;
|
||||
end;
|
||||
|
||||
// Prüfung einer IBAN auf formale Korrektheit (ohne Prüfung der Gültigkeit des Länderkürzels)
|
||||
// Autor: Dr. Michael Schramm, Bordesholm
|
||||
function TIBAN.checkIBANCode(const sIban: String): boolean;
|
||||
var k,i,n,len: integer; c: char;
|
||||
buff: array[0..67] of char;
|
||||
begin
|
||||
result:= false;
|
||||
n:= length(sIban);
|
||||
|
||||
if (n < 5) or (n > 34) then
|
||||
exit;
|
||||
|
||||
len:= 0;
|
||||
k:= 5;
|
||||
|
||||
repeat // IBAN als Ziffernfolge in geänderter Reihenfolge in buff schreiben
|
||||
c:= sIban[k];
|
||||
|
||||
if (c >= '0') and (c <= '9') then
|
||||
begin
|
||||
buff[len]:= c;
|
||||
inc(len)
|
||||
end
|
||||
else if (c >= 'A') and (c <= 'Z') then
|
||||
begin
|
||||
i:= ord(c)-55;
|
||||
buff[len]:= char(i div 10 + 48);
|
||||
inc(len);
|
||||
buff[len]:= char(i mod 10 + 48);
|
||||
inc(len);
|
||||
end
|
||||
else
|
||||
exit;
|
||||
|
||||
inc(k);
|
||||
|
||||
if (k > n) then
|
||||
k:= 1
|
||||
until k = 5;
|
||||
|
||||
i:= 0; // aktueller Rest für Modulo-Berechnung
|
||||
|
||||
for k:= 0 to len-1 do
|
||||
begin // modulo 97 berechnen
|
||||
i:= (i * 10 + ord(buff[k]) - 48) mod 97;
|
||||
end;
|
||||
|
||||
result:= (i = 1)
|
||||
end;
|
||||
|
||||
// Code beigesteuert von Amateurprofi (http://www.delphipraxis.net/159320-iban-ueberpruefen.html#post1154665)
|
||||
function TIBAN.IsIBAN(const s:string):boolean;
|
||||
var
|
||||
len: integer;
|
||||
cs: byte;
|
||||
function GetCheckSum(first,last:integer):boolean;
|
||||
var
|
||||
i: integer;
|
||||
c: integer;
|
||||
begin
|
||||
for i:=first to last do
|
||||
begin
|
||||
c:=Ord(s[i])-48;
|
||||
|
||||
case c of
|
||||
0..9 : cs:=m97tab[cs,c];
|
||||
17..42 : cs:=m97tab[m97tab[cs,(c-7) Div 10],(c-7) Mod 10];
|
||||
else
|
||||
Exit;
|
||||
end;
|
||||
end;
|
||||
result:=true;
|
||||
end;
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(0);
|
||||
len:=Length(s);
|
||||
|
||||
if (len<5) or (len>34) then
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(-160);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
cs:=0;
|
||||
|
||||
if not GetCheckSum(5,len) then
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(-170);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
if not GetCheckSum(1,4) then
|
||||
begin
|
||||
// 20130830 Heiko Adams
|
||||
SetErrorCode(-170);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
Result := (cs=1);
|
||||
end;
|
||||
|
||||
end.
|
||||
266
Source/Base/Utiles/TIBAN/IBANMetrics.pas
Normal file
266
Source/Base/Utiles/TIBAN/IBANMetrics.pas
Normal file
@ -0,0 +1,266 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ IBANMetrics }
|
||||
{ }
|
||||
{ Copyright (C) 2011 Heiko Adams }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
|
||||
{
|
||||
The contents of this file are subject to the Mozilla Public License
|
||||
Version 1.1 (the "License"); you may not use this file except in
|
||||
compliance with the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS"
|
||||
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing rights and limitations
|
||||
under the License.
|
||||
|
||||
The Original Code is IBANMetrics.pas.
|
||||
|
||||
The Initial Developer of the Original Code is Heiko Adams <heiko.adams@gmail.com>.
|
||||
|
||||
Contributor(s): Peter Mauss (Peter.Mauss@Advertum.de).
|
||||
}
|
||||
|
||||
unit IBANMetrics;
|
||||
|
||||
interface
|
||||
|
||||
type
|
||||
TIBANMetrics = packed record
|
||||
nLenIBAN: Word;
|
||||
nStartBLZ: Word;
|
||||
nLenBLZ: Word;
|
||||
nStartKTO: Word;
|
||||
nLenKTO: Word;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk: Word;
|
||||
nLenChk: Word;
|
||||
// .. 20130830 Heiko Adams
|
||||
|
||||
//20130830 Peter Mauss
|
||||
nMask:String;
|
||||
|
||||
//20130901 Heiko Adams
|
||||
nErrorCode: Integer;
|
||||
end;
|
||||
|
||||
function GetIBANMetrics(const aLand: string): TIBANMetrics;
|
||||
|
||||
implementation
|
||||
|
||||
uses SysUtils;
|
||||
|
||||
function GetIBANMetrics(const aLand: string): TIBANMetrics;
|
||||
begin
|
||||
{
|
||||
Übersicht über die Struktur der IBAN in verschiedenen Ländern:
|
||||
https://de.wikipedia.org/wiki/International_Bank_Account_Number#IBAN-Struktur_in_verschiedenen_L.C3.A4ndern
|
||||
}
|
||||
|
||||
//20130901 Heiko Adams
|
||||
Result.nErrorCode := 0;
|
||||
|
||||
if (aLand = 'AT') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 20;
|
||||
nLenBLZ := 5;
|
||||
nLenKTO := 11;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'BE') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 16;
|
||||
nLenBLZ := 3;
|
||||
// 20130830 Heiko Adams
|
||||
//nLenKTO := 5;
|
||||
nLenKTO := 7;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 15;
|
||||
nLenChk := 2;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'CH') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 21;
|
||||
nLenBLZ := 5;
|
||||
nLenKTO := 12;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa a;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'DE') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 22;
|
||||
nLenBLZ := 8;
|
||||
nLenKTO := 10;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 9999 9999 9999 9999 99;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'DK') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 18;
|
||||
nLenBLZ := 4;
|
||||
nLenKTO := 10;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 18;
|
||||
nLenChk := 1;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'FR') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 27;
|
||||
nLenBLZ := 5;
|
||||
nLenKTO := 11;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 26;
|
||||
nLenChk := 2;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa aaaa aaa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'LI') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 21;
|
||||
nLenBLZ := 5;
|
||||
nLenKTO := 12;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa a;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'LU') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 20;
|
||||
nLenBLZ := 3;
|
||||
//20130830 Heiko Adams
|
||||
//nLenKTO := 17;
|
||||
nLenKTO := 13;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'NL') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 18;
|
||||
nLenBLZ := 4;
|
||||
nLenKTO := 10;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'CZ') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 24;
|
||||
nLenBLZ := 4;
|
||||
nLenKTO := 16;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 0;
|
||||
nLenChk := 0;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa aaaa;0;_';
|
||||
end;
|
||||
end
|
||||
else if (aLand = 'PL') then
|
||||
begin
|
||||
with Result do
|
||||
begin
|
||||
nLenIBAN := 28;
|
||||
//20130830 Heiko Adams
|
||||
//nLenBLZ := 7;
|
||||
nLenBLZ := 3;
|
||||
nLenKTO := 16;
|
||||
nStartBLZ := 5;
|
||||
nStartKTO := nStartBLZ + nLenBLZ;
|
||||
//20130830 Heiko Adams ..
|
||||
nStartChk := 11;
|
||||
nLenChk := 1;
|
||||
// .. 20130830 Heiko Adams
|
||||
//20130830 Peter Mauss
|
||||
nMask:='>ll99 aaaa aaaa aaaa aaaa aaaa aa;0;_';
|
||||
end;
|
||||
end
|
||||
else
|
||||
//20130901 Heiko Adams
|
||||
//raise Exception.CreateFmt('Country (%s) not supported yet', [aLand]);
|
||||
Result.nErrorCode := -190;
|
||||
end;
|
||||
|
||||
end.
|
||||
11
Source/Base/Utiles/TIBAN/errorcodes.txt
Normal file
11
Source/Base/Utiles/TIBAN/errorcodes.txt
Normal file
@ -0,0 +1,11 @@
|
||||
Error-Code Error
|
||||
-100 The country code is invalid
|
||||
-110 The IBAN has not been set
|
||||
-120 No IBAN has been submitted
|
||||
-130 Country or IBAN haven't been set
|
||||
-140 Invalid data
|
||||
-150 IBAN is invalid
|
||||
-160 Length of the submitted IBAN doesn't match
|
||||
-170 Checksum doesn't match
|
||||
-180 Unable to extract account number from IBAN
|
||||
-190 The country is currently unsupported
|
||||
39
Source/Base/Utiles/uIBANUtils.pas
Normal file
39
Source/Base/Utiles/uIBANUtils.pas
Normal file
@ -0,0 +1,39 @@
|
||||
unit uIBANUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, IBAN;
|
||||
|
||||
function EsCodigoIBANValido(AIBAN : string): boolean;
|
||||
function GenerarCodigoIBAN(CodEntidad, CodOficina, DC, CodCuenta : string): string;
|
||||
|
||||
implementation
|
||||
|
||||
function EsCodigoIBANValido(AIBAN : string): boolean;
|
||||
var
|
||||
auxIBAN : TIBAN;
|
||||
begin
|
||||
auxIBAN := TIBAN.Create;
|
||||
try
|
||||
Result := auxIBAN.checkIBANCode(AIBAN);
|
||||
finally
|
||||
FreeAndNil(auxIBAN);
|
||||
end;
|
||||
end;
|
||||
|
||||
function GenerarCodigoIBAN(CodEntidad, CodOficina, DC, CodCuenta : string): string;
|
||||
var
|
||||
auxIBAN : TIBAN;
|
||||
begin
|
||||
auxIBAN := TIBAN.Create;
|
||||
try
|
||||
auxIBAN.Country := 'ES';
|
||||
auxIBAN.BankCode := CodEntidad + CodOficina + DC + CodCuenta;
|
||||
Result := auxIBAN.IBAN;
|
||||
finally
|
||||
FreeAndNil(auxIBAN);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -51,7 +51,7 @@
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">6</VersionInfo><VersionInfo Name="Release">6</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.6.6.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.6.6.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">6</VersionInfo><VersionInfo Name="Release">7</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.6.7.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.6.7.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
|
||||
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
|
||||
</Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
|
||||
|
||||
Binary file not shown.
@ -20,6 +20,7 @@ type
|
||||
|
||||
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload;
|
||||
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ADescuento: Float; const AAll: Boolean = False); overload;
|
||||
procedure QuitarPrecioDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = False);
|
||||
procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = True);
|
||||
procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String);
|
||||
end;
|
||||
@ -45,6 +46,7 @@ type
|
||||
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; const ANuevaFila :Boolean = True);
|
||||
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload;
|
||||
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ADescuento: Float; const AAll: Boolean = False); overload;
|
||||
procedure QuitarPrecioDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = False);
|
||||
procedure CambiarSignoDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean = True);
|
||||
procedure AnadirConceptoInicial(ADetalles: IDAStronglyTypedDataTable; AConcepto: String);
|
||||
|
||||
@ -137,7 +139,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Next;
|
||||
Next;
|
||||
end;
|
||||
//Volvemos a dejarlo al principio
|
||||
ADetalles.DataTable.First;
|
||||
@ -338,6 +340,48 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TControllerDetallesArticulos.QuitarPrecioDetalles(ADetalles: IDAStronglyTypedDataTable; const AAll: Boolean);
|
||||
// AAll => True -> quita el precio de todas los conceptos, False -> sólo quita el precio en los conceptos con cantidades/importe
|
||||
var
|
||||
ACantidad: Float;
|
||||
ACambiar : Boolean;
|
||||
begin
|
||||
if Assigned(ADetalles) then
|
||||
begin
|
||||
BeginUpdate(ADetalles);
|
||||
try
|
||||
ADetalles.DataTable.First;
|
||||
with ADetalles.DataTable do
|
||||
begin
|
||||
while not EOF do
|
||||
begin
|
||||
ACambiar := True;
|
||||
if (ADetalles.DataTable.FieldByName(CAMPO_TIPO).AsString = TIPO_DETALLE_CONCEPTO) then
|
||||
begin
|
||||
if (not AAll) and (ADetalles.DataTable.FieldByName('CANTIDAD').IsNull and ADetalles.DataTable.FieldByName('IMPORTE_UNIDAD').IsNull) then
|
||||
ACambiar := False;
|
||||
if ACambiar then
|
||||
begin
|
||||
Edit;
|
||||
try
|
||||
ADetalles.DataTable.FieldByName('IMPORTE_UNIDAD').Clear;
|
||||
except
|
||||
on E: Exception do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Next;
|
||||
end;
|
||||
//Volvemos a dejarlo al principio
|
||||
ADetalles.DataTable.First;
|
||||
end;
|
||||
finally
|
||||
EndUpdate(ADetalles);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TControllerDetallesArticulos.AnadirArticulo(ADetalles: IDAStronglyTypedDataTable; Referencia: String; TipoReferencia: TEnumReferencia; AClienteID: Integer = -1; const ACantidad: Float = 1): Boolean;
|
||||
var
|
||||
AArticulo: IBizArticulo;
|
||||
|
||||
@ -116,7 +116,10 @@ end;
|
||||
|
||||
procedure TPluginContabilidad.actCajasBancosUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo);
|
||||
(Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo)
|
||||
//Codigo solo para tienda
|
||||
and ((AppFactuGES.EmpresaActiva.ID = 2) or (AppFactuGES.EmpresaActiva.ID = 3));
|
||||
|
||||
end;
|
||||
|
||||
procedure TPluginContabilidad.actCuentasEspecialesExecute(Sender: TObject);
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
<Projects Include="..\Contabilidad\Controller\Contabilidad_controller.dproj" />
|
||||
<Projects Include="..\Contabilidad\Data\Contabilidad_data.dproj" />
|
||||
<Projects Include="..\Contabilidad\Model\Contabilidad_model.dproj" />
|
||||
<Projects Include="..\Contabilidad\Plugin\Contabilidad_plugin.dproj" />
|
||||
<Projects Include="..\Contabilidad\Views\Contabilidad_view.dproj" />
|
||||
<Projects Include="Controller\Contactos_controller.dproj" />
|
||||
<Projects Include="Data\Contactos_data.dproj" />
|
||||
@ -151,14 +152,23 @@
|
||||
<Target Name="FactuGES_Server:Make">
|
||||
<MSBuild Projects="..\..\Servidor\FactuGES_Server.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Contabilidad_plugin">
|
||||
<MSBuild Projects="..\Contabilidad\Plugin\Contabilidad_plugin.dproj" Targets="" />
|
||||
</Target>
|
||||
<Target Name="Contabilidad_plugin:Clean">
|
||||
<MSBuild Projects="..\Contabilidad\Plugin\Contabilidad_plugin.dproj" Targets="Clean" />
|
||||
</Target>
|
||||
<Target Name="Contabilidad_plugin:Make">
|
||||
<MSBuild Projects="..\Contabilidad\Plugin\Contabilidad_plugin.dproj" Targets="Make" />
|
||||
</Target>
|
||||
<Target Name="Build">
|
||||
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contabilidad_model;Contabilidad_data;Contabilidad_controller;Contactos_controller;Contactos_view;Contactos_plugin;Contabilidad_view;FactuGES;FactuGES_Server" />
|
||||
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contabilidad_model;Contabilidad_data;Contabilidad_controller;Contactos_controller;Contactos_view;Contactos_plugin;Contabilidad_view;FactuGES;FactuGES_Server;Contabilidad_plugin" />
|
||||
</Target>
|
||||
<Target Name="Clean">
|
||||
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contabilidad_model:Clean;Contabilidad_data:Clean;Contabilidad_controller:Clean;Contactos_controller:Clean;Contactos_view:Clean;Contactos_plugin:Clean;Contabilidad_view:Clean;FactuGES:Clean;FactuGES_Server:Clean" />
|
||||
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contabilidad_model:Clean;Contabilidad_data:Clean;Contabilidad_controller:Clean;Contactos_controller:Clean;Contactos_view:Clean;Contactos_plugin:Clean;Contabilidad_view:Clean;FactuGES:Clean;FactuGES_Server:Clean;Contabilidad_plugin:Clean" />
|
||||
</Target>
|
||||
<Target Name="Make">
|
||||
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contabilidad_model:Make;Contabilidad_data:Make;Contabilidad_controller:Make;Contactos_controller:Make;Contactos_view:Make;Contactos_plugin:Make;Contabilidad_view:Make;FactuGES:Make;FactuGES_Server:Make" />
|
||||
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contabilidad_model:Make;Contabilidad_data:Make;Contabilidad_controller:Make;Contactos_controller:Make;Contactos_view:Make;Contactos_plugin:Make;Contabilidad_view:Make;FactuGES:Make;FactuGES_Server:Make;Contabilidad_plugin:Make" />
|
||||
</Target>
|
||||
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
|
||||
</Project>
|
||||
@ -0,0 +1,28 @@
|
||||
unit uIEditorDatoBancarioContacto;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uBizContactosDatosBancarios, uDatosBancariosContactoController;
|
||||
|
||||
type
|
||||
IEditorDatoBancarioContacto = interface
|
||||
['{BDFD97C4-7054-40E5-A7DA-1A3AD1E13673}']
|
||||
|
||||
function GetController : IDatosBancariosContactoController;
|
||||
procedure SetController (const Value : IDatosBancariosContactoController);
|
||||
property Controller : IDatosBancariosContactoController read GetController
|
||||
write SetController;
|
||||
|
||||
function GetDatoBancario: IBizContactosDatosBancarios;
|
||||
procedure SetDatoBancario(const Value: IBizContactosDatosBancarios);
|
||||
property DatoBancario: IBizContactosDatosBancarios read GetDatoBancario write SetDatoBancario;
|
||||
|
||||
function ShowModal : Integer;
|
||||
procedure Release;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@ -0,0 +1,129 @@
|
||||
unit uDatosBancariosContactoController;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Forms, Classes, Controls, Contnrs, SysUtils, uDADataTable,
|
||||
uBizContactos, uBizContactosDatosBancarios, uIDataModuleContactos,
|
||||
uControllerBase;
|
||||
|
||||
type
|
||||
IDatosBancariosContactoController = interface(IControllerBase)
|
||||
['{2E1C410A-B11D-4E1C-A7DF-9321BAEA5952}']
|
||||
procedure Ver(ADatoBancario : IBizContactosDatosBancarios);
|
||||
function Localizar(ADatosBancarios: IBizContactosDatosBancarios; const ID : Integer): Boolean;
|
||||
end;
|
||||
|
||||
TDatosBancariosContactoController = class(TControllerBase, IDatosBancariosContactoController)
|
||||
private
|
||||
FDataModule : IDataModuleContactos;
|
||||
function GenerarCodigoIBAN(
|
||||
ADatosBancarios: IBizContactosDatosBancarios): string;
|
||||
protected
|
||||
public
|
||||
function ValidarCodigoIBAN(AIBAN: string): boolean;
|
||||
procedure Ver(ADatoBancario : IBizContactosDatosBancarios);
|
||||
function Localizar(ADatosBancarios: IBizContactosDatosBancarios; const ID : Integer): Boolean;
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
function ValidarDatosBancarios(ADatosBancarios : IBizContactosDatosBancarios): Boolean; virtual;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{ TDatosBancariosContactoController }
|
||||
|
||||
uses
|
||||
uDataModuleContactos, schContactosClient_Intf, uIBANUtils, uStringsUtils,
|
||||
uEditorRegistryUtils, cxControls, uIEditorDatoBancarioContacto;
|
||||
|
||||
|
||||
constructor TDatosBancariosContactoController.Create;
|
||||
begin
|
||||
inherited;
|
||||
FDataModule := TDataModuleContactos.Create(Nil);
|
||||
end;
|
||||
|
||||
destructor TDatosBancariosContactoController.Destroy;
|
||||
begin
|
||||
FDataModule := Nil;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TDatosBancariosContactoController.Localizar(
|
||||
ADatosBancarios: IBizContactosDatosBancarios; const ID : Integer): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
with ADatosBancarios.DataTable do
|
||||
begin
|
||||
DisableControls;
|
||||
First;
|
||||
if not Locate(fld_DatosBancariosID, ID, []) then
|
||||
Result := False;
|
||||
EnableControls;
|
||||
end;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TDatosBancariosContactoController.ValidarCodigoIBAN(
|
||||
AIBAN: string): boolean;
|
||||
begin
|
||||
//Se desactiva la validación ya que dicen que hay clientes que no les coincide
|
||||
result := True; //EsCodigoIBANValido(AIBAN)
|
||||
end;
|
||||
|
||||
function TDatosBancariosContactoController.GenerarCodigoIBAN(
|
||||
ADatosBancarios: IBizContactosDatosBancarios): string;
|
||||
begin
|
||||
Result := uIBANUtils.GenerarCodigoIBAN(ADatosBancarios.ENTIDAD,
|
||||
ADatosBancarios.SUCURSAL, ADatosBancarios.DC, ADatosBancarios.CUENTA);
|
||||
end;
|
||||
|
||||
function TDatosBancariosContactoController.ValidarDatosBancarios(
|
||||
ADatosBancarios: IBizContactosDatosBancarios): Boolean;
|
||||
begin
|
||||
ADatosBancarios.DataTable.Edit;
|
||||
try
|
||||
if not EsCadenaVacia(ADatosBancarios.IBAN) then
|
||||
begin
|
||||
ADatosBancarios.IBAN := StringReplace(ADatosBancarios.IBAN, ' ', '', [rfReplaceAll]); // Quitar espacios
|
||||
if not ValidarCodigoIBAN(ADatosBancarios.IBAN) then
|
||||
raise Exception.Create('Compruebe que el código IBAN es correcto.');
|
||||
end
|
||||
else begin
|
||||
if not EsCadenaVacia(ADatosBancarios.ENTIDAD) and
|
||||
not EsCadenaVacia(ADatosBancarios.SUCURSAL) and
|
||||
not EsCadenaVacia(ADatosBancarios.DC) and
|
||||
not EsCadenaVacia(ADatosBancarios.CUENTA) then
|
||||
ADatosBancarios.IBAN := GenerarCodigoIBAN(ADatosBancarios);
|
||||
end;
|
||||
finally
|
||||
ADatosBancarios.Post;
|
||||
end;
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
procedure TDatosBancariosContactoController.Ver(
|
||||
ADatoBancario : IBizContactosDatosBancarios);
|
||||
var
|
||||
AEditor : IEditorDatoBancarioContacto;
|
||||
begin
|
||||
AEditor := NIL;
|
||||
|
||||
CreateEditor('EditorDatoBancarioContacto', IEditorDatoBancarioContacto, AEditor);
|
||||
if Assigned(AEditor) then
|
||||
try
|
||||
AEditor.DatoBancario := ADatoBancario;
|
||||
AEditor.Controller := Self;
|
||||
AEditor.ShowModal;
|
||||
finally
|
||||
AEditor.Release;
|
||||
AEditor := NIL;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
@ -11,12 +11,12 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
Top = 16
|
||||
end
|
||||
object rda_Contactos: TDARemoteDataAdapter
|
||||
DataStreamer = Bin2DataStreamer
|
||||
GetSchemaCall.RemoteService = RORemoteService
|
||||
GetDataCall.RemoteService = RORemoteService
|
||||
UpdateDataCall.RemoteService = RORemoteService
|
||||
GetScriptsCall.RemoteService = RORemoteService
|
||||
RemoteService = RORemoteService
|
||||
DataStreamer = Bin2DataStreamer
|
||||
Left = 43
|
||||
Top = 143
|
||||
end
|
||||
@ -201,8 +201,6 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
StreamingOptions = [soDisableEventsWhileStreaming]
|
||||
RemoteDataAdapter = rda_Contactos
|
||||
LocalDataStreamer = Bin2DataStreamer
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'Contactos'
|
||||
IndexDefs = <>
|
||||
Left = 176
|
||||
@ -333,8 +331,6 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
MasterSource = ds_Contactos
|
||||
MasterFields = 'ID'
|
||||
DetailFields = 'ID_CONTACTO'
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'DireccionesContacto'
|
||||
IndexDefs = <>
|
||||
Left = 448
|
||||
@ -404,6 +400,16 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
item
|
||||
Name = 'FECHA_MODIFICACION'
|
||||
DataType = datDateTime
|
||||
end
|
||||
item
|
||||
Name = 'IBAN'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
end
|
||||
item
|
||||
Name = 'SWIFT'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
end>
|
||||
Params = <>
|
||||
MasterMappingMode = mmWhere
|
||||
@ -413,8 +419,6 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
MasterSource = ds_Contactos
|
||||
MasterFields = 'ID'
|
||||
DetailFields = 'ID_CONTACTO'
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'DatosBancarios'
|
||||
IndexDefs = <>
|
||||
Left = 176
|
||||
@ -505,8 +509,6 @@ inherited DataModuleContactos: TDataModuleContactos
|
||||
MasterSource = ds_Contactos
|
||||
MasterFields = 'ID'
|
||||
DetailFields = 'ID_CONTACTO'
|
||||
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
|
||||
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
|
||||
LogicalName = 'PersonalContacto'
|
||||
IndexDefs = <>
|
||||
Left = 296
|
||||
|
||||
@ -9,21 +9,21 @@ 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_DarEmpresasContacto = '{00F42015-9439-4F03-86AA-9053BAE56E60}';
|
||||
RID_PersonalContacto = '{8D74552A-CFEB-47B3-9035-DBB85769C03B}';
|
||||
RID_DarTiendaDeUsuario = '{A1A770C1-133F-4F79-9FAF-B902CA78D7AB}';
|
||||
RID_SubCuentasContacto = '{46DCA8AE-E089-4600-ACE8-4DD17A16EECD}';
|
||||
RID_Contactos = '{0BE6A6BF-0394-4735-BA21-9FB16D9A99D0}';
|
||||
RID_GruposCliente = '{5BC87FF2-2FD1-4B93-9508-3F1B5BEA6F93}';
|
||||
RID_DatosBancarios = '{A597124D-56FD-42B6-B2DA-800FF9CA2D20}';
|
||||
RID_Clientes = '{CBA08C07-4C50-427E-AAFA-993C9413F253}';
|
||||
RID_Proveedores = '{C5B628A3-9580-46A3-8E36-F25FCE8022BF}';
|
||||
RID_Vendedores = '{4E1B22A4-576A-4033-9069-1FFA304380A8}';
|
||||
RID_DireccionesContacto = '{FED11ACC-A937-4598-B61B-A91CB54673ED}';
|
||||
RID_ClientesDescuentos = '{FD557CDA-2350-4487-BB6C-FD98E7816D65}';
|
||||
RID_ProcedenciasCliente = '{A0E7E9CA-4C28-4EA6-B57B-14B6B5C516C5}';
|
||||
RID_GruposProveedor = '{C0E2E4CB-5439-4145-A9FF-0AFA3ACDEB37}';
|
||||
RID_Contactos_Refresh = '{829D70DD-295E-4722-B531-2E55231BBF2C}';
|
||||
RID_DarEmpresasContacto = '{58E62884-DAB2-4BFB-9516-C13717F291C2}';
|
||||
RID_PersonalContacto = '{214169EF-F12D-4BE7-AABF-5499A0D8CDF6}';
|
||||
RID_DarTiendaDeUsuario = '{D114647A-13A4-45F7-A8E2-AC09DBEFB3FD}';
|
||||
RID_SubCuentasContacto = '{CCC26472-7C6F-4A13-8F70-E2DC0BF0C905}';
|
||||
RID_Contactos = '{58D64E83-ADF0-4ABD-A668-8AFD03B00945}';
|
||||
RID_GruposCliente = '{C332625A-341F-46A6-9B46-9F6F5605955F}';
|
||||
RID_DatosBancarios = '{4D242F5D-4039-44A6-95DC-3BD871441FE5}';
|
||||
RID_Clientes = '{F9E03EE6-4565-4A18-B2DC-8344F99CBD09}';
|
||||
RID_Proveedores = '{1704A814-F561-4A89-BA3E-499BB9F93AE0}';
|
||||
RID_Vendedores = '{C64DC799-D8AB-4A54-A04C-ABF0CD2FE692}';
|
||||
RID_DireccionesContacto = '{F62E139F-0FEA-4783-A91F-8AE0F2F71FA0}';
|
||||
RID_ClientesDescuentos = '{276E724A-6EC8-4AE1-8671-C29BA7DE5690}';
|
||||
RID_ProcedenciasCliente = '{51321FDE-622B-4214-9938-F53170B49037}';
|
||||
RID_GruposProveedor = '{40963BA2-9BFD-499C-A46A-7B0579A135FC}';
|
||||
RID_Contactos_Refresh = '{858999BC-7D57-4C87-B551-B8707D78B938}';
|
||||
|
||||
{ Data table names }
|
||||
nme_DarEmpresasContacto = 'DarEmpresasContacto';
|
||||
@ -166,6 +166,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;
|
||||
@ -177,6 +179,8 @@ const
|
||||
idx_DatosBancariosCUENTA = 6;
|
||||
idx_DatosBancariosFECHA_ALTA = 7;
|
||||
idx_DatosBancariosFECHA_MODIFICACION = 8;
|
||||
idx_DatosBancariosIBAN = 9;
|
||||
idx_DatosBancariosSWIFT = 10;
|
||||
|
||||
{ Clientes fields }
|
||||
fld_ClientesID = 'ID';
|
||||
@ -531,7 +535,7 @@ const
|
||||
type
|
||||
{ IDarEmpresasContacto }
|
||||
IDarEmpresasContacto = interface(IDAStronglyTypedDataTable)
|
||||
['{32E74026-2CB7-4A93-886B-FF16B5C1E459}']
|
||||
['{85336C50-EC65-4F37-B184-3344A320D616}']
|
||||
{ Property getters and setters }
|
||||
function GetID_EMPRESAValue: Integer;
|
||||
procedure SetID_EMPRESAValue(const aValue: Integer);
|
||||
@ -566,7 +570,7 @@ type
|
||||
|
||||
{ IPersonalContacto }
|
||||
IPersonalContacto = interface(IDAStronglyTypedDataTable)
|
||||
['{68D032C9-18AE-4CAE-8BD5-AD4AD66247F8}']
|
||||
['{9EFA3514-D4B7-4FEF-9032-A739905E0E18}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -709,7 +713,7 @@ type
|
||||
|
||||
{ IDarTiendaDeUsuario }
|
||||
IDarTiendaDeUsuario = interface(IDAStronglyTypedDataTable)
|
||||
['{C117D8AF-FC75-444F-BE4A-CD4217198AD6}']
|
||||
['{F0D24CEA-B4C6-4EB9-8413-08139589A497}']
|
||||
{ Property getters and setters }
|
||||
function GetID_TIENDAValue: Integer;
|
||||
procedure SetID_TIENDAValue(const aValue: Integer);
|
||||
@ -744,7 +748,7 @@ type
|
||||
|
||||
{ ISubCuentasContacto }
|
||||
ISubCuentasContacto = interface(IDAStronglyTypedDataTable)
|
||||
['{2AED639B-B9A3-40BE-BD47-3E52A7C08E14}']
|
||||
['{80F8562F-83E6-41BD-B9FD-745B5D313EA0}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -839,7 +843,7 @@ type
|
||||
|
||||
{ IContactos }
|
||||
IContactos = interface(IDAStronglyTypedDataTable)
|
||||
['{5D40243C-B968-45E5-B145-362F818D2B8B}']
|
||||
['{1DFD9E61-3525-4467-BE11-4CDAB0B4BDA7}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -1162,7 +1166,7 @@ type
|
||||
|
||||
{ IGruposCliente }
|
||||
IGruposCliente = interface(IDAStronglyTypedDataTable)
|
||||
['{3BD8080F-6982-4E7F-9063-6561238E4FDC}']
|
||||
['{C23BA26B-9654-4A64-AA7E-E7A2D509FD4F}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -1209,7 +1213,7 @@ type
|
||||
|
||||
{ IDatosBancarios }
|
||||
IDatosBancarios = interface(IDAStronglyTypedDataTable)
|
||||
['{7B46974C-D404-4A84-8030-356E464E576A}']
|
||||
['{699EF4D5-1534-490C-810A-432C4F782F84}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -1247,6 +1251,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 }
|
||||
@ -1268,6 +1280,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 }
|
||||
@ -1311,6 +1327,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;
|
||||
@ -1331,6 +1355,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;
|
||||
@ -1340,7 +1368,7 @@ type
|
||||
|
||||
{ IClientes }
|
||||
IClientes = interface(IDAStronglyTypedDataTable)
|
||||
['{A64C208A-88D9-45FC-B81F-89EBB2F685AD}']
|
||||
['{ABECF46D-4E5C-4E32-A14C-6C06496F5750}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -1879,7 +1907,7 @@ type
|
||||
|
||||
{ IProveedores }
|
||||
IProveedores = interface(IDAStronglyTypedDataTable)
|
||||
['{7151A550-9546-4480-B1A7-D33B2A277127}']
|
||||
['{6ADC1FCC-4535-4E95-9FC6-FE9AC17D265C}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -2406,7 +2434,7 @@ type
|
||||
|
||||
{ IVendedores }
|
||||
IVendedores = interface(IDAStronglyTypedDataTable)
|
||||
['{56354278-A7D9-4529-8D53-9C68FCC14A10}']
|
||||
['{9DF5AB85-335B-4900-9653-06C3F82859AC}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -2753,7 +2781,7 @@ type
|
||||
|
||||
{ IDireccionesContacto }
|
||||
IDireccionesContacto = interface(IDAStronglyTypedDataTable)
|
||||
['{F32E6D11-C168-417A-A1D5-A0BEEF0FBC17}']
|
||||
['{D0BCB5E6-8DB8-4E36-9C6E-D79EED18622D}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -2980,7 +3008,7 @@ type
|
||||
|
||||
{ IClientesDescuentos }
|
||||
IClientesDescuentos = interface(IDAStronglyTypedDataTable)
|
||||
['{E355C96A-2658-45AE-A458-571CC587C2FD}']
|
||||
['{06F202F3-19A8-4394-A14D-BBF4896544EF}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -3063,7 +3091,7 @@ type
|
||||
|
||||
{ IProcedenciasCliente }
|
||||
IProcedenciasCliente = interface(IDAStronglyTypedDataTable)
|
||||
['{10026F7E-0AFF-47AA-A869-242B35FDC14F}']
|
||||
['{C287C28B-F1AD-4F67-B59E-BDDA8B637803}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -3110,7 +3138,7 @@ type
|
||||
|
||||
{ IGruposProveedor }
|
||||
IGruposProveedor = interface(IDAStronglyTypedDataTable)
|
||||
['{7A4C049D-30F9-49C4-857C-D5337B78E55D}']
|
||||
['{F6DDE232-ED40-4CA1-9BD8-10EB6CF617BA}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -3157,7 +3185,7 @@ type
|
||||
|
||||
{ IContactos_Refresh }
|
||||
IContactos_Refresh = interface(IDAStronglyTypedDataTable)
|
||||
['{8CDF4B0A-7FE6-490A-B14D-3B7A5DDE2658}']
|
||||
['{F7D45D6E-BD65-4037-B5B9-C66875748FFD}']
|
||||
{ Property getters and setters }
|
||||
function GetIDValue: Integer;
|
||||
procedure SetIDValue(const aValue: Integer);
|
||||
@ -4658,6 +4686,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);
|
||||
|
||||
@ -9,26 +9,26 @@ 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_DarEmpresasContactoDelta = '{5FA33C81-8C1D-4537-B419-7F589C4F54D5}';
|
||||
RID_PersonalContactoDelta = '{D74E53F4-C0F1-4D5D-B6D6-05A77D4A9C0D}';
|
||||
RID_DarTiendaDeUsuarioDelta = '{3315B230-9DF0-4D42-A630-4F88722A12A8}';
|
||||
RID_SubCuentasContactoDelta = '{C7E0C7C4-BC8A-4C86-B305-9DF867D6A5D5}';
|
||||
RID_ContactosDelta = '{0E3D9787-3136-4245-8F91-3EBE5114B07B}';
|
||||
RID_GruposClienteDelta = '{765D408B-0F60-4F57-AAAC-EB611A2567B3}';
|
||||
RID_DatosBancariosDelta = '{58EBA3FB-6358-4B0E-B027-003752A40D0A}';
|
||||
RID_ClientesDelta = '{D5CE5C47-A434-4DC9-8617-2C3C39FBCF1C}';
|
||||
RID_ProveedoresDelta = '{65866AED-3F9E-4108-9964-F68148C5B028}';
|
||||
RID_VendedoresDelta = '{ECCEABBD-8C47-4A80-9EC3-A474AC97FA89}';
|
||||
RID_DireccionesContactoDelta = '{122A7EBF-EB98-48D4-A6B6-2A2CA2AFA08C}';
|
||||
RID_ClientesDescuentosDelta = '{4C3B17AE-119E-4957-94CE-3B041BC05FF2}';
|
||||
RID_ProcedenciasClienteDelta = '{74BA2BD3-5FD4-4D3B-B5EC-1AE94047F10C}';
|
||||
RID_GruposProveedorDelta = '{CA02E8EE-2B59-48D4-99F2-73D8BA2128FA}';
|
||||
RID_Contactos_RefreshDelta = '{A5BBEBE8-E924-47D4-9DCA-D293C53B2E90}';
|
||||
RID_DarEmpresasContactoDelta = '{DBBA2713-737B-4AC9-892F-A37FC4389827}';
|
||||
RID_PersonalContactoDelta = '{51FDD65E-A087-4194-A914-E3AF3911BAC1}';
|
||||
RID_DarTiendaDeUsuarioDelta = '{3DE3B12D-067A-4051-B3A9-557DB22922AC}';
|
||||
RID_SubCuentasContactoDelta = '{36585242-DAA3-43F2-A2E4-94600AE711FD}';
|
||||
RID_ContactosDelta = '{C2EB2726-2FDF-4119-A53A-EDEEC4168295}';
|
||||
RID_GruposClienteDelta = '{E1399545-1C21-4EAF-BBC2-4EDED61BD4DA}';
|
||||
RID_DatosBancariosDelta = '{BFB2A836-E42C-47F0-986A-86E7300C4B0F}';
|
||||
RID_ClientesDelta = '{417DE556-0CAF-44C2-82CD-A5DB0E9BF54F}';
|
||||
RID_ProveedoresDelta = '{56BF7615-F24A-452F-BE6D-76B7819C6098}';
|
||||
RID_VendedoresDelta = '{2CA2DC31-7B3E-4942-9442-236A0AC55B44}';
|
||||
RID_DireccionesContactoDelta = '{5CF44C27-79DB-4B6A-A8FC-CDB65D67955F}';
|
||||
RID_ClientesDescuentosDelta = '{3EDEF6F6-D8F9-44EE-A483-BA3184E0E083}';
|
||||
RID_ProcedenciasClienteDelta = '{8A871918-1BBE-4D77-9BA0-558C08550237}';
|
||||
RID_GruposProveedorDelta = '{BFB686F2-C903-4C4A-A224-C638F6193ADE}';
|
||||
RID_Contactos_RefreshDelta = '{B7FAD6FA-C4AF-4226-99F0-1BF341D5F444}';
|
||||
|
||||
type
|
||||
{ IDarEmpresasContactoDelta }
|
||||
IDarEmpresasContactoDelta = interface(IDarEmpresasContacto)
|
||||
['{5FA33C81-8C1D-4537-B419-7F589C4F54D5}']
|
||||
['{DBBA2713-737B-4AC9-892F-A37FC4389827}']
|
||||
{ Property getters and setters }
|
||||
function GetOldID_EMPRESAValue : Integer;
|
||||
|
||||
@ -62,7 +62,7 @@ type
|
||||
|
||||
{ IPersonalContactoDelta }
|
||||
IPersonalContactoDelta = interface(IPersonalContacto)
|
||||
['{D74E53F4-C0F1-4D5D-B6D6-05A77D4A9C0D}']
|
||||
['{51FDD65E-A087-4194-A914-E3AF3911BAC1}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CONTACTOValue : Integer;
|
||||
@ -204,7 +204,7 @@ type
|
||||
|
||||
{ IDarTiendaDeUsuarioDelta }
|
||||
IDarTiendaDeUsuarioDelta = interface(IDarTiendaDeUsuario)
|
||||
['{3315B230-9DF0-4D42-A630-4F88722A12A8}']
|
||||
['{3DE3B12D-067A-4051-B3A9-557DB22922AC}']
|
||||
{ Property getters and setters }
|
||||
function GetOldID_TIENDAValue : Integer;
|
||||
|
||||
@ -238,7 +238,7 @@ type
|
||||
|
||||
{ ISubCuentasContactoDelta }
|
||||
ISubCuentasContactoDelta = interface(ISubCuentasContacto)
|
||||
['{C7E0C7C4-BC8A-4C86-B305-9DF867D6A5D5}']
|
||||
['{36585242-DAA3-43F2-A2E4-94600AE711FD}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldREF_SUBCUENTAValue : String;
|
||||
@ -332,7 +332,7 @@ type
|
||||
|
||||
{ IContactosDelta }
|
||||
IContactosDelta = interface(IContactos)
|
||||
['{0E3D9787-3136-4245-8F91-3EBE5114B07B}']
|
||||
['{C2EB2726-2FDF-4119-A53A-EDEEC4168295}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CATEGORIAValue : Integer;
|
||||
@ -655,7 +655,7 @@ type
|
||||
|
||||
{ IGruposClienteDelta }
|
||||
IGruposClienteDelta = interface(IGruposCliente)
|
||||
['{765D408B-0F60-4F57-AAAC-EB611A2567B3}']
|
||||
['{E1399545-1C21-4EAF-BBC2-4EDED61BD4DA}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldDESCRIPCIONValue : String;
|
||||
@ -701,7 +701,7 @@ type
|
||||
|
||||
{ IDatosBancariosDelta }
|
||||
IDatosBancariosDelta = interface(IDatosBancarios)
|
||||
['{58EBA3FB-6358-4B0E-B027-003752A40D0A}']
|
||||
['{BFB2A836-E42C-47F0-986A-86E7300C4B0F}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CONTACTOValue : Integer;
|
||||
@ -712,6 +712,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;
|
||||
@ -723,6 +725,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 }
|
||||
@ -784,6 +788,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;
|
||||
@ -822,6 +838,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;
|
||||
@ -831,7 +855,7 @@ type
|
||||
|
||||
{ IClientesDelta }
|
||||
IClientesDelta = interface(IClientes)
|
||||
['{D5CE5C47-A434-4DC9-8617-2C3C39FBCF1C}']
|
||||
['{417DE556-0CAF-44C2-82CD-A5DB0E9BF54F}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CATEGORIAValue : Integer;
|
||||
@ -1370,7 +1394,7 @@ type
|
||||
|
||||
{ IProveedoresDelta }
|
||||
IProveedoresDelta = interface(IProveedores)
|
||||
['{65866AED-3F9E-4108-9964-F68148C5B028}']
|
||||
['{56BF7615-F24A-452F-BE6D-76B7819C6098}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CATEGORIAValue : Integer;
|
||||
@ -1897,7 +1921,7 @@ type
|
||||
|
||||
{ IVendedoresDelta }
|
||||
IVendedoresDelta = interface(IVendedores)
|
||||
['{ECCEABBD-8C47-4A80-9EC3-A474AC97FA89}']
|
||||
['{2CA2DC31-7B3E-4942-9442-236A0AC55B44}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CATEGORIAValue : Integer;
|
||||
@ -2244,7 +2268,7 @@ type
|
||||
|
||||
{ IDireccionesContactoDelta }
|
||||
IDireccionesContactoDelta = interface(IDireccionesContacto)
|
||||
['{122A7EBF-EB98-48D4-A6B6-2A2CA2AFA08C}']
|
||||
['{5CF44C27-79DB-4B6A-A8FC-CDB65D67955F}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CONTACTOValue : Integer;
|
||||
@ -2471,7 +2495,7 @@ type
|
||||
|
||||
{ IClientesDescuentosDelta }
|
||||
IClientesDescuentosDelta = interface(IClientesDescuentos)
|
||||
['{4C3B17AE-119E-4957-94CE-3B041BC05FF2}']
|
||||
['{3EDEF6F6-D8F9-44EE-A483-BA3184E0E083}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldID_CLIENTEValue : Integer;
|
||||
@ -2553,7 +2577,7 @@ type
|
||||
|
||||
{ IProcedenciasClienteDelta }
|
||||
IProcedenciasClienteDelta = interface(IProcedenciasCliente)
|
||||
['{74BA2BD3-5FD4-4D3B-B5EC-1AE94047F10C}']
|
||||
['{8A871918-1BBE-4D77-9BA0-558C08550237}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldDESCRIPCIONValue : String;
|
||||
@ -2599,7 +2623,7 @@ type
|
||||
|
||||
{ IGruposProveedorDelta }
|
||||
IGruposProveedorDelta = interface(IGruposProveedor)
|
||||
['{CA02E8EE-2B59-48D4-99F2-73D8BA2128FA}']
|
||||
['{BFB686F2-C903-4C4A-A224-C638F6193ADE}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldDESCRIPCIONValue : String;
|
||||
@ -2645,7 +2669,7 @@ type
|
||||
|
||||
{ IContactos_RefreshDelta }
|
||||
IContactos_RefreshDelta = interface(IContactos_Refresh)
|
||||
['{A5BBEBE8-E924-47D4-9DCA-D293C53B2E90}']
|
||||
['{B7FAD6FA-C4AF-4226-99F0-1BF341D5F444}']
|
||||
{ Property getters and setters }
|
||||
function GetOldIDValue : Integer;
|
||||
function GetOldNIF_CIFValue : String;
|
||||
@ -4688,6 +4712,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);
|
||||
|
||||
@ -599,6 +599,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'
|
||||
@ -653,6 +661,16 @@ object srvContactos: TsrvContactos
|
||||
item
|
||||
Name = 'FECHA_MODIFICACION'
|
||||
DataType = datDateTime
|
||||
end
|
||||
item
|
||||
Name = 'IBAN'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
end
|
||||
item
|
||||
Name = 'SWIFT'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
end>
|
||||
end
|
||||
item
|
||||
@ -2530,48 +2548,53 @@ object srvContactos: TsrvContactos
|
||||
DataType = datAutoInc
|
||||
GeneratorName = 'GEN_CONTACTOS_DATOS_BANCO_ID'
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'ID_CONTACTO'
|
||||
DataType = datInteger
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'TITULAR'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'ENTIDAD'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'SUCURSAL'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'DC'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'CUENTA'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'IBAN'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
end
|
||||
item
|
||||
Name = 'SWIFT'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
end>
|
||||
Statements = <
|
||||
item
|
||||
@ -2579,8 +2602,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>
|
||||
@ -2612,48 +2636,52 @@ object srvContactos: TsrvContactos
|
||||
Name = 'ID_CONTACTO'
|
||||
DataType = datInteger
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'TITULAR'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'ENTIDAD'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'SUCURSAL'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'DC'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'CUENTA'
|
||||
DataType = datString
|
||||
Size = 15
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end
|
||||
item
|
||||
Name = 'IBAN'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
end
|
||||
item
|
||||
Name = 'SWIFT'
|
||||
DataType = datString
|
||||
Size = 255
|
||||
Value = ''
|
||||
end
|
||||
item
|
||||
Name = 'OLD_ID'
|
||||
DataType = datInteger
|
||||
Value = ''
|
||||
ParamType = daptInput
|
||||
end>
|
||||
Statements = <
|
||||
item
|
||||
@ -2662,8 +2690,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>
|
||||
|
||||
@ -47,41 +47,41 @@
|
||||
<DelphiCompile Include="Contactos_view.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="..\..\..\Servidor\adortl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\ApplicationBase.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\Base.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\bdertl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\Contactos_controller.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\Contactos_model.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\cxDataD11.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\cxEditorsD11.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\dxGDIPlusD11.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\dxThemeD11.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\FormasPago_controller.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\FormasPago_model.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\GestorInformes_controller.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\GUIBase.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\GUISDK_D11R.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\Jcl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\JclVcl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\JvCoreD11R.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\JvGlobusD11R.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\rtl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\TiposIVA_controller.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\TiposIVA_model.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\vcl.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\vclactnband.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\vcldb.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\vcljpg.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\vclx.dcp" />
|
||||
<DCCReference Include="..\..\..\Servidor\xmlrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\bdertl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Contactos_controller.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Contactos_model.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\DataAbstract_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.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\FormasPago_controller.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\FormasPago_model.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GestorInformes_controller.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.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\JvGlobusD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\TiposIVA_controller.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\TiposIVA_model.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.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="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
|
||||
<DCCReference Include="uContactosViewRegister.pas" />
|
||||
<DCCReference Include="uEditorCliente.pas">
|
||||
<Form>fEditorCliente</Form>
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
Width = 501
|
||||
Height = 149
|
||||
Height = 192
|
||||
ExplicitWidth = 501
|
||||
ExplicitHeight = 149
|
||||
ExplicitHeight = 192
|
||||
object dxLayoutControl1: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 501
|
||||
Height = 129
|
||||
Height = 185
|
||||
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
|
||||
@ -33,7 +33,7 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
Width = 114
|
||||
end
|
||||
object eSucursal: TcxDBTextEdit
|
||||
Left = 341
|
||||
Left = 342
|
||||
Top = 55
|
||||
DataBinding.DataField = 'SUCURSAL'
|
||||
DataBinding.DataSource = dsDatosBancarios
|
||||
@ -52,7 +52,7 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
Width = 112
|
||||
end
|
||||
object eCuenta: TcxDBTextEdit
|
||||
Left = 238
|
||||
Left = 241
|
||||
Top = 82
|
||||
DataBinding.DataField = 'CUENTA'
|
||||
DataBinding.DataSource = dsDatosBancarios
|
||||
@ -71,7 +71,7 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
Width = 194
|
||||
end
|
||||
object eDC: TcxDBTextEdit
|
||||
Left = 117
|
||||
Left = 120
|
||||
Top = 82
|
||||
DataBinding.DataField = 'DC'
|
||||
DataBinding.DataSource = dsDatosBancarios
|
||||
@ -90,7 +90,7 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
Width = 47
|
||||
end
|
||||
object eTitular: TcxDBTextEdit
|
||||
Left = 117
|
||||
Left = 120
|
||||
Top = 28
|
||||
DataBinding.DataField = 'TITULAR'
|
||||
DataBinding.DataSource = dsDatosBancarios
|
||||
@ -108,6 +108,46 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
TabOrder = 0
|
||||
Width = 194
|
||||
end
|
||||
object eIBAN: TcxDBTextEdit
|
||||
Left = 120
|
||||
Top = 109
|
||||
DataBinding.DataField = 'IBAN'
|
||||
DataBinding.DataSource = dsDatosBancarios
|
||||
Properties.MaxLength = 24
|
||||
Properties.OnValidate = eIBANPropertiesValidate
|
||||
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 = 782
|
||||
end
|
||||
object eSWIFT: TcxDBTextEdit
|
||||
Left = 120
|
||||
Top = 136
|
||||
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 = 782
|
||||
end
|
||||
object dxLayoutControl1Group_Root: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
@ -146,18 +186,33 @@ inherited frViewClienteDatosBancarios: TfrViewClienteDatosBancarios
|
||||
object dxLayoutControl1Group4: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item4: TdxLayoutItem
|
||||
Caption = 'DC:'
|
||||
Control = eDC
|
||||
object dxLayoutControl1Group5: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item4: TdxLayoutItem
|
||||
Caption = 'DC:'
|
||||
Control = eDC
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'C'#243'd. cuenta:'
|
||||
Control = eCuenta
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Item6: TdxLayoutItem
|
||||
Caption = 'C'#243'digo IBAN:'
|
||||
Control = eIBAN
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'C'#243'd. cuenta:'
|
||||
Control = eCuenta
|
||||
object dxLayoutControl1Item7: TdxLayoutItem
|
||||
Caption = 'C'#243'digo SWIFT/BIC:'
|
||||
Control = eSWIFT
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
|
||||
@ -30,10 +30,28 @@ type
|
||||
dxLayoutControl1Group4: TdxLayoutGroup;
|
||||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||||
dsDatosBancarios: TDADataSource;
|
||||
dxLayoutControl1Item6: TdxLayoutItem;
|
||||
eIBAN: TcxDBTextEdit;
|
||||
dxLayoutControl1Item7: TdxLayoutItem;
|
||||
eSWIFT: TcxDBTextEdit;
|
||||
dxLayoutControl1Group5: TdxLayoutGroup;
|
||||
procedure eIBANPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
uses uIBANUtils, uStringsUtils;
|
||||
|
||||
procedure TfrViewClienteDatosBancarios.eIBANPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if not EsCadenaVacia(DisplayValue) then
|
||||
if not EsCodigoIBANValido(DisplayValue) then
|
||||
showmessage('Código IBAN incorrecto');
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -82,6 +82,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
inherited pgPaginas: TPageControl
|
||||
Width = 854
|
||||
Height = 308
|
||||
ActivePage = pagContenido
|
||||
OnChanging = pgPaginasChanging
|
||||
ExplicitTop = 112
|
||||
ExplicitWidth = 854
|
||||
@ -141,6 +142,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
ExplicitWidth = 351
|
||||
inherited dxLayoutControl1: TdxLayoutControl
|
||||
Width = 351
|
||||
ExplicitWidth = 407
|
||||
inherited cbTienda: TcxComboBox
|
||||
Style.LookAndFeel.SkinName = ''
|
||||
StyleDisabled.LookAndFeel.SkinName = ''
|
||||
@ -156,6 +158,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
ExplicitWidth = 398
|
||||
inherited dxLayoutControl1: TdxLayoutControl
|
||||
Width = 398
|
||||
ExplicitWidth = 348
|
||||
inherited Bevel1: TBevel
|
||||
Width = 266
|
||||
ExplicitWidth = 266
|
||||
@ -243,7 +246,7 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
ExplicitHeight = 228
|
||||
inherited memObservaciones: TcxDBMemo
|
||||
DataBinding.DataSource = frViewFacturaCliente1.DADataSource
|
||||
ExplicitHeight = 228
|
||||
ExplicitWidth = 783
|
||||
Height = 228
|
||||
Width = 521
|
||||
end
|
||||
@ -313,57 +316,57 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
ExplicitWidth = 57
|
||||
end
|
||||
inherited UpDown1: TUpDown
|
||||
Left = 588
|
||||
Left = 570
|
||||
Top = 0
|
||||
ExplicitLeft = 588
|
||||
ExplicitLeft = 570
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton13: TToolButton
|
||||
Left = 605
|
||||
Left = 587
|
||||
Top = 0
|
||||
ExplicitLeft = 605
|
||||
ExplicitLeft = 587
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton6: TToolButton
|
||||
Left = 613
|
||||
Left = 595
|
||||
Top = 0
|
||||
ExplicitLeft = 613
|
||||
ExplicitLeft = 595
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton7: TToolButton
|
||||
Left = 647
|
||||
Left = 629
|
||||
Top = 0
|
||||
ExplicitLeft = 647
|
||||
ExplicitLeft = 629
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton8: TToolButton
|
||||
Left = 681
|
||||
Left = 663
|
||||
Top = 0
|
||||
ExplicitLeft = 681
|
||||
ExplicitLeft = 663
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton12: TToolButton
|
||||
Left = 715
|
||||
Left = 697
|
||||
Top = 0
|
||||
ExplicitLeft = 715
|
||||
ExplicitLeft = 697
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton9: TToolButton
|
||||
Left = 723
|
||||
Left = 705
|
||||
Top = 0
|
||||
ExplicitLeft = 723
|
||||
ExplicitLeft = 705
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton10: TToolButton
|
||||
Left = 757
|
||||
Left = 739
|
||||
Top = 0
|
||||
ExplicitLeft = 757
|
||||
ExplicitLeft = 739
|
||||
ExplicitTop = 0
|
||||
end
|
||||
inherited ToolButton11: TToolButton
|
||||
Left = 791
|
||||
Left = 773
|
||||
Top = 0
|
||||
ExplicitLeft = 791
|
||||
ExplicitLeft = 773
|
||||
ExplicitTop = 0
|
||||
end
|
||||
end
|
||||
@ -381,12 +384,18 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente
|
||||
ExplicitTop = 24
|
||||
ExplicitWidth = 846
|
||||
inherited TBXToolbar1: TTBXToolbar
|
||||
ExplicitWidth = 622
|
||||
ExplicitWidth = 735
|
||||
end
|
||||
end
|
||||
inherited cxRichEdit1: TcxRichEdit
|
||||
Style.IsFontAssigned = True
|
||||
end
|
||||
inherited ActionListContenido: TActionList
|
||||
inherited actQuitarPrecios: TAction
|
||||
OnExecute = frViewDetallesFacturaCliente1actQuitarPreciosExecute
|
||||
OnUpdate = frViewDetallesFacturaCliente1actQuitarPreciosUpdate
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object pagContabilidad: TTabSheet
|
||||
|
||||
@ -42,7 +42,11 @@ type
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
procedure frViewTotales1ePorteEditing(Sender: TObject; var CanEdit: Boolean);
|
||||
procedure OnRecargoEquivalenciaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||||
var Error: Boolean); //Importante en este punto se deben de quitar los eventos que puedan afectar a la tabla una vez se cierre el editor.
|
||||
var Error: Boolean);
|
||||
procedure frViewDetallesFacturaCliente1actQuitarPreciosExecute(
|
||||
Sender: TObject);
|
||||
procedure frViewDetallesFacturaCliente1actQuitarPreciosUpdate(
|
||||
Sender: TObject); //Importante en este punto se deben de quitar los eventos que puedan afectar a la tabla una vez se cierre el editor.
|
||||
|
||||
private
|
||||
procedure RecalcularPortePorUnidad;
|
||||
@ -189,6 +193,24 @@ begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorFacturaCliente.frViewDetallesFacturaCliente1actQuitarPreciosExecute(
|
||||
Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FController.DetallesController.QuitarPrecioDetalles(FFactura.Detalles);
|
||||
end;
|
||||
|
||||
procedure TfEditorFacturaCliente.frViewDetallesFacturaCliente1actQuitarPreciosUpdate(
|
||||
Sender: TObject);
|
||||
begin
|
||||
|
||||
if not Assigned(frViewDetallesFacturaCliente1.DADataSource.DataTable) then
|
||||
(Sender as TAction).Enabled := False
|
||||
else
|
||||
(Sender as TAction).Enabled := (not ReadOnly)
|
||||
and (not frViewDetallesFacturaCliente1.DADataSource.DataTable.IsEmpty)
|
||||
end;
|
||||
|
||||
procedure TfEditorFacturaCliente.frViewTotales1bTiposIVAClick(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
|
||||
Width = 783
|
||||
inherited ToolBar1: TToolBar
|
||||
Width = 783
|
||||
end
|
||||
inherited cxGrid: TcxGrid
|
||||
Width = 783
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
inherited cxGridViewDESCRIPCION: TcxGridDBColumn
|
||||
OnGetPropertiesForEdit = cxGridViewDESCRIPCIONGetPropertiesForEdit
|
||||
@ -10,6 +15,18 @@ inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited TBXDock1: TTBXDock
|
||||
Width = 783
|
||||
inherited TBXToolbar1: TTBXToolbar
|
||||
ExplicitWidth = 735
|
||||
object TBXSeparatorItem6: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem14: TTBXItem
|
||||
Action = actQuitarPrecios
|
||||
DisplayMode = nbdmImageAndText
|
||||
end
|
||||
end
|
||||
end
|
||||
object cxRichEdit1: TcxRichEdit [3]
|
||||
Left = 78
|
||||
Top = 225
|
||||
@ -28,4 +45,259 @@ inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente
|
||||
Height = 25
|
||||
Width = 145
|
||||
end
|
||||
inherited ActionListContenido: TActionList
|
||||
object actQuitarPrecios: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Quitar precios'
|
||||
ImageIndex = 13
|
||||
end
|
||||
end
|
||||
inherited ContenidoImageList: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000D04944415478DA
|
||||
6364C0062630FCC72A5EC0C0882EC488CB80191909706EDDBA750CAF767D6260
|
||||
5830240DF8F9FB3743EBE6CD780CC011602003409A7F0071EF8E1D10030C30D5
|
||||
31A23B1706609AB1E23F7FC0F4FA2967B01B408CE6A3B76E815D856100319ABF
|
||||
FFFAC570EEC103540340218D0C92EDECE01AD79E398335ACE106305CC0942CAC
|
||||
77871BB0F5E2454820620138A331D3CB09EEECBD57AF929E0E629DADC106FCF9
|
||||
F70F1E602419106A67C6F01DE40260805D7AFC9874037C2C0D194EDDBD8B1260
|
||||
241900A6D103178B01000648ED7B1FCA93F30000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD2520000006E4944415478DA
|
||||
63FCFFFF3F03258071D40006C6397A1214990036203925952CCD73E7CCC66100
|
||||
C85BBF7F32307CFDC4C0F0FD2B03C33710FD05487F46E0374F19E6FE964032E0
|
||||
CF6F840120CD200D5F3F43357E42F0416C90013FBFA119B0B099742FC00CA028
|
||||
10073E1D0C7D030077CE5E397DD56C480000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
||||
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
||||
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
||||
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
||||
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
||||
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
||||
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
||||
7F64240000000049454E44AE426082}
|
||||
Name = 'PngImage2'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
||||
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
||||
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
||||
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
||||
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
||||
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
||||
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
||||
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
||||
9A0000000049454E44AE426082}
|
||||
Name = 'PngImage3'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001984944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BD30046
|
||||
C399181A59989918A23C55181A328C1804F9D8C0069CBD7C07BB01C886FC3F9F
|
||||
CEF00F28BF7AD75D86888ABD0CEC6CCC0C8F774430FCF9F38FE1E2F57B840DF8
|
||||
7B2E0DACF8C7AF3F0CFC360BC006DCDF120676C1B5DB0F091BF0F3540AC3C3E7
|
||||
9F19DAE79D6758B6FD2E4353A6114384BB22D0D0BF0CB7EE3F216C003288F254
|
||||
66288BD765E0E56206BAE01FC3FDC7CFB01B00F233B3D12C30FBFDA138B0730F
|
||||
9C7ECE1056BE8FC1C954926172991958ECF9ABD79806803483FCCC6E36076CC0
|
||||
8B3D5160C52031459FD560B10BCB7DC02E78F3EE2DAA01317E56F038E6B75908
|
||||
567C6D6D1003273B33C396C38F18723B4F32B0B332311C99E70156F3F1D30754
|
||||
03C2BDCC51342303666646066F1B1986EC5035065E6E16B0BA6FDF3EA31A10E4
|
||||
6602762ACC1570F6EFBF503184DCBF7FFF197EFCF8826A809F9311C3A98BB748
|
||||
CA4C700340B971E28CA524E7C6FC8CE81800E35A4E592A9A5C6B000000004945
|
||||
4E44AE426082}
|
||||
Name = 'PngImage4'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001844944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BB7010B
|
||||
37DF6248A8DB0FE7CB4BF2325C5D1B0237E0ECE53BF80D0081C69967191A669C
|
||||
6188F35163985C61C5F0EF1FC4057FFEFC63B878FD1E6103744357335CB9F38E
|
||||
61CB240F066B0331B866107DEDF643FC067CFFF98781CB622E98FD745714032B
|
||||
0B235CF31F20BE75FF096E03FE01C5CE5D7FC3601ABD8E41535180E1E05C6F14
|
||||
CDBF81ECFB8F9F613700A419A478C9D65B0CC98D871862BC5518BAF24DE19A7F
|
||||
005D06623F7FF51AD30098669082CA49A71826AFB8CAD05D68CA10E2AC0009FD
|
||||
DF7FA1B1F08FE1CDBBB7A806C4F859C1A3E8DDC79F0C0185BB182EDE7AC7B0BE
|
||||
D799415B991F453388FEF8E903AA01E15EE6608993975F31B8656E4709D02D13
|
||||
9D1964C438E19A41F8DBB7CFA80604B999C09D8F1C5DE83683F0BF7FFF197EFC
|
||||
F8826A809F9311C3A98BB748CA4C700340B971E28CA524E7C6FC8CE818000A3C
|
||||
81590C9B58CC0000000049454E44AE426082}
|
||||
Name = 'PngImage5'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001854944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4806100A3E14C140DFFCFA763887F3C12
|
||||
CF70ECEC0D86AAB65998067CFCF28B41C0763E98FDE6403C83303F07C33FA09A
|
||||
B71F7E3088392D62B8BB259C81978B85E1ECE53BD80D40B60D643B48F39F3F10
|
||||
67F358CD6778B52F1ACCBF78FD1E6103FE9E4B836B066141BB450CCF764582D9
|
||||
D76E3F246CC0CF532970CD202CE6B494E1E1B630A0A17F196EDD7F42D880B707
|
||||
E318981819C09ADF7DFCC9A011B886E1EEA66020FF1FC3FDC7CFB01B00F2B356
|
||||
D02A869B0F3E305424EA3364846A80BDD1B5F012C3D53BEF1966D558820D7CFE
|
||||
EA35A601B000BBF5F00343CDD4D30C07CE3C07C70A1F372B838BB91443419426
|
||||
90CD0276C19B776F510D88F1B382FB1539E0E0ECDFB0B080F03F7EFA806A40B8
|
||||
97395882DF6621C1D47870B60BC3B76F9F510D08723321CA6610FEF7EF3FC38F
|
||||
1F5F500DF07332623875F1164999096E0028374E9CB194E4DC989F111D03002B
|
||||
D67559EB1C43180000000049454E44AE426082}
|
||||
Name = 'PngImage6'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000F94944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC134809B9B1BAF0B9EBE7803D60C32ECE2F57B845D
|
||||
80CD6618FFDAED87A4BB00062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7
|
||||
CF487701C8E61F3FFF800D7AFEEA35A601E836FFFCF507C5F6DFBF612EFAC7F0
|
||||
E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354DB70D8
|
||||
0C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875F11651
|
||||
5E8001B801A0DC3871C6529273637E46740C002BB66C59EAC44C620000000049
|
||||
454E44AE426082}
|
||||
Name = 'PngImage7'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001004944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC16D0037373756839EBE7803D60C32ECE2F57B845D
|
||||
80CD6618FFDAED879806E0B2191D5CBEF190E1D6FD27B85D80CFE63F60FE3F86
|
||||
FB8F9F613700A499978707A7CD3F7EFE011BF4FCD56B4C03D06DFEF9EB0F8AED
|
||||
BF7FC35CF48FE1CDBBB7A806C4F85931F0F3F11215067B8E5E65F8F8E903AA01
|
||||
E15EE6A8B6E1B01926F7EDDB67540382DC4C88D6FCEFDF7F861F3FBEA01AE0E7
|
||||
64C470EAE22DA2BC0003700340B971E28CA524E7C6FC8CE8180048E16F597BCE
|
||||
9D230000000049454E44AE426082}
|
||||
Name = 'PngImage8'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000FC4944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC16D003737375E97DC79F09CE1E2F57B845D80CD66
|
||||
18FFDAED87980610B219062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7CF
|
||||
B01B00D2CCCBC383D705C7CEDE6278FEEA35A601E836FFFCF507C5F6DFBF612E
|
||||
FAC7F0E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354
|
||||
DB70D80C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875
|
||||
F116515E8001B801A0DC3871C6529273637E46740C0021BE635977EAA72D0000
|
||||
000049454E44AE426082}
|
||||
Name = 'PngImage9'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001CB4944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC480D580CAA3950C4B6E2C61789CFC18A7
|
||||
E663676F3054B5CDC234E0EFFFBF0C327364185E7C7BC17020E40083BDB43DC3
|
||||
3FA09A3F7F109A41F8ECE53BD80D587B672D43CBA916860BAF2F3024682530CC
|
||||
759987A119C4BF78FD1E76031CD73A324CB09FC0E0B0C681E1CFBF3F0C8F129E
|
||||
32B0317280350ADA2D6278B62B12CCBE76FB21A60137DFDF64D058A481E2EFB9
|
||||
4E0B188214C2C09A41E0E1B630A00BFE32DCBAFF04D380C243850C06A2060CB1
|
||||
1A710C871E1F61705C6FC7E020E5C470A02D0C6CB394DB7286BB9B82812EF8C7
|
||||
70FFF13354034CED04194C969B303C4B7DCEC0CDC40B76A6DA52258667536B19
|
||||
562D92623017B16190F75AC57075B53F58EEF9ABD7A806347E886578F0E90183
|
||||
3CAF02C3D5C89B0C69FB531896555B63A4830BCB7DC02E78F3EE2DAA01317E56
|
||||
28A12CECB098E1F18E70440CFCFECBA01DBA91E1F4622F30FFE3A70FA806847B
|
||||
99A36886815B1B82E09A61E0E06C17866FDF3EA31A10E4668212DFC83643C410
|
||||
72FFFEFD67F8F1E30BAA017E4E460CA72EDE222933C10D00E5C6893396929C1B
|
||||
F333A26300FC1C815930D4A9C10000000049454E44AE426082}
|
||||
Name = 'PngImage10'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001124944415478DA
|
||||
63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
|
||||
0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
|
||||
886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
|
||||
908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
|
||||
3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
|
||||
E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
|
||||
76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
|
||||
CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
|
||||
601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
|
||||
Name = 'PngImage11'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000002354944415478DA
|
||||
9D93DF4B936114C73FEF9CDB9C947A23A546E185062E4308122AB5488942A18B
|
||||
A2A228229088EEBA0B83EECCCBCAEA1FA8ABD29B0CACB0FC1176538ACA963FA6
|
||||
A2AEF9966E6E367CF7EEDDF3F4CEB5B4B640FAC281E7E19CF339E73987479152
|
||||
92D2A34BCAC6650B9A8FD4A0A40089E42BCDE941D128E85AD212E7A896B48F83
|
||||
9B00FF939CB703C6BC26A0FD22D25AB0F5B68DE0467242EB804CD535B352DF32
|
||||
DC5C75B2737B1E617D8D79DF0ACD53605FAEA1B6AA8FDEA15F1D24DE9249B3B9
|
||||
2B6837B2B853DD4457749496960ECE8D5772F9C0C8BAFF3720530709B97F404B
|
||||
EE3E6E1D69E04DC0C3BDD6573CC986DD0EFE0DE80F43DC489E8716E175693977
|
||||
8F37D1A90E71FFF65BAE9AF32ACB379D0246A7F7A7034A3C4E6A5DE568868112
|
||||
55282B2DA4B278179EC0570606A6D0A5412CC7C062B130F9594D071CF617F2F0
|
||||
CC35A2C4889B65E644800955C52A159CDBEC84D734739506934195DEC75FD201
|
||||
F5C162AE379EE4933A8B61221CD2865D5AF9160AE38F8430AC122104B3A12526
|
||||
9E2F86FE00E83AB8A60BC8D31CB8BD7E8840757D298D27AA189CF4F2B27B98AC
|
||||
A0056C906DCB425F886F74D0FEC0BE0E99710884397DCC389F90F8CE17D15053
|
||||
C188DF47F7B331EADC7BE8B14DD791F80139C495B6B3F68E40ECE0E94C6B5C72
|
||||
4418BCB0485D4539E30195F79D1E0C8FA8902FA43B15A36CFE8D7F4B69558EBA
|
||||
F616F714951430B3FA9D85FE006BC3B163B243BEDB1AA04D39E4CCB775E95E03
|
||||
2324B0080B22224EC9A7F2432AE627BA3D288D657888700000000049454E44AE
|
||||
426082}
|
||||
Name = 'PngImage12'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001074944415478DA
|
||||
63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A
|
||||
C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211
|
||||
AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643
|
||||
0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601
|
||||
C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4
|
||||
CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346
|
||||
B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501
|
||||
4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08
|
||||
0029AC32F01825AACD0000000049454E44AE426082}
|
||||
Name = 'PngImage13'
|
||||
Background = clWindow
|
||||
end>
|
||||
Bitmap = {}
|
||||
end
|
||||
end
|
||||
|
||||
@ -24,6 +24,9 @@ type
|
||||
|
||||
TfrViewDetallesFacturaCliente = class(TfrViewDetallesArticulos)
|
||||
cxRichEdit1: TcxRichEdit;
|
||||
actQuitarPrecios: TAction;
|
||||
TBXSeparatorItem6: TTBXSeparatorItem;
|
||||
TBXItem14: TTBXItem;
|
||||
procedure cxGridViewDESCRIPCIONGetPropertiesForEdit(
|
||||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||||
var AProperties: TcxCustomEditProperties);
|
||||
@ -33,7 +36,7 @@ type
|
||||
procedure SetFactura(const Value: IBizFacturaCliente);
|
||||
|
||||
procedure AnadirArticulosInterno; override;
|
||||
procedure RellenarArticulosInterno; override;
|
||||
procedure RellenarArticulosInterno; override;
|
||||
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
|
||||
|
||||
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; override;
|
||||
|
||||
@ -122,8 +122,6 @@ uses
|
||||
srvSubfamilias_Impl in '..\Modulos\Subfamilias\Servidor\srvSubfamilias_Impl.pas' {srvSubfamilias: TDataAbstractService},
|
||||
schSubfamiliasClient_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasClient_Intf.pas',
|
||||
schSubfamiliasServer_Intf in '..\Modulos\Subfamilias\Model\schSubfamiliasServer_Intf.pas',
|
||||
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
|
||||
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas',
|
||||
uRptRemesasCliente_Server in '..\Modulos\Remesas de cliente\Reports\uRptRemesasCliente_Server.pas' {RptRemesasCliente: TDataModule},
|
||||
uRptRemesasProveedor_Server in '..\Modulos\Remesas de proveedor\Reports\uRptRemesasProveedor_Server.pas' {RptRemesasProveedor: TDataModule},
|
||||
schRemesasClienteClient_Intf in '..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas',
|
||||
@ -142,7 +140,9 @@ uses
|
||||
schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas',
|
||||
uNumUtils in '..\Base\Utiles\uNumUtils.pas',
|
||||
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas',
|
||||
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas';
|
||||
schFacturasClienteServer_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas',
|
||||
schContactosClient_Intf in '..\Modulos\Contactos\Model\schContactosClient_Intf.pas',
|
||||
schContactosServer_Intf in '..\Modulos\Contactos\Model\schContactosServer_Intf.pas';
|
||||
|
||||
{$R *.res}
|
||||
{$R ..\Servicios\RODLFile.res}
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType/>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">6</VersionInfo><VersionInfo Name="Release">6</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.6.6.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.6.6.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 11 de enero de 2016 13:39</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">6</VersionInfo><VersionInfo Name="Release">7</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.6.7.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES (Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.6.7.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 11 de enero de 2016 18:08</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
|
||||
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
|
||||
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user