Compare commits

...

10 Commits

Author SHA1 Message Date
47e6b22a22 Version 2.3.1 Firma digital de presupuesto y facturas
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@39 40301925-124e-1c4e-b97d-170ad7a8785b
2024-08-07 13:46:47 +00:00
4e3fd677a8 Version 2.9.0: Aviso al modificar presupuestos y campo nuevo de fecha ultima modificacion, poder aumentar y desminuir la letra, facturas solo visibles para gerencia, cambio LOPD Acota
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@38 40301925-124e-1c4e-b97d-170ad7a8785b
2024-05-20 16:09:11 +00:00
2cfa8a916e .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@37 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:56:43 +00:00
7b6b52009e .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@36 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:55:59 +00:00
1550493819 .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@35 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:55:00 +00:00
18d8988644 .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@34 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:54:25 +00:00
e2543f00af .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@33 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:53:36 +00:00
acee23460b .
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@32 40301925-124e-1c4e-b97d-170ad7a8785b
2023-09-28 13:53:04 +00:00
693c9a6a4b version 2.2.6 - arreglo formas pago y porder exportar a excel todo
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@31 40301925-124e-1c4e-b97d-170ad7a8785b
2022-06-03 09:58:54 +00:00
daf284159f Version 2.2.5 - Campo referencia contenido en presupuestos de cliente (contratos para arribas), solicitado por Raquel
git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@30 40301925-124e-1c4e-b97d-170ad7a8785b
2022-04-20 10:39:28 +00:00
71 changed files with 2937 additions and 736 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -44,13 +44,6 @@
<Borland.ProjectType>Package</Borland.ProjectType> <Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject> <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> <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\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\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages> <Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -65,56 +58,56 @@
<DelphiCompile Include="Base.dpk"> <DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Contratos de cliente\adortl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\designide.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dsnap.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxCoreD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\GUISDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\Jcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PluginSDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vclx.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.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\cxExtEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.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\dclIndyCore.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\dxCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.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\JSDialog100.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.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\TB2k_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.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\VclSmp.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas"> <DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form> <Form>fConfigurarConexion</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TForm</DesignClass>

Binary file not shown.

View File

@ -48,8 +48,10 @@ function GetSpecialFolderPath(folder : integer) : string;
function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean; function PreguntarRuta(const ATitulo: String; const AComentario: String; var ARuta: String): Boolean;
function PreguntarFicheroWordExportar (var Fichero : String) : Boolean; function PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean; function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
function PreguntarFicheroPDFExportar (var Fichero : String) : Boolean;
function EscapeIllegalChars(AFileName: string): string; function EscapeIllegalChars(AFileName: string): string;
function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList; function FindFile(const filespec: TFileName; attributes: integer = faReadOnly Or faHidden Or faSysFile Or faArchive): TStringList;
function ExecAndWait(sCommandLine: string): Boolean;
function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant; function DarRutaFichero(const ARutaIni: String; const AFichero: String; const ADirectorio1: String = ''; const ADirectorio2: String = ''): Variant;
@ -66,6 +68,34 @@ uses
StdCtrls, SHFolder, cxShellBrowserDialog, StdCtrls, SHFolder, cxShellBrowserDialog,
cxLookAndFeels, uStringsUtils; cxLookAndFeels, uStringsUtils;
function ExecAndWait(sCommandLine: string): Boolean;
var
dwExitCode: DWORD;
tpiProcess: TProcessInformation;
tsiStartup: TStartupInfo;
begin
Result := False;
FillChar(tsiStartup, SizeOf(TStartupInfo), 0);
tsiStartup.cb := SizeOf(TStartupInfo);
if CreateProcess(nil, PChar(sCommandLine), nil, nil, False, 0,
nil, nil, tsiStartup, tpiProcess) then
begin
if WAIT_OBJECT_0 = WaitForSingleObject(tpiProcess.hProcess, INFINITE) then
begin
if GetExitCodeProcess(tpiProcess.hProcess, dwExitCode) then
begin
if dwExitCode = 0 then
Result := True
else
SetLastError(dwExitCode + $2000);
end;
end;
dwExitCode := GetLastError;
CloseHandle(tpiProcess.hProcess);
CloseHandle(tpiProcess.hThread);
SetLastError(dwExitCode);
end;
end;
function GetSpecialFolderPath(folder : integer) : string; function GetSpecialFolderPath(folder : integer) : string;
const const
@ -465,6 +495,27 @@ begin
end end
end; end;
function PreguntarFicheroPDFExportar (var Fichero : String) : Boolean;
var
DialogoSalvar : TSaveDialog;
begin
DialogoSalvar := TSaveDialog.Create(NIL);
try
with DialogoSalvar do
begin
DefaultExt := 'pdf';
Filter := 'Documento pdf (*.pdf)|*.pdf';
FileName := Fichero;
FilterIndex := 0;
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
end;
Result := DialogoSalvar.Execute;
if Result then
Fichero := DialogoSalvar.FileName;
finally
DialogoSalvar.Free;
end;
end;
procedure SetDefaultFonts(const AFont: TFont); procedure SetDefaultFonts(const AFont: TFont);

View File

@ -132,7 +132,7 @@ function CadLimpiaCar(NIF: String): String;
delete(NIF,pos('-',NIF),1); delete(NIF,pos('-',NIF),1);
while (pos('/',NIF)>0) do while (pos('/',NIF)>0) do
delete(NIF,pos('/',NIF),1); delete(NIF,pos('/',NIF),1);
Result:=NIF; Result:=UpperCase(NIF);
end; end;
end. end.

View File

@ -52,7 +52,8 @@
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType> <Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject> <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">2</VersionInfo><VersionInfo Name="Release">4</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.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.4.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">3</VersionInfo><VersionInfo Name="Release">1</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.3.1.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.1.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 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> </Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>

Binary file not shown.

View File

@ -58,34 +58,34 @@
<DelphiCompile Include="GUIBase.dpk"> <DelphiCompile Include="GUIBase.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\ccpackD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxExportD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxLayoutControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxPScxCommonD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxPScxGrid6LnkD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\frx11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\frxe11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\fs11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvAppFrmD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvGlobusD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\tb2k_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="uDialogBase.pas"> <DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form> <Form>fDialogBase</Form>
</DCCReference> </DCCReference>

View File

@ -21,7 +21,7 @@ inherited fEditorDBItem: TfEditorDBItem
Width = 650 Width = 650
ExplicitWidth = 650 ExplicitWidth = 650
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 650 ExplicitWidth = 605
inherited TBXItem26: TTBXItem inherited TBXItem26: TTBXItem
Visible = False Visible = False
end end
@ -77,14 +77,12 @@ inherited fEditorDBItem: TfEditorDBItem
object pgPaginas: TPageControl [3] object pgPaginas: TPageControl [3]
AlignWithMargins = True AlignWithMargins = True
Left = 3 Left = 3
Top = 112 Top = 109
Width = 644 Width = 644
Height = 325 Height = 328
ActivePage = pagGeneral ActivePage = pagGeneral
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
ExplicitTop = 109
ExplicitHeight = 328
object pagGeneral: TTabSheet object pagGeneral: TTabSheet
Caption = 'General' Caption = 'General'
ExplicitLeft = 0 ExplicitLeft = 0
@ -95,7 +93,7 @@ inherited fEditorDBItem: TfEditorDBItem
end end
object PnlComentario: TPanel [4] object PnlComentario: TPanel [4]
Left = 0 Left = 0
Top = 79 Top = 76
Width = 650 Width = 650
Height = 30 Height = 30
Align = alTop Align = alTop
@ -105,7 +103,6 @@ inherited fEditorDBItem: TfEditorDBItem
ParentBackground = False ParentBackground = False
TabOrder = 4 TabOrder = 4
VerticalAlignment = taAlignTop VerticalAlignment = taAlignTop
ExplicitTop = 76
object lbComentario: TLabel object lbComentario: TLabel
AlignWithMargins = True AlignWithMargins = True
Left = 6 Left = 6

View File

@ -30,7 +30,7 @@ inherited fEditorGridBase: TfEditorGridBase
DockPos = 0 DockPos = 0
DragHandleStyle = dhDouble DragHandleStyle = dhDouble
TabOrder = 1 TabOrder = 1
ExplicitWidth = 457 ExplicitWidth = 543
inherited TBXItem29: TTBXItem inherited TBXItem29: TTBXItem
Visible = False Visible = False
end end
@ -254,8 +254,6 @@ inherited fEditorGridBase: TfEditorGridBase
object actExportarExcel: TAction object actExportarExcel: TAction
Category = 'Archivo' Category = 'Archivo'
Caption = 'Exportar a fichero Excel...' Caption = 'Exportar a fichero Excel...'
Enabled = False
Visible = False
OnExecute = actExportarExcelExecute OnExecute = actExportarExcelExecute
OnUpdate = actExportarExcelUpdate OnUpdate = actExportarExcelUpdate
end end

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,44 @@
@ECHO off
title firmadocumento
cls
set LOGFILE=D:\FactuGES2\Servidor\Informes\1\log_contrato.txt
set ARCHIVO=%1
set city=MADRID
set province=MADRID
set postalcode=28047
set PositionOnPageLowerLeftX=30
set PositionOnPageLowerLeftY=80
set PositionOnPageUpperRightX=160
set PositionOnPageUpperRigthY=200
set signaturePage=1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
set signatureRubricImage="D:\FactuGES2\Servidor\Informes\1\sello.jpg"
set layer2text="Firmado digitalmente por $$ORGANIZATION$$ Fecha: $$SIGNDATE=dd/MM/yyyy$$"
SET l2FontColor=black
SET l2FontSize=7
SET l2FontFamily=1
SET l2FontStyle=0
REM Asegura que autofirma no muestra ninguna GUI
set headless=true
REM incluir únicamente el certificado del firmante
set "includeOnlySignningCertificate=true"
REM Siempre creará una revisión al firmar. Requiere que el documento cumpla PDF 1.7 (ISO 32000-1:2008)
REM "alwaysCreateRevision=true"
set "CONFIG=headless=%headless%\nlayer2Text=%layer2text%\nsignatureProductionCity=%city%\nsignatureProductionProvince=%province%\nsignatureProductionPostalCode=%postalcode%\nsignatureProductionCountry=ESPAÑA\nsignaturePositionOnPageLowerLeftX=%PositionOnPageLowerLeftX%\nsignaturePositionOnPageLowerLeftY=%PositionOnPageLowerLeftY%\nsignaturePositionOnPageUpperRightX=%PositionOnPageUpperRightX%\nsignaturePositionOnPageUpperRightY=%PositionOnPageUpperRigthY%\nsignaturePage=%signaturePage%\nincludeOnlySignningCertificate=true\nsignatureRubricImage=%signatureRubricImage%"
REM echo %CONFIG% > %LOGFILE%
REM echo %ARCHIVO% > %LOGFILE%
echo %TEMP% > %LOGFILE%
rem echo %PASSCRIS% > %LOGFILE%
call :FIRMA >> %LOGFILE%
exit /b
:FIRMA
"C:\Program Files (x86)\AutoFirma\AutoFirma\AutoFirmaCommandLine.exe" sign -i %ARCHIVO% -o %ARCHIVO% -store pkcs12:"D:\FactuGES2\Servidor\PDFS\cert.pfx" -password %PASSACO% -filter subject.contains:4467 -config %CONFIG%

View File

@ -0,0 +1,44 @@
@ECHO off
title firmadocumento
cls
set LOGFILE=D:\FactuGES2\Servidor\Informes\1\log_factura.txt
set ARCHIVO=%1
set city=MADRID
set province=MADRID
set postalcode=28047
set PositionOnPageLowerLeftX=30
set PositionOnPageLowerLeftY=80
set PositionOnPageUpperRightX=160
set PositionOnPageUpperRigthY=200
set signaturePage=-1
set signatureRubricImage="D:\FactuGES2\Servidor\Informes\1\sello.jpg"
set layer2text="Firmado digitalmente por $$ORGANIZATION$$ Fecha: $$SIGNDATE=dd/MM/yyyy$$"
SET l2FontColor=black
SET l2FontSize=7
SET l2FontFamily=1
SET l2FontStyle=0
REM Asegura que autofirma no muestra ninguna GUI
set headless=true
REM incluir únicamente el certificado del firmante
set "includeOnlySignningCertificate=true"
REM Siempre creará una revisión al firmar. Requiere que el documento cumpla PDF 1.7 (ISO 32000-1:2008)
REM "alwaysCreateRevision=true"
set "CONFIG=headless=%headless%\nlayer2Text=%layer2text%\nsignatureProductionCity=%city%\nsignatureProductionProvince=%province%\nsignatureProductionPostalCode=%postalcode%\nsignatureProductionCountry=ESPAÑA\nsignaturePositionOnPageLowerLeftX=%PositionOnPageLowerLeftX%\nsignaturePositionOnPageLowerLeftY=%PositionOnPageLowerLeftY%\nsignaturePositionOnPageUpperRightX=%PositionOnPageUpperRightX%\nsignaturePositionOnPageUpperRightY=%PositionOnPageUpperRigthY%\nsignaturePage=-1\nincludeOnlySignningCertificate=true\nsignatureRubricImage=%signatureRubricImage%"
REM echo %CONFIG% > %LOGFILE%
REM echo %ARCHIVO% > %LOGFILE%
echo %TEMP% > %LOGFILE%
rem echo %PASSCRIS% > %LOGFILE%
call :FIRMA >> %LOGFILE%
exit /b
:FIRMA
"C:\Program Files (x86)\AutoFirma\AutoFirma\AutoFirmaCommandLine.exe" sign -i %ARCHIVO% -o %ARCHIVO% -store pkcs12:"D:\FactuGES2\Servidor\PDFS\cert.pfx" -password %PASSACO% -filter subject.contains:4467 -config %CONFIG%

BIN
Source/Informes/1/sello.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -2,8 +2,6 @@ inherited fEditorContactos: TfEditorContactos
Left = 285 Left = 285
Top = 448 Top = 448
Caption = 'Lista de contactos' Caption = 'Lista de contactos'
ExplicitWidth = 320
ExplicitHeight = 240
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
@ -11,7 +9,7 @@ inherited fEditorContactos: TfEditorContactos
end end
inherited TBXDock: TTBXDock inherited TBXDock: TTBXDock
inherited tbxFiltro: TTBXToolbar inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 269 ExplicitWidth = 194
inherited tbxEditFiltro: TTBXEditItem inherited tbxEditFiltro: TTBXEditItem
EditOptions = [tboUseEditWhenVertical] EditOptions = [tboUseEditWhenVertical]
end end
@ -19,10 +17,6 @@ inherited fEditorContactos: TfEditorContactos
Visible = False Visible = False
end end
end end
inherited TBXTMain2: TTBXToolbar
Left = 334
ExplicitLeft = 334
end
end end
inherited EditorActionList: TActionList inherited EditorActionList: TActionList
inherited actPrevisualizar: TAction inherited actPrevisualizar: TAction

View File

@ -8,6 +8,12 @@ uses
type type
IEditorContratosClientePreview = interface(IEditorPreview) IEditorContratosClientePreview = interface(IEditorPreview)
['{475D47DE-2A04-4D85-9D3C-6201B7EF2F29}'] ['{475D47DE-2A04-4D85-9D3C-6201B7EF2F29}']
function getTamLetra: Integer;
function getVerCondiciones: Boolean;
procedure setTamLetra(const Value: Integer);
procedure setVerCodiciones(const Value: Boolean);
property Vercondiciones: Boolean read getVerCondiciones write setVerCodiciones;
property TamLetra: Integer read getTamLetra write setTamLetra;
end; end;

View File

@ -8,7 +8,7 @@ uses
uControllerBase, uIDataModuleContratosCliente, uClientesController, uControllerBase, uIDataModuleContratosCliente, uClientesController,
uDetallesContratoClienteController, uGestorDocumentosController, uDetallesContratoClienteController, uGestorDocumentosController,
uBizContratosCliente, uBizDireccionesContacto, uBizDetallesContratoCliente, uBizContratosCliente, uBizDireccionesContacto, uBizDetallesContratoCliente,
uIntegerListUtils; uIntegerListUtils, uDataModuleContratosCliente;
type type
TEnumTiposContrato = (teCocina, teArmario, teBano, teElectrodomestico, teObra, teVarios); TEnumTiposContrato = (teCocina, teArmario, teBano, teElectrodomestico, teObra, teVarios);
@ -55,8 +55,10 @@ type
function EsModificable(AContrato : IBizContratoCliente): Boolean; function EsModificable(AContrato : IBizContratoCliente): Boolean;
function EsEliminable(AContrato : IBizContratoCliente): Boolean; function EsEliminable(AContrato : IBizContratoCliente): Boolean;
procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure GenerarPDF(AContrato : IBizContratoCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente); procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente);
function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
function AsignarLOPD(AContratos: IBizContratoCliente): Boolean; function AsignarLOPD(AContratos: IBizContratoCliente): Boolean;
@ -68,6 +70,7 @@ type
procedure VerFacturasProveedor(AContrato : IBizContratoCliente); procedure VerFacturasProveedor(AContrato : IBizContratoCliente);
procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente); procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente);
procedure FechaUltimaActualizacionToday (AContrato: IBizContratoCliente);
end; end;
TContratosClienteController = class(TControllerBase, IContratosClienteController) TContratosClienteController = class(TControllerBase, IContratosClienteController)
@ -133,8 +136,10 @@ type
function EsModificable(AContrato : IBizContratoCliente): Boolean; function EsModificable(AContrato : IBizContratoCliente): Boolean;
function EsEliminable(AContrato : IBizContratoCliente): Boolean; function EsEliminable(AContrato : IBizContratoCliente): Boolean;
procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure Print(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure GenerarPDF(AContrato : IBizContratoCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente); procedure EnviarContratoPorEMail(AContrato : IBizContratoCliente);
function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; function CambiarSituacion(AContrato : IBizContratoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean;
function AsignarLOPD(AContratos: IBizContratoCliente): Boolean; function AsignarLOPD(AContratos: IBizContratoCliente): Boolean;
@ -146,13 +151,14 @@ type
procedure VerFacturasProveedor(AContrato : IBizContratoCliente); procedure VerFacturasProveedor(AContrato : IBizContratoCliente);
procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente); procedure CopiarDireccion (const ADireccion: IBizDireccionesContacto; AContrato: IBizContratoCliente);
procedure FechaUltimaActualizacionToday (AContrato: IBizContratoCliente);
end; end;
implementation implementation
uses uses
Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
uIEditorContratosCliente, uDataModuleContratosCliente, Variants, uIEditorContratosCliente, Variants,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App, uBizContactos, uDataTableUtils, uDataModuleUsuarios, uFactuGES_App,
schContratosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorContratoCliente, schContratosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorContratoCliente,
uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente, uIEditorElegirContratosCliente, uIEditorDireccionEntregaContratoCliente,
@ -987,6 +993,32 @@ begin
Result := ASeleccionados; Result := ASeleccionados;
end; end;
procedure TContratosClienteController.FechaUltimaActualizacionToday(AContrato: IBizContratoCliente);
var
bEnEdicion : Boolean;
begin
if not Assigned(AContrato) then
raise Exception.Create ('Contrato no asignado (CopiarDireccion)');
if AContrato.DataTable.Active then
AContrato.DataTable.Active := True;
bEnEdicion := (AContrato.DataTable.State in dsEditModes);
if not bEnEdicion then
AContrato.Edit;
ShowHourglassCursor;
AContrato.Edit;
try
AContrato.FECHA_ULT_PRESENTACION_CLIENTE := DateOf(Date);
if not bEnEdicion then
AContrato.Post;
finally
HideHourglassCursor;
end;
end;
procedure TContratosClienteController.FiltrarAno(AContrato: IBizContratoCliente; ADynWhereDataTable: WideString;const Ano: String); procedure TContratosClienteController.FiltrarAno(AContrato: IBizContratoCliente; ADynWhereDataTable: WideString;const Ano: String);
var var
Condicion: TDAWhereExpression; Condicion: TDAWhereExpression;
@ -1115,7 +1147,7 @@ begin
Result := AContrato; Result := AContrato;
end; end;
procedure TContratosClienteController.Preview(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure TContratosClienteController.Preview(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var var
AReportController : IContratosClienteReportController; AReportController : IContratosClienteReportController;
ID_Contratos: TIntegerList; ID_Contratos: TIntegerList;
@ -1141,14 +1173,14 @@ begin
else else
ID_Contratos.Add(AContrato.ID); ID_Contratos.Add(AContrato.ID);
AReportController.Preview(ID_Contratos, AVerCondiciones); AReportController.Preview(ID_Contratos, AVerCondiciones, TamLetra);
finally finally
AReportController := NIL; AReportController := NIL;
FreeAndNil(ID_Contratos); FreeAndNil(ID_Contratos);
end; end;
end; end;
procedure TContratosClienteController.Print(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false); procedure TContratosClienteController.Print(AContrato: IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var var
AReportController : IContratosClienteReportController; AReportController : IContratosClienteReportController;
ID_Contratos: TIntegerList; ID_Contratos: TIntegerList;
@ -1173,7 +1205,7 @@ begin
else else
ID_Contratos.Add(AContrato.ID); ID_Contratos.Add(AContrato.ID);
AReportController.Print(ID_Contratos, AVerCondiciones); AReportController.Print(ID_Contratos, AVerCondiciones, TamLetra);
finally finally
AReportController := NIL; AReportController := NIL;
@ -1181,6 +1213,63 @@ begin
end; end;
end; end;
procedure TContratosClienteController.GenerarPDF(AContrato: IBizContratoCliente; AllItems, AFirmado: Boolean);
var
AReportController : IContratosClienteReportController;
AFile : String;
bEliminado: Boolean;
ACausa: Variant;
begin
if not Assigned(AContrato) then
raise Exception.Create ('Contrato no asignado (GenerarPDF)');
if AContrato.DataTable.Active then
AContrato.DataTable.Active := True;
//En el caso de querer eliminar todos los items del objeto AAlbaran
if AllItems then
begin
with AContrato.DataTable do
begin
First;
while not EOF do
begin
AFile := EscapeIllegalChars(AContrato.REFERENCIA + ' - ' + AContrato.NOMBRE_CLIENTE);
if (not PreguntarFicheroPDFExportar(AFile)) then
Next
else
begin
ShowHourglassCursor;
try
AReportController := TContratosClienteReportController.Create;
AReportController.ExportToPDF(AContrato.ID, AFile, AFirmado);
finally
AReportController := NIL;
HideHourglassCursor;
end;
Next;
end;
end;
end;
end
else
begin
AFile := EscapeIllegalChars(AContrato.REFERENCIA + ' - ' + AContrato.NOMBRE_CLIENTE);
if (not PreguntarFicheroPDFExportar(AFile)) then
Exit;
ShowHourglassCursor;
try
AReportController := TContratosClienteReportController.Create;
AReportController.ExportToPDF(AContrato.ID, AFile, AFirmado);
finally
AReportController := NIL;
HideHourglassCursor;
end;
end;
end;
function TContratosClienteController.GetClienteController: IClientesController; function TContratosClienteController.GetClienteController: IClientesController;
begin begin
Result := FClienteController; Result := FClienteController;

View File

@ -5,27 +5,32 @@ interface
uses uses
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleContratosClienteReport, Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleContratosClienteReport,
uClientesController, uContratosClienteController, uDetallesContratoClienteController, uClientesController, uContratosClienteController, uDetallesContratoClienteController,
uBizContratosCliente, uIntegerListUtils; uBizContratosCliente, uIntegerListUtils, uDataModuleContratosCliente;
type type
IContratosClienteReportController = interface(IControllerBase) IContratosClienteReportController = interface(IControllerBase)
['{FEF47B69-26A3-462A-AF6D-4B2073D4F9DC}'] ['{FEF47B69-26A3-462A-AF6D-4B2073D4F9DC}']
procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; function ExportToPDF(const AID: Integer; const AFileName : String = ''; const AFirmado: Boolean = False): Boolean;
function getDataModule: IDataModuleContratosClienteReport;
property DataModule: IDataModuleContratosClienteReport read getDataModule;
end; end;
TContratosClienteReportController = class(TControllerBase, IContratosClienteReportController) TContratosClienteReportController = class(TControllerBase, IContratosClienteReportController)
private private
FDataModule : IDataModuleContratosClienteReport; FDataModule : IDataModuleContratosClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
function getDataModule: IDataModuleContratosClienteReport;
public public
property DataModule: IDataModuleContratosClienteReport read getDataModule;
constructor Create; override; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; function ExportToPDF(const AID: Integer; const AFileName : String = ''; const AFirmado: Boolean = False): Boolean;
end; end;
@ -33,7 +38,7 @@ implementation
uses uses
uROTypes, uEditorRegistryUtils, uIEditorContratosClientePreview, uROTypes, uEditorRegistryUtils, uIEditorContratosClientePreview,
uEditorPreview, uDataModuleContratosCliente, uEditorBase, uEditorPreview, uEditorBase,
cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc; cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc;
{ TContratosClienteReportController } { TContratosClienteReportController }
@ -57,8 +62,7 @@ begin
inherited; inherited;
end; end;
function TContratosClienteReportController.ExportToPDF(const AID: Integer; function TContratosClienteReportController.ExportToPDF(const AID: Integer; const AFileName: String; const AFirmado: Boolean): Boolean;
const AFileName: String): Boolean;
var var
AStream: Binary; AStream: Binary;
begin begin
@ -68,7 +72,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetRptPDFContrato(AID); AStream := FDataModule.GetRptPDFContrato(AID, false, AFirmado);
try try
AStream.SaveToFile(AFileName); AStream.SaveToFile(AFileName);
Result := True; Result := True;
@ -80,7 +84,12 @@ begin
end; end;
end; end;
procedure TContratosClienteReportController.Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); function TContratosClienteReportController.getDataModule: IDataModuleContratosClienteReport;
begin
Result := FDataModule;
end;
procedure TContratosClienteReportController.Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorContratosClientePreview; AEditor : IEditorContratosClientePreview;
@ -89,7 +98,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones); AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones, TamLetra);
try try
CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor); CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then
@ -97,6 +106,8 @@ begin
try try
AEditor.Controller := Self; AEditor.Controller := Self;
AEditor.ListaID := AListaID; AEditor.ListaID := AListaID;
AEditor.Vercondiciones := AVerCondiciones;
AEditor.TamLetra := TamLetra;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE; AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream); AEditor.LoadFromStream(AStream);
AEditor.Preview; AEditor.Preview;
@ -113,7 +124,7 @@ begin
end; end;
end; end;
procedure TContratosClienteReportController.Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false); procedure TContratosClienteReportController.Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorContratosClientePreview; AEditor : IEditorContratosClientePreview;
@ -122,7 +133,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones); AStream := FDataModule.GetRptContratos(AListaID, AVerCondiciones, TamLetra);
try try
CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor); CreateEditor('EditorContratosClientePreview', IEditorContratosClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then
@ -130,6 +141,8 @@ begin
try try
AEditor.Controller := Self; AEditor.Controller := Self;
AEditor.ListaID := AListaID; AEditor.ListaID := AListaID;
AEditor.Vercondiciones := AVerCondiciones;
AEditor.TamLetra := TamLetra;
AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE; AEditor.Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
AEditor.LoadFromStream(AStream); AEditor.LoadFromStream(AStream);
AEditor.Print; AEditor.Print;

View File

@ -373,6 +373,15 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente
Name = 'PROCEDENCIA_CLIENTE' Name = 'PROCEDENCIA_CLIENTE'
DataType = datString DataType = datString
Size = 255 Size = 255
end
item
Name = 'EMAIL_1'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
end> end>
Params = <> Params = <>
StreamingOptions = [soDisableEventsWhileStreaming] StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -13,6 +13,7 @@ uses
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer, uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer,
uDAMemDataTable, uIntegerListUtils; uDAMemDataTable, uIntegerListUtils;
type type
TDataModuleContratosCliente = class(TDataModuleBase, IDataModuleContratosCliente, IDataModuleContratosClienteReport) TDataModuleContratosCliente = class(TDataModuleBase, IDataModuleContratosCliente, IDataModuleContratosClienteReport)
RORemoteService: TRORemoteService; RORemoteService: TRORemoteService;
@ -45,8 +46,8 @@ type
function NewItem : IBizContratoCliente; function NewItem : IBizContratoCliente;
// Report // Report
function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary; function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false): Binary; function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false; const Firmado: Boolean = False): Binary;
function GetAnosItems : TStringList; function GetAnosItems : TStringList;
function GetContratosClienteBeneficios : IBizContratosClienteBeneficios; function GetContratosClienteBeneficios : IBizContratosClienteBeneficios;
@ -57,7 +58,7 @@ implementation
{$R *.DFM} {$R *.DFM}
uses uses
cxControls, FactuGES_Intf, uDataModuleConexion, Dialogs, DataAbstract4_Intf, cxControls, FactuGES_Intf, uFactuGES_App, uDataModuleConexion, Dialogs, DataAbstract4_Intf,
uDataTableUtils, schContratosClienteClient_Intf, uBizContactos; uDataTableUtils, schContratosClienteClient_Intf, uBizContactos;
{ TdmContratosCliente } { TdmContratosCliente }
@ -73,26 +74,26 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleContratosCliente.GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false): Binary; function TDataModuleContratosCliente.GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false; const Firmado: Boolean = False): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
begin begin
AParam := TIntegerArray.Create; AParam := TIntegerArray.Create;
try try
AParam.Add(AID); AParam.Add(AID);
Result := (RORemoteService as IsrvContratosCliente).GenerarInformeEnPDF(AParam, AVerCondiciones) Result := (RORemoteService as IsrvContratosCliente).GenerarInformeEnPDF(AParam, AVerCondiciones, AppFactuGES.UsuarioActivo.USERNAME, Firmado)
finally finally
FreeANDNIL(AParam) FreeANDNIL(AParam)
end; end;
end; end;
function TDataModuleContratosCliente.GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary; function TDataModuleContratosCliente.GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
begin begin
AParam := AListaID.ToIntegerArray; AParam := AListaID.ToIntegerArray;
try try
Result := (RORemoteService as IsrvContratosCliente).GenerarInforme(AParam, AVerCondiciones) Result := (RORemoteService as IsrvContratosCliente).GenerarInforme(AParam, AVerCondiciones, TamLetra)
finally finally
FreeANDNIL(AParam) FreeANDNIL(AParam)
end; end;

View File

@ -8,8 +8,8 @@ uses
type type
IDataModuleContratosClienteReport = interface IDataModuleContratosClienteReport = interface
['{6AB7469B-842A-413E-AF33-9506477A9666}'] ['{6AB7469B-842A-413E-AF33-9506477A9666}']
function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false): Binary; function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): Binary;
function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false): Binary; function GetRptPDFContrato(const AID: Integer; AVerCondiciones: Boolean = false; const Firmado: Boolean = False): Binary;
end; end;
implementation implementation

View File

@ -9,13 +9,13 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_Valores = '{AEE43CFA-1BB9-4CAC-8556-BFFC8FCEC733}'; RID_Valores = '{52B71EED-9363-4A19-B433-C4917CBE0490}';
RID_Propiedades = '{B0855CF2-8ED5-4024-AEF7-D177FF322892}'; RID_Propiedades = '{28500097-0FDC-4DBF-8047-FF879A5DDC4A}';
RID_ListaAnosContratos = '{7E058AD2-196F-4A8A-AC1D-8DE9CBA5C393}'; RID_ListaAnosContratos = '{587736A2-5CC2-48D3-B32A-E54D4E7E23B5}';
RID_ContratosClienteBeneficios = '{0EFEC438-3D7F-4359-BCCA-04AB52950321}'; RID_ContratosClienteBeneficios = '{C9C242F8-9818-4C50-B4F8-12D1F83C3682}';
RID_ContratosCliente = '{00CCC87B-31E8-4640-BD5A-80EA152531B1}'; RID_ContratosCliente = '{25E7020F-9DCA-4458-BB59-6F80612DB958}';
RID_TiposCapitulos = '{FDAC7B98-87A1-41D6-A1C8-1FF22B060EBD}'; RID_TiposCapitulos = '{FF4FB40E-4BDD-4D49-8893-AEF4013E66C7}';
RID_ContratosCliente_Detalles = '{68294EF3-4491-4A62-BCB2-E2FCE40EC48F}'; RID_ContratosCliente_Detalles = '{893CDA38-9F05-42E6-A176-200846BFB3B4}';
{ Data table names } { Data table names }
nme_Valores = 'Valores'; nme_Valores = 'Valores';
@ -142,6 +142,8 @@ const
fld_ContratosClienteFECHA_PREVISTA_MONTAJE = 'FECHA_PREVISTA_MONTAJE'; fld_ContratosClienteFECHA_PREVISTA_MONTAJE = 'FECHA_PREVISTA_MONTAJE';
fld_ContratosClienteCAMPO_LIBRE = 'CAMPO_LIBRE'; fld_ContratosClienteCAMPO_LIBRE = 'CAMPO_LIBRE';
fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE'; fld_ContratosClientePROCEDENCIA_CLIENTE = 'PROCEDENCIA_CLIENTE';
fld_ContratosClienteEMAIL_1 = 'EMAIL_1';
fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 'FECHA_ULT_PRESENTACION_CLIENTE';
{ ContratosCliente field indexes } { ContratosCliente field indexes }
idx_ContratosClienteID = 0; idx_ContratosClienteID = 0;
@ -199,6 +201,8 @@ const
idx_ContratosClienteFECHA_PREVISTA_MONTAJE = 52; idx_ContratosClienteFECHA_PREVISTA_MONTAJE = 52;
idx_ContratosClienteCAMPO_LIBRE = 53; idx_ContratosClienteCAMPO_LIBRE = 53;
idx_ContratosClientePROCEDENCIA_CLIENTE = 54; idx_ContratosClientePROCEDENCIA_CLIENTE = 54;
idx_ContratosClienteEMAIL_1 = 55;
idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE = 56;
{ TiposCapitulos fields } { TiposCapitulos fields }
fld_TiposCapitulosID = 'ID'; fld_TiposCapitulosID = 'ID';
@ -257,7 +261,7 @@ const
type type
{ IValores } { IValores }
IValores = interface(IDAStronglyTypedDataTable) IValores = interface(IDAStronglyTypedDataTable)
['{B7DEBA9E-BCE7-44A0-A0D2-208F8F26EC42}'] ['{D4C72CBB-5A40-48B5-852D-1A61B100DFEB}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -316,7 +320,7 @@ type
{ IPropiedades } { IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable) IPropiedades = interface(IDAStronglyTypedDataTable)
['{6063DDB1-1BC1-4242-A704-513F0F3137A7}'] ['{F803D346-E489-4868-B0A3-F1C2E96E16B2}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -375,7 +379,7 @@ type
{ IListaAnosContratos } { IListaAnosContratos }
IListaAnosContratos = interface(IDAStronglyTypedDataTable) IListaAnosContratos = interface(IDAStronglyTypedDataTable)
['{7AE79F64-046B-478B-A184-60A42E6CEC14}'] ['{B9314FAD-1F9D-40AE-BA67-0D5AB968CB40}']
{ Property getters and setters } { Property getters and setters }
function GetANOValue: String; function GetANOValue: String;
procedure SetANOValue(const aValue: String); procedure SetANOValue(const aValue: String);
@ -410,7 +414,7 @@ type
{ IContratosClienteBeneficios } { IContratosClienteBeneficios }
IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable) IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
['{CA71E23E-0E59-4812-BD81-DD1B8C7F72F9}'] ['{EFDA00B5-AC6D-4E4E-A034-0AA20C0A990A}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -613,7 +617,7 @@ type
{ IContratosCliente } { IContratosCliente }
IContratosCliente = interface(IDAStronglyTypedDataTable) IContratosCliente = interface(IDAStronglyTypedDataTable)
['{57FF1442-BB37-430E-B945-F2BD12A522F4}'] ['{F8022D8A-297E-4D9D-8AC6-B18A5C333FE6}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -829,6 +833,14 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String);
function GetPROCEDENCIA_CLIENTEIsNull: Boolean; function GetPROCEDENCIA_CLIENTEIsNull: Boolean;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean);
function GetEMAIL_1Value: String;
procedure SetEMAIL_1Value(const aValue: String);
function GetEMAIL_1IsNull: Boolean;
procedure SetEMAIL_1IsNull(const aValue: Boolean);
function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
{ Properties } { Properties }
@ -942,6 +954,10 @@ type
property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull; property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
end; end;
{ TContratosClienteDataTableRules } { TContratosClienteDataTableRules }
@ -1175,6 +1191,14 @@ type
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; function GetPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetEMAIL_1Value: String; virtual;
procedure SetEMAIL_1Value(const aValue: String); virtual;
function GetEMAIL_1IsNull: Boolean; virtual;
procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID: Integer read GetIDValue write SetIDValue; property ID: Integer read GetIDValue write SetIDValue;
@ -1287,6 +1311,10 @@ type
property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull; property CAMPO_LIBREIsNull: Boolean read GetCAMPO_LIBREIsNull write SetCAMPO_LIBREIsNull;
property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue; property PROCEDENCIA_CLIENTE: String read GetPROCEDENCIA_CLIENTEValue write SetPROCEDENCIA_CLIENTEValue;
property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull: Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property EMAIL_1: String read GetEMAIL_1Value write SetEMAIL_1Value;
property EMAIL_1IsNull: Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
property FECHA_ULT_PRESENTACION_CLIENTE: DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
property FECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
public public
constructor Create(aDataTable: TDADataTable); override; constructor Create(aDataTable: TDADataTable); override;
@ -1299,7 +1327,7 @@ type
} }
{ ITiposCapitulos } { ITiposCapitulos }
ITiposCapitulos = interface(IDAStronglyTypedDataTable) ITiposCapitulos = interface(IDAStronglyTypedDataTable)
['{A289CB54-D71E-428B-9B81-18A5A7D546DE}'] ['{B0A1870A-440A-4DA1-A1F7-BC9AD8D5F1A2}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -1394,7 +1422,7 @@ type
{ IContratosCliente_Detalles } { IContratosCliente_Detalles }
IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable) IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{DABADFCD-EEA9-4ACB-919D-9F2239F1912B}'] ['{0CF18EC5-18A6-409F-B07C-417A09924B1C}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -3331,6 +3359,48 @@ begin
DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsVariant := Null; DataTable.Fields[idx_ContratosClientePROCEDENCIA_CLIENTE].AsVariant := Null;
end; end;
function TContratosClienteDataTableRules.GetEMAIL_1Value: String;
begin
result := DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString;
end;
procedure TContratosClienteDataTableRules.SetEMAIL_1Value(const aValue: String);
begin
DataTable.Fields[idx_ContratosClienteEMAIL_1].AsString := aValue;
end;
function TContratosClienteDataTableRules.GetEMAIL_1IsNull: boolean;
begin
result := DataTable.Fields[idx_ContratosClienteEMAIL_1].IsNull;
end;
procedure TContratosClienteDataTableRules.SetEMAIL_1IsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ContratosClienteEMAIL_1].AsVariant := Null;
end;
function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
begin
result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime;
end;
procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
begin
DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsDateTime := aValue;
end;
function TContratosClienteDataTableRules.GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: boolean;
begin
result := DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].IsNull;
end;
procedure TContratosClienteDataTableRules.SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE].AsVariant := Null;
end;
{ TTiposCapitulosDataTableRules } { TTiposCapitulosDataTableRules }
constructor TTiposCapitulosDataTableRules.Create(aDataTable: TDADataTable); constructor TTiposCapitulosDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,18 +9,18 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ValoresDelta = '{7C597F28-9CAB-4563-AB03-5109CCD1E4FD}'; RID_ValoresDelta = '{2AA17EFC-B6ED-42C1-8998-4A61B38C6C9C}';
RID_PropiedadesDelta = '{AEAD2B1C-5693-4333-B72F-D7FCB996C77C}'; RID_PropiedadesDelta = '{CFCEAC41-2605-4AB8-8708-9376886949CD}';
RID_ListaAnosContratosDelta = '{5420790C-645C-4AAD-84FB-8194E39EC4DC}'; RID_ListaAnosContratosDelta = '{3CF93616-7DEB-4108-BBF9-DF16A4F51DF1}';
RID_ContratosClienteBeneficiosDelta = '{C92FEDD1-D568-4200-A088-37BAFD5C3BBE}'; RID_ContratosClienteBeneficiosDelta = '{0B3B92D0-5683-4069-BCC9-BF13F3D32B81}';
RID_ContratosClienteDelta = '{026E716F-C412-4A7B-BA3A-1D689117FC73}'; RID_ContratosClienteDelta = '{5972C7CE-C947-4BB7-ADA5-E24116CC4879}';
RID_TiposCapitulosDelta = '{3515E5DD-2CF2-4ED9-A717-1FE908B2D252}'; RID_TiposCapitulosDelta = '{C2270A90-511B-4330-B083-2AB5AE7B2621}';
RID_ContratosCliente_DetallesDelta = '{04D0B422-F0D9-4FF9-8BFA-67148A8EA383}'; RID_ContratosCliente_DetallesDelta = '{D393C1E6-380F-4806-9BE9-C4894A4D3E3E}';
type type
{ IValoresDelta } { IValoresDelta }
IValoresDelta = interface(IValores) IValoresDelta = interface(IValores)
['{7C597F28-9CAB-4563-AB03-5109CCD1E4FD}'] ['{2AA17EFC-B6ED-42C1-8998-4A61B38C6C9C}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_PROPIEDADValue : Integer; function GetOldID_PROPIEDADValue : Integer;
@ -78,7 +78,7 @@ type
{ IPropiedadesDelta } { IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades) IPropiedadesDelta = interface(IPropiedades)
['{AEAD2B1C-5693-4333-B72F-D7FCB996C77C}'] ['{CFCEAC41-2605-4AB8-8708-9376886949CD}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String; function GetOldDESCRIPCIONValue : String;
@ -136,7 +136,7 @@ type
{ IListaAnosContratosDelta } { IListaAnosContratosDelta }
IListaAnosContratosDelta = interface(IListaAnosContratos) IListaAnosContratosDelta = interface(IListaAnosContratos)
['{5420790C-645C-4AAD-84FB-8194E39EC4DC}'] ['{3CF93616-7DEB-4108-BBF9-DF16A4F51DF1}']
{ Property getters and setters } { Property getters and setters }
function GetOldANOValue : String; function GetOldANOValue : String;
@ -170,7 +170,7 @@ type
{ IContratosClienteBeneficiosDelta } { IContratosClienteBeneficiosDelta }
IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios) IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios)
['{C92FEDD1-D568-4200-A088-37BAFD5C3BBE}'] ['{0B3B92D0-5683-4069-BCC9-BF13F3D32B81}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String; function GetOldREFERENCIAValue : String;
@ -372,7 +372,7 @@ type
{ IContratosClienteDelta } { IContratosClienteDelta }
IContratosClienteDelta = interface(IContratosCliente) IContratosClienteDelta = interface(IContratosCliente)
['{026E716F-C412-4A7B-BA3A-1D689117FC73}'] ['{5972C7CE-C947-4BB7-ADA5-E24116CC4879}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -429,6 +429,8 @@ type
function GetOldFECHA_PREVISTA_MONTAJEValue : DateTime; function GetOldFECHA_PREVISTA_MONTAJEValue : DateTime;
function GetOldCAMPO_LIBREValue : String; function GetOldCAMPO_LIBREValue : String;
function GetOldPROCEDENCIA_CLIENTEValue : String; function GetOldPROCEDENCIA_CLIENTEValue : String;
function GetOldEMAIL_1Value : String;
function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue : DateTime;
{ Properties } { Properties }
property OldID : Integer read GetOldIDValue; property OldID : Integer read GetOldIDValue;
@ -486,6 +488,8 @@ type
property OldFECHA_PREVISTA_MONTAJE : DateTime read GetOldFECHA_PREVISTA_MONTAJEValue; property OldFECHA_PREVISTA_MONTAJE : DateTime read GetOldFECHA_PREVISTA_MONTAJEValue;
property OldCAMPO_LIBRE : String read GetOldCAMPO_LIBREValue; property OldCAMPO_LIBRE : String read GetOldCAMPO_LIBREValue;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldEMAIL_1 : String read GetOldEMAIL_1Value;
property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
end; end;
{ TContratosClienteBusinessProcessorRules } { TContratosClienteBusinessProcessorRules }
@ -829,6 +833,18 @@ type
function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual; function GetOldPROCEDENCIA_CLIENTEIsNull: Boolean; virtual;
procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual; procedure SetPROCEDENCIA_CLIENTEValue(const aValue: String); virtual;
procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual; procedure SetPROCEDENCIA_CLIENTEIsNull(const aValue: Boolean); virtual;
function GetEMAIL_1Value: String; virtual;
function GetEMAIL_1IsNull: Boolean; virtual;
function GetOldEMAIL_1Value: String; virtual;
function GetOldEMAIL_1IsNull: Boolean; virtual;
procedure SetEMAIL_1Value(const aValue: String); virtual;
procedure SetEMAIL_1IsNull(const aValue: Boolean); virtual;
function GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
function GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
function GetOldFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime; virtual;
function GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean; virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime); virtual;
procedure SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean); virtual;
{ Properties } { Properties }
property ID : Integer read GetIDValue write SetIDValue; property ID : Integer read GetIDValue write SetIDValue;
@ -1051,6 +1067,14 @@ type
property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull; property PROCEDENCIA_CLIENTEIsNull : Boolean read GetPROCEDENCIA_CLIENTEIsNull write SetPROCEDENCIA_CLIENTEIsNull;
property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue; property OldPROCEDENCIA_CLIENTE : String read GetOldPROCEDENCIA_CLIENTEValue;
property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull; property OldPROCEDENCIA_CLIENTEIsNull : Boolean read GetOldPROCEDENCIA_CLIENTEIsNull;
property EMAIL_1 : String read GetEMAIL_1Value write SetEMAIL_1Value;
property EMAIL_1IsNull : Boolean read GetEMAIL_1IsNull write SetEMAIL_1IsNull;
property OldEMAIL_1 : String read GetOldEMAIL_1Value;
property OldEMAIL_1IsNull : Boolean read GetOldEMAIL_1IsNull;
property FECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetFECHA_ULT_PRESENTACION_CLIENTEValue write SetFECHA_ULT_PRESENTACION_CLIENTEValue;
property FECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetFECHA_ULT_PRESENTACION_CLIENTEIsNull write SetFECHA_ULT_PRESENTACION_CLIENTEIsNull;
property OldFECHA_ULT_PRESENTACION_CLIENTE : DateTime read GetOldFECHA_ULT_PRESENTACION_CLIENTEValue;
property OldFECHA_ULT_PRESENTACION_CLIENTEIsNull : Boolean read GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull;
public public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override; constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -1060,7 +1084,7 @@ type
{ ITiposCapitulosDelta } { ITiposCapitulosDelta }
ITiposCapitulosDelta = interface(ITiposCapitulos) ITiposCapitulosDelta = interface(ITiposCapitulos)
['{3515E5DD-2CF2-4ED9-A717-1FE908B2D252}'] ['{C2270A90-511B-4330-B083-2AB5AE7B2621}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer; function GetOldPOSICIONValue : Integer;
@ -1154,7 +1178,7 @@ type
{ IContratosCliente_DetallesDelta } { IContratosCliente_DetallesDelta }
IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles) IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles)
['{04D0B422-F0D9-4FF9-8BFA-67148A8EA383}'] ['{D393C1E6-380F-4806-9BE9-C4894A4D3E3E}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_CONTRATOValue : Integer; function GetOldID_CONTRATOValue : Integer;
@ -3867,6 +3891,68 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClientePROCEDENCIA_CLIENTE] := Null; BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClientePROCEDENCIA_CLIENTE] := Null;
end; end;
function TContratosClienteBusinessProcessorRules.GetEMAIL_1Value: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1];
end;
function TContratosClienteBusinessProcessorRules.GetEMAIL_1IsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1]);
end;
function TContratosClienteBusinessProcessorRules.GetOldEMAIL_1Value: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteEMAIL_1];
end;
function TContratosClienteBusinessProcessorRules.GetOldEMAIL_1IsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteEMAIL_1]);
end;
procedure TContratosClienteBusinessProcessorRules.SetEMAIL_1Value(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1] := aValue;
end;
procedure TContratosClienteBusinessProcessorRules.SetEMAIL_1IsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteEMAIL_1] := Null;
end;
function TContratosClienteBusinessProcessorRules.GetFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE];
end;
function TContratosClienteBusinessProcessorRules.GetFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE]);
end;
function TContratosClienteBusinessProcessorRules.GetOldFECHA_ULT_PRESENTACION_CLIENTEValue: DateTime;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE];
end;
function TContratosClienteBusinessProcessorRules.GetOldFECHA_ULT_PRESENTACION_CLIENTEIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE]);
end;
procedure TContratosClienteBusinessProcessorRules.SetFECHA_ULT_PRESENTACION_CLIENTEValue(const aValue: DateTime);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := aValue;
end;
procedure TContratosClienteBusinessProcessorRules.SetFECHA_ULT_PRESENTACION_CLIENTEIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_ContratosClienteFECHA_ULT_PRESENTACION_CLIENTE] := Null;
end;
{ TTiposCapitulosBusinessProcessorRules } { TTiposCapitulosBusinessProcessorRules }
constructor TTiposCapitulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); constructor TTiposCapitulosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -15,6 +15,12 @@ const
SITUACION_CONTRATO_ACEPTADO = 'ACEPTADO'; SITUACION_CONTRATO_ACEPTADO = 'ACEPTADO';
SITUACION_CONTRATO_RECHAZADO = 'RECHAZADO'; SITUACION_CONTRATO_RECHAZADO = 'RECHAZADO';
CTE_TamLetraIni = 8;
CTE_TamLetraMin = 5;
CTE_TamLetraMax = 16;
CTE_Aumento = 1;
type type
IBizContratoCliente = interface(IContratosCliente) IBizContratoCliente = interface(IContratosCliente)
@ -261,6 +267,7 @@ begin
ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA; ID_TIPO_IVA := AppFactuGES.EmpresaActiva.ID_TIPO_IVA;
FECHA_CONTRATO := DateOf(Date); FECHA_CONTRATO := DateOf(Date);
FECHA_ULT_PRESENTACION_CLIENTE := DateOf(Date);
INCIDENCIAS_ACTIVAS := 0; INCIDENCIAS_ACTIVAS := 0;
RE := 0; RE := 0;
@ -270,7 +277,7 @@ begin
ID_TIENDA := AppFactuGES.TiendaActiva.ID; ID_TIENDA := AppFactuGES.TiendaActiva.ID;
TIENDA := AppFactuGES.TiendaActiva.NOMBRE; TIENDA := AppFactuGES.TiendaActiva.NOMBRE;
Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos; // Self.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := AppFactuGES.FormaPagoDocumentos;
Self.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos; Self.DataTable.FieldByName(fld_ContratosClienteOBSERVACIONES).AsString := AppFactuGES.ObservacionesDocumentos;
Self.DataTable.FieldByName(fld_ContratosClienteCONDICIONES).AsString := AppFactuGES.CondicionesDocumentos; Self.DataTable.FieldByName(fld_ContratosClienteCONDICIONES).AsString := AppFactuGES.CondicionesDocumentos;

View File

@ -205,8 +205,10 @@ object RptContratosCliente: TRptContratosCliente
'IENTE.IMPORTE_TOTAL,'#10' V_CONTRATOS_CLIENTE.PERSONA_CONTACTO,'#10' ' + 'IENTE.IMPORTE_TOTAL,'#10' V_CONTRATOS_CLIENTE.PERSONA_CONTACTO,'#10' ' +
' V_CONTRATOS_CLIENTE.VENDEDOR,'#10' V_CONTRATOS_CLIENTE.TIPO_CO' + ' V_CONTRATOS_CLIENTE.VENDEDOR,'#10' V_CONTRATOS_CLIENTE.TIPO_CO' +
'NTRATO,'#10' V_CONTRATOS_CLIENTE.CONDICIONES,'#10' V_CONTRATOS_CLI' + 'NTRATO,'#10' V_CONTRATOS_CLIENTE.CONDICIONES,'#10' V_CONTRATOS_CLI' +
'ENTE.LOPD'#10'FROM'#10' V_CONTRATOS_CLIENTE'#10'WHERE'#10' V_CONTRATOS_CLI' + 'ENTE.LOPD,'#10' V_CONTRATOS_CLIENTE.REFERENCIA_CLIENTE,'#10' V_CON' +
'ENTE.ID = :ID'#10 'TRATOS_CLIENTE.EMAIL_1,'#10' V_CONTRATOS_CLIENTE.FECHA_ULT_PRESEN' +
'TACION_CLIENTE'#10'FROM'#10' V_CONTRATOS_CLIENTE'#10'WHERE'#10' V_CONTRATO' +
'S_CLIENTE.ID = :ID'#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = < ColumnMappings = <
item item
@ -340,6 +342,18 @@ object RptContratosCliente: TRptContratosCliente
item item
DatasetField = 'LOPD' DatasetField = 'LOPD'
TableField = 'LOPD' TableField = 'LOPD'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end
item
DatasetField = 'EMAIL_1'
TableField = 'EMAIL_1'
end
item
DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE'
TableField = 'FECHA_ULT_PRESENTACION_CLIENTE'
end> end>
end> end>
Name = 'Informe_Cabecera' Name = 'Informe_Cabecera'
@ -488,6 +502,20 @@ object RptContratosCliente: TRptContratosCliente
item item
Name = 'LOPD' Name = 'LOPD'
DataType = datSmallInt DataType = datSmallInt
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'EMAIL_1'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
end> end>
ReadOnly = True ReadOnly = True
end end
@ -1034,7 +1062,7 @@ object RptContratosCliente: TRptContratosCliente
PrintOptions.Printer = 'Por defecto' PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0 PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000 ReportOptions.CreateDate = 39065.872423495400000000
ReportOptions.LastChange = 44126.785023055560000000 ReportOptions.LastChange = 45425.422046400460000000
ScriptLanguage = 'PascalScript' ScriptLanguage = 'PascalScript'
ShowProgress = False ShowProgress = False
StoreInDFM = False StoreInDFM = False
@ -1206,6 +1234,20 @@ object RptContratosCliente: TRptContratosCliente
item item
Name = 'LOPD' Name = 'LOPD'
DataType = datSmallInt DataType = datSmallInt
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'EMAIL_1'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
end> end>
Params = < Params = <
item item
@ -1497,6 +1539,7 @@ object RptContratosCliente: TRptContratosCliente
UseFileCache = True UseFileCache = True
ShowProgress = False ShowProgress = False
OverwritePrompt = False OverwritePrompt = False
EmbeddedFonts = True
PrintOptimized = True PrintOptimized = True
Outline = False Outline = False
Background = False Background = False

View File

@ -87,6 +87,7 @@ type
FVerPrecios: Boolean; FVerPrecios: Boolean;
FVerTotales: Boolean; FVerTotales: Boolean;
FVerCondiciones: Boolean; FVerCondiciones: Boolean;
FTamLetra: Integer;
procedure _GenerarContrato(const AID : Integer); procedure _GenerarContrato(const AID : Integer);
@ -97,8 +98,8 @@ type
procedure IniciarParametrosInforme; procedure IniciarParametrosInforme;
procedure RecuperarNombresClientes; procedure RecuperarNombresClientes;
public public
function GenerarContrato(const ListaID : TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarContrato(const ListaID : TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarContratoEnPDF(const ListaID : TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarContratoEnPDF(const ListaID : TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
function GenerarInformeListadoContratos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeListadoContratos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
end; end;
@ -136,6 +137,7 @@ begin
frxDBDetalles.CloseDataSource := False; frxDBDetalles.CloseDataSource := False;
FListaNombresClientes := TStringList.Create; FListaNombresClientes := TStringList.Create;
FTamLetra := 8;
with tbl_Detalles do with tbl_Detalles do
begin begin
@ -146,26 +148,44 @@ begin
end; end;
end; end;
function TRptContratosCliente.GenerarContratoEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TRptContratosCliente.GenerarContratoEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
var var
i: Integer; i: Integer;
AStream : Binary;
ARutaFichero, ANombreFichero, LlamadaBat : String;
begin begin
Result := Binary.Create; Result := Binary.Create;
//Inicializamos parametros
FVerLogotipo := true;
FNombreEmpresa := '';
FVerPrecios := true;
FVerTotales := true;
FVerCondiciones := VerCondiciones;
try try
//Vamos generando todos y cada uno de los Contratos recibidos //Inicializamos parametros
for i := 0 to ListaID.Count - 1 do FVerLogotipo := true;
_GenerarContrato(ListaID.Items[i]); FNombreEmpresa := '';
FVerPrecios := true;
FVerTotales := true;
FVerCondiciones := VerCondiciones;
frxPDFExport1.Stream := Result; //Vamos generando todos y cada uno de los presupuestos recibidos
frxReport.Export(frxPDFExport1) for i := 0 to ListaID.Count - 1 do
begin
_GenerarContrato(ListaID.Items[i]);
ANombreFichero := frxReport.ReportOptions.Name + '_' + FormatDateTime('yyyymmdd_hhnnss_', now) + Usuario;
if Firmado then
ANombreFichero := ANombreFichero + 'firmado.pdf'
else
ANombreFichero := ANombreFichero + '.pdf';
ANombreFichero := DarRutaPDFS + EscapeIllegalChars(ANombreFichero);
frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1);
Result.SaveToFile(ANombreFichero);
if Firmado then
begin
ARutaFichero := DarRutaFichero(DarRutaInformes, 'firma_contrato.bat ', IntToStr(FIdEmpresa));
LlamadaBat := ARutaFichero + '"' + ANombreFichero + '"';
if ExecAndWait(LlamadaBat) then
Result.LoadFromFile(ANombreFichero);
end;
end;
finally finally
end; end;
end; end;
@ -490,7 +510,7 @@ begin
end; end;
end; end;
function TRptContratosCliente.GenerarContrato(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TRptContratosCliente.GenerarContrato(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
var var
i: Integer; i: Integer;
begin begin
@ -502,6 +522,7 @@ begin
FVerPrecios := True; FVerPrecios := True;
FVerTotales := True; FVerTotales := True;
FVerCondiciones := VerCondiciones; FVerCondiciones := VerCondiciones;
FTamLetra := TamLetra;
try try
//Vamos generando todos y cada uno de los Contratos recibidos //Vamos generando todos y cada uno de los Contratos recibidos
@ -533,6 +554,7 @@ end;
procedure TRptContratosCliente._GenerarContrato(const AID: Integer); procedure TRptContratosCliente._GenerarContrato(const AID: Integer);
var var
AInforme: Variant; AInforme: Variant;
AStyle: TfrxStyleItem;
begin begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try try
@ -555,6 +577,7 @@ begin
tbl_DetallesArticulos.Active := True; tbl_DetallesArticulos.Active := True;
FIdEmpresa := tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger;
AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString);
if VarIsNull(AInforme) then if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarContrato, no encuentra informe ' + rptInforme)); raise Exception.Create (('Error Servidor: _GenerarContrato, no encuentra informe ' + rptInforme));
@ -568,6 +591,11 @@ begin
frxReport.AddFunction('function PONERJUSTIFICACIONCOMPLETA(ARTFText : String): String', 'User Function',''); frxReport.AddFunction('function PONERJUSTIFICACIONCOMPLETA(ARTFText : String): String', 'User Function','');
frxReport.ReportOptions.Name := 'Presupuesto ' + tbl_Cabecera.FieldByName('REFERENCIA').AsString; frxReport.ReportOptions.Name := 'Presupuesto ' + tbl_Cabecera.FieldByName('REFERENCIA').AsString;
//Prueba para ver si se puede reducir tamaño de letra
AStyle := frxReport.Styles.Find('Concepto');
AStyle.Font.Size := FTamLetra;
frxReport.Styles.Apply;
frxReport.PrepareReport(False); frxReport.PrepareReport(False);
finally finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO" FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"

View File

@ -502,6 +502,14 @@ object srvContratosCliente: TsrvContratosCliente
item item
DatasetField = 'PROCEDENCIA_CLIENTE' DatasetField = 'PROCEDENCIA_CLIENTE'
TableField = 'PROCEDENCIA_CLIENTE' TableField = 'PROCEDENCIA_CLIENTE'
end
item
DatasetField = 'EMAIL_1'
TableField = 'EMAIL_1'
end
item
DatasetField = 'FECHA_ULT_PRESENTACION_CLIENTE'
TableField = 'FECHA_ULT_PRESENTACION_CLIENTE'
end> end>
end> end>
Name = 'ContratosCliente' Name = 'ContratosCliente'
@ -803,6 +811,15 @@ object srvContratosCliente: TsrvContratosCliente
Name = 'PROCEDENCIA_CLIENTE' Name = 'PROCEDENCIA_CLIENTE'
DataType = datString DataType = datString
Size = 255 Size = 255
end
item
Name = 'EMAIL_1'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
end> end>
end end
item item
@ -1283,6 +1300,11 @@ object srvContratosCliente: TsrvContratosCliente
DataType = datString DataType = datString
Size = 255 Size = 255
Value = '' Value = ''
end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
Value = ''
end> end>
Statements = < Statements = <
item item
@ -1300,17 +1322,18 @@ object srvContratosCliente: TsrvContratosCliente
' PERSONA_CONTACTO,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, TE' + ' PERSONA_CONTACTO,'#10' RE, IMPORTE_RE, RECARGO_EQUIVALENCIA, TE' +
'LEFONO, MOVIL, TIPO_CONTRATO, CONDICIONES,'#10' CALIDADES, REFER' + 'LEFONO, MOVIL, TIPO_CONTRATO, CONDICIONES,'#10' CALIDADES, REFER' +
'ENCIA_CLIENTE, FECHA_DECISION, FECHA_PREVISTA_MONTAJE, CAMPO_LIB' + 'ENCIA_CLIENTE, FECHA_DECISION, FECHA_PREVISTA_MONTAJE, CAMPO_LIB' +
'RE)'#10' VALUES'#10' (:ID, :ID_CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIREC' + 'RE,'#10' FECHA_ULT_PRESENTACION_CLIENTE)'#10' VALUES'#10' (:ID, :ID_' +
'CION, :CALLE, :POBLACION, :PROVINCIA,'#10' :CODIGO_POSTAL, :REFE' + 'CLIENTE, :NIF_CIF, :NOMBRE, :ID_DIRECCION, :CALLE, :POBLACION, :' +
'RENCIA, :FECHA_CONTRATO, :SITUACION, :FORMA_PAGO,'#10' :PLAZO_EN' + 'PROVINCIA,'#10' :CODIGO_POSTAL, :REFERENCIA, :FECHA_CONTRATO, :S' +
'TREGA, :OBSERVACIONES, :INCIDENCIAS, :INCIDENCIAS_ACTIVAS, CURRE' + 'ITUACION, :FORMA_PAGO,'#10' :PLAZO_ENTREGA, :OBSERVACIONES, :INC' +
'NT_TIMESTAMP,'#10' :USUARIO, :IMPORTE_NETO, :IMPORTE_PORTE, :DES' + 'IDENCIAS, :INCIDENCIAS_ACTIVAS, CURRENT_TIMESTAMP,'#10' :USUARIO' +
'CUENTO, :IMPORTE_DESCUENTO,'#10' :BASE_IMPONIBLE, :ID_TIPO_IVA, ' + ', :IMPORTE_NETO, :IMPORTE_PORTE, :DESCUENTO, :IMPORTE_DESCUENTO,' +
':IVA, :IMPORTE_IVA, :IMPORTE_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIE' + #10' :BASE_IMPONIBLE, :ID_TIPO_IVA, :IVA, :IMPORTE_IVA, :IMPORT' +
'NDA, :ID_VENDEDOR, :PERSONA_CONTACTO, :RE, :IMPORTE_RE, :RECARGO' + 'E_TOTAL, :ID_FORMA_PAGO,'#10' :ID_TIENDA, :ID_VENDEDOR, :PERSONA' +
'_EQUIVALENCIA,'#10' :TELEFONO, :MOVIL, :TIPO_CONTRATO, :CONDICIO' + '_CONTACTO, :RE, :IMPORTE_RE, :RECARGO_EQUIVALENCIA,'#10' :TELEFO' +
'NES, :CALIDADES, :REFERENCIA_CLIENTE,'#10' :FECHA_DECISION, :FEC' + 'NO, :MOVIL, :TIPO_CONTRATO, :CONDICIONES, :CALIDADES, :REFERENCI' +
'HA_PREVISTA_MONTAJE, :CAMPO_LIBRE)'#10#10 'A_CLIENTE,'#10' :FECHA_DECISION, :FECHA_PREVISTA_MONTAJE, :CAMPO' +
'_LIBRE, :FECHA_ULT_PRESENTACION_CLIENTE)'#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>
@ -1566,6 +1589,11 @@ object srvContratosCliente: TsrvContratosCliente
Size = 255 Size = 255
Value = '' Value = ''
end end
item
Name = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataType = datDateTime
Value = ''
end
item item
Name = 'OLD_ID' Name = 'OLD_ID'
Value = '' Value = ''
@ -1597,8 +1625,9 @@ object srvContratosCliente: TsrvContratosCliente
'NTRATO,'#10' CONDICIONES = :CONDICIONES,'#10' CALIDADES = :CALIDAD' + 'NTRATO,'#10' CONDICIONES = :CONDICIONES,'#10' CALIDADES = :CALIDAD' +
'ES,'#10' REFERENCIA_CLIENTE = :REFERENCIA_CLIENTE,'#10' FECHA_DECI' + 'ES,'#10' REFERENCIA_CLIENTE = :REFERENCIA_CLIENTE,'#10' FECHA_DECI' +
'SION = :FECHA_DECISION,'#10' FECHA_PREVISTA_MONTAJE = :FECHA_PREV' + 'SION = :FECHA_DECISION,'#10' FECHA_PREVISTA_MONTAJE = :FECHA_PREV' +
'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE'#10' WHERE'#10' (ID = :' + 'ISTA_MONTAJE,'#10' CAMPO_LIBRE = :CAMPO_LIBRE,'#10' FECHA_ULT_PRES' +
'OLD_ID)'#10#10 'ENTACION_CLIENTE = :FECHA_ULT_PRESENTACION_CLIENTE'#10' WHERE'#10' (' +
'ID = :OLD_ID)'#10#10
StatementType = stSQL StatementType = stSQL
ColumnMappings = <> ColumnMappings = <>
end> end>

View File

@ -33,9 +33,8 @@ type
procedure DARemoteServiceCreate(Sender: TObject); procedure DARemoteServiceCreate(Sender: TObject);
protected protected
{ IsrvContratosCliente methods } { IsrvContratosCliente methods }
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
implementation implementation
@ -78,25 +77,25 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvContratosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TsrvContratosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
var var
AReportGenerator : TRptContratosCliente; AReportGenerator : TRptContratosCliente;
begin begin
AReportGenerator := TRptContratosCliente.Create(nil); AReportGenerator := TRptContratosCliente.Create(nil);
try try
Result := AReportGenerator.GenerarContrato(ListaID, VerCondiciones); Result := AReportGenerator.GenerarContrato(ListaID, VerCondiciones, TamLetra);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;
end; end;
function TsrvContratosCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TsrvContratosCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
var var
AReportGenerator : TRptContratosCliente; AReportGenerator : TRptContratosCliente;
begin begin
AReportGenerator := TRptContratosCliente.Create(nil); AReportGenerator := TRptContratosCliente.Create(nil);
try try
Result := AReportGenerator.GenerarContratoEnPDF(ListaID, VerCondiciones); Result := AReportGenerator.GenerarContratoEnPDF(ListaID, VerCondiciones, Usuario, Firmado);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;

View File

@ -175,10 +175,8 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
inherited pgPaginas: TPageControl inherited pgPaginas: TPageControl
Width = 866 Width = 866
Height = 473 Height = 473
ActivePage = pagCondiciones
TabOrder = 1 TabOrder = 1
OnChanging = pgPaginasChanging OnChanging = pgPaginasChanging
ExplicitTop = 109
ExplicitWidth = 866 ExplicitWidth = 866
ExplicitHeight = 473 ExplicitHeight = 473
inherited pagGeneral: TTabSheet inherited pagGeneral: TTabSheet
@ -203,15 +201,17 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
ExplicitWidth = 858 ExplicitWidth = 858
ExplicitHeight = 445 ExplicitHeight = 445
inherited edtFechaContrato: TcxDBDateEdit inherited edtFechaContrato: TcxDBDateEdit
Left = 155
Top = 84 Top = 84
ExplicitLeft = 155
ExplicitTop = 84 ExplicitTop = 84
ExplicitWidth = 129 ExplicitWidth = 129
Width = 129 Width = 129
end end
inherited memObservaciones: TcxDBMemo inherited memObservaciones: TcxDBMemo
Left = 464 Left = 474
Top = 330 Top = 330
ExplicitLeft = 464 ExplicitLeft = 474
ExplicitTop = 330 ExplicitTop = 330
ExplicitWidth = 404 ExplicitWidth = 404
ExplicitHeight = 139 ExplicitHeight = 139
@ -219,25 +219,30 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Width = 404 Width = 404
end end
inherited eReferencia: TcxDBTextEdit inherited eReferencia: TcxDBTextEdit
Left = 155
Top = 30 Top = 30
ExplicitLeft = 155
ExplicitTop = 30 ExplicitTop = 30
ExplicitWidth = 122 ExplicitWidth = 122
Width = 122 Width = 122
end end
inherited cbFormaPago: TcxDBLookupComboBox inherited cbFormaPago: TcxDBLookupComboBox
Top = 192 Left = 155
ExplicitTop = 192 Top = 219
ExplicitLeft = 155
ExplicitTop = 219
ExplicitWidth = 122 ExplicitWidth = 122
Width = 122 Width = 122
end end
inherited bFormasPago: TButton inherited bFormasPago: TButton
Left = 304 Left = 314
Top = 192 Top = 219
ExplicitLeft = 304 ExplicitLeft = 314
ExplicitTop = 192 ExplicitTop = 219
end end
inherited cbSituacion: TcxDBImageComboBox inherited cbSituacion: TcxDBImageComboBox
Top = 138 Left = 155
Top = 165
Properties.Items = < Properties.Items = <
item item
Description = 'PENDIENTE' Description = 'PENDIENTE'
@ -252,52 +257,54 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Description = 'RECHAZADO' Description = 'RECHAZADO'
Value = 'RECHAZADO' Value = 'RECHAZADO'
end> end>
ExplicitTop = 138 ExplicitLeft = 155
ExplicitTop = 165
ExplicitWidth = 260 ExplicitWidth = 260
Width = 260 Width = 260
end end
inherited memFormaPago: TcxDBMemo inherited memFormaPago: TcxDBMemo
Top = 270 Top = 297
ExplicitTop = 270 ExplicitTop = 297
ExplicitWidth = 396 ExplicitWidth = 396
ExplicitHeight = 100 ExplicitHeight = 100
Height = 100 Height = 100
Width = 396 Width = 396
end end
inherited memPlazoEntrega: TcxDBMemo inherited memPlazoEntrega: TcxDBMemo
Top = 365 Top = 378
ExplicitTop = 365 ExplicitTop = 378
ExplicitWidth = 396 ExplicitWidth = 396
ExplicitHeight = 100 ExplicitHeight = 100
Height = 100 Height = 100
Width = 396 Width = 396
end end
inherited cbVendedor: TcxDBLookupComboBox inherited cbVendedor: TcxDBLookupComboBox
Top = 219 Left = 155
ExplicitTop = 219 Top = 246
ExplicitLeft = 155
ExplicitTop = 246
ExplicitWidth = 27 ExplicitWidth = 27
Width = 27 Width = 27
end end
inherited cbTipoContrato: TcxDBComboBox inherited cbTipoContrato: TcxDBComboBox
Left = 339
Top = 84 Top = 84
ExplicitLeft = 339
ExplicitTop = 84 ExplicitTop = 84
ExplicitWidth = 113 ExplicitWidth = 113
Width = 113 Width = 113
end end
inherited edtlREF_CLIENTE: TcxDBTextEdit inherited edtlREF_CLIENTE: TcxDBTextEdit
Left = 155
Top = 57 Top = 57
Enabled = False ExplicitLeft = 155
ExplicitTop = 57 ExplicitTop = 57
ExplicitWidth = 335 ExplicitWidth = 335
Width = 335 Width = 335
end end
inherited frViewClienteContrato1: TfrViewClienteContrato inherited frViewClienteContrato1: TfrViewClienteContrato
Left = 464 Left = 474
Top = 30 Top = 30
Width = 357 Width = 357
ExplicitLeft = 464 ExplicitLeft = 474
ExplicitTop = 30 ExplicitTop = 30
ExplicitWidth = 357 ExplicitWidth = 357
inherited dxLayoutControl1: TdxLayoutControl inherited dxLayoutControl1: TdxLayoutControl
@ -360,10 +367,10 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
Width = 707 Width = 707
end end
inherited edtCodigoPostal: TcxDBTextEdit inherited edtCodigoPostal: TcxDBTextEdit
Left = 279 Left = 269
Top = 176 Top = 176
DataBinding.DataSource = dsDataTable DataBinding.DataSource = dsDataTable
ExplicitLeft = 279 ExplicitLeft = 269
ExplicitTop = 176 ExplicitTop = 176
end end
inherited Button1: TBitBtn inherited Button1: TBitBtn
@ -379,9 +386,9 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
ExplicitTop = 11 ExplicitTop = 11
end end
inherited Button3: TBitBtn inherited Button3: TBitBtn
Left = 169 Left = 159
Top = 230 Top = 230
ExplicitLeft = 169 ExplicitLeft = 159
ExplicitTop = 230 ExplicitTop = 230
end end
inherited cxDBTextEdit1: TcxDBTextEdit inherited cxDBTextEdit1: TcxDBTextEdit
@ -395,30 +402,43 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
end end
end end
inherited edtFechaDecision: TcxDBDateEdit inherited edtFechaDecision: TcxDBDateEdit
Top = 111 Left = 155
ExplicitTop = 111 Top = 138
ExplicitLeft = 155
ExplicitTop = 138
ExplicitWidth = 115 ExplicitWidth = 115
Width = 115 Width = 115
end end
inherited edtFechaPrevMontaje: TcxDBDateEdit inherited edtFechaPrevMontaje: TcxDBDateEdit
Top = 165 Left = 155
ExplicitTop = 165 Top = 192
ExplicitLeft = 155
ExplicitTop = 192
ExplicitWidth = 295 ExplicitWidth = 295
Width = 295 Width = 295
end end
inherited edtFechaUltPresentacion: TcxDBDateEdit
Left = 155
Top = 111
ExplicitLeft = 155
ExplicitTop = 111
ExplicitWidth = 106
Width = 106
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group8: TdxLayoutGroup inherited dxLayoutControl1Group8: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup inherited dxLayoutControl1Group1: TdxLayoutGroup
inherited dxLayoutControl1Item12: TdxLayoutItem
Enabled = False
Visible = False
end
inherited dxLayoutControl1Group11: TdxLayoutGroup inherited dxLayoutControl1Group11: TdxLayoutGroup
inherited dxLayoutControl1Item2: TdxLayoutItem inherited dxLayoutControl1Group10: TdxLayoutGroup
Caption = 'Fecha:' inherited dxLayoutControl1Item2: TdxLayoutItem
Caption = 'Fecha:'
end
inherited dxLayoutControl1Item7: TdxLayoutItem
Caption = 'Tipo presupuesto:'
end
end end
inherited dxLayoutControl1Item7: TdxLayoutItem inherited dxLayoutControl1Item15: TdxLayoutItem
Caption = 'Tipo presupuesto:' Caption = 'Fecha '#250'ltima actualizaci'#243'n:'
end end
end end
end end
@ -737,7 +757,6 @@ inherited fEditorContratoCliente: TfEditorContratoCliente
end end
inherited PnlComentario: TPanel inherited PnlComentario: TPanel
Width = 872 Width = 872
ExplicitTop = 76
ExplicitWidth = 872 ExplicitWidth = 872
inherited lbComentario: TLabel inherited lbComentario: TLabel
Width = 862 Width = 862

View File

@ -277,6 +277,12 @@ begin
frViewDetallesContratoCliente1.BeginUpdate; frViewDetallesContratoCliente1.BeginUpdate;
try try
bEsNuevo := FContrato.EsNuevo; bEsNuevo := FContrato.EsNuevo;
if not bEsNuevo then
if (FContrato.FECHA_ULT_PRESENTACION_CLIENTE < Date) then
if ShowConfirmMessage('Cambio fecha actualización', '¿Desea cambiar la fecha de última actualización del presupuesto por la de hoy?') = IDYES then
Controller.FechaUltimaActualizacionToday(FContrato);
//GESTION_DOCUMENTOS //GESTION_DOCUMENTOS
if FController.Guardar(FContrato) then if FController.Guardar(FContrato) then
frViewDocumentosContratoCliente1.actActualizarServidor.Execute; frViewDocumentosContratoCliente1.actActualizarServidor.Execute;
@ -286,6 +292,7 @@ begin
frViewDetallesContratoCliente1.RestoreGridStatus; frViewDetallesContratoCliente1.RestoreGridStatus;
HideHourglassCursor; HideHourglassCursor;
end; end;
if bEsNuevo then if bEsNuevo then
ShowInfoMessage('El Contrato se ha dado de alta con el código ' + FContrato.REFERENCIA); ShowInfoMessage('El Contrato se ha dado de alta con el código ' + FContrato.REFERENCIA);

View File

@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 1119 Width = 1119
ExplicitWidth = 1119 ExplicitWidth = 1119
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 894 ExplicitWidth = 982
object TBXSubmenuItem3: TTBXSubmenuItem [0] object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo' Caption = 'Nuevo'
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -151,7 +151,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
inherited TBXItem2: TTBXItem inherited TBXItem2: TTBXItem
Visible = False Visible = False
end end
object TBXItem47: TTBXItem [13] object TBXItem51: TTBXItem [13]
Action = actGenerarPDF
DisplayMode = nbdmImageAndText
end
object TBXItem47: TTBXItem [14]
Action = actEnviarEMail Action = actEnviarEMail
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
end end
@ -255,10 +259,6 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
inherited actImprimir: TAction inherited actImprimir: TAction
Visible = True Visible = True
end end
inherited actExportarExcel: TAction
Enabled = True
Visible = True
end
object actGenerarAlbaranCli: TAction object actGenerarAlbaranCli: TAction
Category = 'Acciones' Category = 'Acciones'
Caption = 'Generar albar'#225'n de cliente' Caption = 'Generar albar'#225'n de cliente'
@ -345,6 +345,13 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
OnExecute = actLOPDExecute OnExecute = actLOPDExecute
OnUpdate = actLOPDUpdate OnUpdate = actLOPDUpdate
end end
object actGenerarPDF: TAction
Category = 'Acciones'
Caption = 'Generar PDF'
ImageIndex = 31
OnExecute = actGenerarPDFExecute
OnUpdate = actGenerarPDFUpdate
end
end end
inherited SmallImages: TPngImageList inherited SmallImages: TPngImageList
PngImages = < PngImages = <
@ -1197,6 +1204,29 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
A0BEE1E16734A0290000000049454E44AE426082} A0BEE1E16734A0290000000049454E44AE426082}
Name = 'PngImage30' Name = 'PngImage30'
Background = clWindow Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001F04944415478DA
633CC0C0F09F0109C83939313CDAB70F5988C181818191C1600644DD850C4664
3946900162D7AEC1053872721838972E85F36F4A4A323818CC60A82CF062689F
B00DB7011C1C1C0C9C9C9C0CDFA3A31924B76E65F8F1E307184B7A6E64583825
99E1C69DE70C4B561C64F8F1F3EFC5D7EF7F78030D7A8A6280A0A020D890F7C1
C10C826BD7824D17745C09D70C03627C2C0C959D5BBF000DD20019023640FDF9
7314CD201AE48DF7EFDF3368451D62F075D365D0D19265B872ED3198FEF3F90D
C3C2F597B7BEDA17EF0337000440CEC70694DE85810DD9BCEB32DC305878800D
00853C08806CFDFEFD3B42674A0A38462E2FDACE90DBF7102CB4A0568361ED49
568663276F31BC3D98883000E66474F04A4B8BC1F6DF3F14B182CEDD0CF3363D
66F87A3C8591B15842F33F0301D0F5EC2A0ABF6DC6368629EBDE3148311F6760
24A479F2A2EDFFB362DC19983E9D67B8BFDC98412AF402C3EC6DCF19E62DDD04
4907C41AF0772D1303AB453CC3FD2D0B197823BE307CFFF18BC13FA19A380372
FC2480B61B3228DA3330DC3FC8C0C0E27E95E13B83284344663D7106787FF564
50F4896760F8BC90E1FD3B06860F9719183EDA3F61482A6C25CE00BD279E18E2
CCEEF71872ABBA893320C4D30AE8E7DF0CDFBEFF66F8FAFD17C337A0FF41A0A8
AE8F380360218E0D000074D3EB115697A8140000000049454E44AE426082}
Name = 'PngImage31'
Background = clWindow
end> end>
Bitmap = {} Bitmap = {}
end end

View File

@ -59,6 +59,8 @@ type
TBXSeparatorItem21: TTBXSeparatorItem; TBXSeparatorItem21: TTBXSeparatorItem;
actLOPD: TAction; actLOPD: TAction;
TBXItem50: TTBXItem; TBXItem50: TTBXItem;
actGenerarPDF: TAction;
TBXItem51: TTBXItem;
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject); procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject); procedure actEliminarUpdate(Sender: TObject);
@ -92,6 +94,8 @@ type
procedure actGenerarReciboCliUpdate(Sender: TObject); procedure actGenerarReciboCliUpdate(Sender: TObject);
procedure actLOPDExecute(Sender: TObject); procedure actLOPDExecute(Sender: TObject);
procedure actLOPDUpdate(Sender: TObject); procedure actLOPDUpdate(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject);
private private
procedure cambiarSituacion (const ASituacion: String); procedure cambiarSituacion (const ASituacion: String);
@ -311,6 +315,54 @@ begin
and (FContratos.SITUACION = SITUACION_CONTRATO_ACEPTADO); and (FContratos.SITUACION = SITUACION_CONTRATO_ACEPTADO);
end; end;
procedure TfEditorContratosCliente.actGenerarPDFExecute(Sender: TObject);
var
ACadena : String;
AContratos: IBizContratoCliente;
AllItems: Boolean;
AListaCausas: TStringList;
AFirmar: Boolean;
begin
inherited;
AContratos := Nil;
AFirmar := False;
AllItems := False;
AListaCausas := TStringList.Create;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contratos as ISeleccionable).SelectedRecords);
AContratos := (Controller as IContratosClienteController).ExtraerSeleccionados(Contratos) as IBizContratoCliente;
if (Application.MessageBox('¿Desea firmar digitalmente el/los contrato/s de cliente seleccionados?', 'Atención', MB_YESNO) = IDYES) then
AFirmar := True;
end
else
begin
AContratos := Contratos;
ACadena := '¿Desea firmar digitalmente este contrato a cliente?';
if (Application.MessageBox(PChar(ACadena), 'Atención', MB_YESNO) = IDYES) then
AFirmar := True;
end;
FController.GenerarPDF(AContratos, AllItems, AFirmar);
end;
procedure TfEditorContratosCliente.actGenerarPDFUpdate(Sender: TObject);
begin
inherited;
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := ViewGrid.EsSeleccionCeldaDatos
and (ViewGrid.NumSeleccionados > 0)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorContratosCliente.actGenerarPedidoProvExecute(Sender: TObject); procedure TfEditorContratosCliente.actGenerarPedidoProvExecute(Sender: TObject);
var var
ACopiarDetalles: Boolean; ACopiarDetalles: Boolean;
@ -676,7 +728,14 @@ end;
procedure TfEditorContratosCliente.ModificarInterno; procedure TfEditorContratosCliente.ModificarInterno;
begin begin
inherited; inherited;
FController.Ver(Contratos);
if (Length(Trim(Contratos.FACTURA_ASOCIADA)) > 0) then
begin
if (ShowConfirmMessage('¡Atención!, el presupuesto tiene al menos una factura asociada, "no debería modificar nada", antes hablar con Mónica.', '¿Desea continuar?') = IDYES) then
FController.Ver(Contratos);
end
else
FController.Ver(Contratos);
end; end;
procedure TfEditorContratosCliente.NuevoInterno; procedure TfEditorContratosCliente.NuevoInterno;

View File

@ -10,11 +10,35 @@ uses
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl, JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS; pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS,
frxExportCSV, uContratosClienteReportController;
type type
TfEditorContratosClientePreview = class(TfEditorPreview, IEditorContratosClientePreview) TfEditorContratosClientePreview = class(TfEditorPreview, IEditorContratosClientePreview)
TBXItem58: TTBXItem; TBXItem58: TTBXItem;
actAumentarTamLetra: TAction;
actDisminuirTamLetra: TAction;
TBXItem59: TTBXItem;
TBXItem60: TTBXItem;
TBXSeparatorItem21: TTBXSeparatorItem;
procedure actAumentarTamLetraExecute(Sender: TObject);
procedure actDisminuirTamLetraExecute(Sender: TObject);
private
FVerCondiciones: boolean;
FTamLetra: Integer;
function getTamLetra: Integer;
function getVerCondiciones: Boolean;
procedure setTamLetra(const Value: Integer);
procedure setVerCodiciones(const Value: Boolean);
procedure refrescarInforme;
public
property Vercondiciones: Boolean read getVerCondiciones write setVerCodiciones;
property TamLetra: Integer read getTamLetra write setTamLetra;
end; end;
@ -23,6 +47,69 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
uContratosClienteReportController, uIntegerListUtils, uDialogUtils; cxControls, uROTypes, uFactuGES_App, uIntegerListUtils, uDialogUtils, uBizContratosCliente;
procedure TfEditorContratosClientePreview.actAumentarTamLetraExecute(Sender: TObject);
begin
inherited;
//Si sale de los límites de tamaño de letra no hacemos nada
if (FTamLetra >= CTE_TamLetraMax) then
Exit;
TamLetra := TamLetra + CTE_Aumento;
refrescarInforme;
end;
procedure TfEditorContratosClientePreview.actDisminuirTamLetraExecute(Sender: TObject);
begin
inherited;
//Si sale de los límites de tamaño de letra no hacemos nada
if (TamLetra <= CTE_TamLetraMin) then
Exit;
TamLetra := TamLetra - CTE_Aumento;
refrescarInforme;
end;
function TfEditorContratosClientePreview.getTamLetra: Integer;
begin
Result := FTamLetra;
end;
function TfEditorContratosClientePreview.getVerCondiciones: Boolean;
begin
Result:= FVerCondiciones;
end;
procedure TfEditorContratosClientePreview.refrescarInforme;
var
AStream: Binary;
begin
ShowHourglassCursor;
try
AStream := (Controller as IContratosClienteReportController).DataModule.GetRptContratos(Self.ListaID, FVerCondiciones, FTamLetra);
LoadFromStream(AStream);
Report.ShowPreparedReport;
finally
FreeAndNil(AStream);
HideHourglassCursor;
end;
end;
procedure TfEditorContratosClientePreview.setTamLetra(const Value: Integer);
begin
FTamLetra := Value;
end;
procedure TfEditorContratosClientePreview.setVerCodiciones(const Value: Boolean);
begin
FVerCondiciones := Value;
end;
end. end.

View File

@ -19,7 +19,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
817 817
491) 491)
object edtFechaContrato: TcxDBDateEdit object edtFechaContrato: TcxDBDateEdit
Left = 131 Left = 198
Top = 82 Top = 82
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_CONTRATO' DataBinding.DataField = 'FECHA_CONTRATO'
@ -42,7 +42,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 129 Width = 129
end end
object memObservaciones: TcxDBMemo object memObservaciones: TcxDBMemo
Left = 441 Left = 467
Top = 334 Top = 334
Align = alClient Align = alClient
DataBinding.DataField = 'OBSERVACIONES' DataBinding.DataField = 'OBSERVACIONES'
@ -59,12 +59,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 13 TabOrder = 14
Height = 139 Height = 139
Width = 404 Width = 404
end end
object eReferencia: TcxDBTextEdit object eReferencia: TcxDBTextEdit
Left = 131 Left = 198
Top = 28 Top = 28
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA' DataBinding.DataField = 'REFERENCIA'
@ -89,8 +89,8 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 122 Width = 122
end end
object cbFormaPago: TcxDBLookupComboBox object cbFormaPago: TcxDBLookupComboBox
Left = 131 Left = 198
Top = 190 Top = 217
DataBinding.DataField = 'ID_FORMA_PAGO' DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID' Properties.KeyFieldNames = 'ID'
@ -115,21 +115,21 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 7 TabOrder = 8
Width = 122 Width = 122
end end
object bFormasPago: TButton object bFormasPago: TButton
Left = 279 Left = 305
Top = 190 Top = 217
Width = 132 Width = 132
Height = 21 Height = 21
Caption = 'Ver las formas de pago...' Caption = 'Ver las formas de pago...'
TabOrder = 8 TabOrder = 9
OnClick = bFormasPagoClick OnClick = bFormasPagoClick
end end
object cbSituacion: TcxDBImageComboBox object cbSituacion: TcxDBImageComboBox
Left = 131 Left = 198
Top = 136 Top = 163
DataBinding.DataField = 'SITUACION' DataBinding.DataField = 'SITUACION'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.Items = < Properties.Items = <
@ -154,12 +154,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5 TabOrder = 6
Width = 260 Width = 260
end end
object memFormaPago: TcxDBMemo object memFormaPago: TcxDBMemo
Left = 22 Left = 22
Top = 274 Top = 301
Anchors = [akLeft, akTop, akRight, akBottom] Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'FORMA_PAGO' DataBinding.DataField = 'FORMA_PAGO'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
@ -175,35 +175,35 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 10
Height = 100
Width = 396
end
object memPlazoEntrega: TcxDBMemo
Left = 22
Top = 390
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'PLAZO_ENTREGA'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
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 = 11 TabOrder = 11
Height = 100 Height = 100
Width = 396 Width = 396
end end
object memPlazoEntrega: TcxDBMemo
Left = 22
Top = 403
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'PLAZO_ENTREGA'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
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 = 12
Height = 100
Width = 396
end
object cbVendedor: TcxDBLookupComboBox object cbVendedor: TcxDBLookupComboBox
Left = 131 Left = 198
Top = 217 Top = 244
DataBinding.DataField = 'ID_VENDEDOR' DataBinding.DataField = 'ID_VENDEDOR'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID' Properties.KeyFieldNames = 'ID'
@ -228,11 +228,11 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 9 TabOrder = 10
Width = 27 Width = 27
end end
object cbTipoContrato: TcxDBComboBox object cbTipoContrato: TcxDBComboBox
Left = 316 Left = 355
Top = 82 Top = 82
DataBinding.DataField = 'TIPO_CONTRATO' DataBinding.DataField = 'TIPO_CONTRATO'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
@ -258,7 +258,7 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 113 Width = 113
end end
object edtlREF_CLIENTE: TcxDBTextEdit object edtlREF_CLIENTE: TcxDBTextEdit
Left = 131 Left = 198
Top = 55 Top = 55
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
AutoSize = False AutoSize = False
@ -280,20 +280,20 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 335 Width = 335
end end
inline frViewClienteContrato1: TfrViewClienteContrato inline frViewClienteContrato1: TfrViewClienteContrato
Left = 441 Left = 467
Top = 28 Top = 28
Width = 366 Width = 366
Height = 270 Height = 270
TabOrder = 12 TabOrder = 13
ReadOnly = False ReadOnly = False
ExplicitLeft = 441 ExplicitLeft = 467
ExplicitTop = 28 ExplicitTop = 28
ExplicitWidth = 366 ExplicitWidth = 366
ExplicitHeight = 270 ExplicitHeight = 270
inherited dxLayoutControl1: TdxLayoutControl inherited dxLayoutControl1: TdxLayoutControl
Width = 366 Width = 366
Height = 270 Height = 270
ExplicitWidth = 366 ExplicitWidth = 327
ExplicitHeight = 270 ExplicitHeight = 270
inherited edtlNombre: TcxDBTextEdit inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 707 ExplicitWidth = 707
@ -316,16 +316,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
Width = 707 Width = 707
end end
inherited edtCodigoPostal: TcxDBTextEdit inherited edtCodigoPostal: TcxDBTextEdit
Left = 262 Left = 236
ExplicitLeft = 262 ExplicitLeft = 236
end end
inherited Button3: TBitBtn inherited Button3: TBitBtn
Left = 152 Left = 126
ExplicitLeft = 152 ExplicitLeft = 126
end
inherited cxDBTextEdit1: TcxDBTextEdit
ExplicitWidth = 283
Width = 283
end end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Item10: TdxLayoutItem inherited dxLayoutControl1Item10: TdxLayoutItem
@ -336,8 +332,8 @@ inherited frViewContratoCliente: TfrViewContratoCliente
end end
end end
object edtFechaDecision: TcxDBDateEdit object edtFechaDecision: TcxDBDateEdit
Left = 131 Left = 198
Top = 109 Top = 136
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_DECISION' DataBinding.DataField = 'FECHA_DECISION'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
@ -355,12 +351,12 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4 TabOrder = 5
Width = 115 Width = 115
end end
object edtFechaPrevMontaje: TcxDBDateEdit object edtFechaPrevMontaje: TcxDBDateEdit
Left = 131 Left = 198
Top = 163 Top = 190
Anchors = [akLeft, akTop, akRight] Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PREVISTA_MONTAJE' DataBinding.DataField = 'FECHA_PREVISTA_MONTAJE'
DataBinding.DataSource = DADataSource DataBinding.DataSource = DADataSource
@ -378,9 +374,32 @@ inherited frViewContratoCliente: TfrViewContratoCliente
StyleDisabled.LookAndFeel.NativeStyle = True StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 6 TabOrder = 7
Width = 295 Width = 295
end end
object edtFechaUltPresentacion: TcxDBDateEdit
Left = 198
Top = 109
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_ULT_PRESENTACION_CLIENTE'
DataBinding.DataSource = DADataSource
Properties.DateButtons = [btnToday]
Properties.ImmediatePost = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clInfoBk
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
Style.Shadow = False
Style.ButtonStyle = bts3D
Style.ButtonTransparency = ebtNone
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Width = 106
end
object dxLayoutControl1Group_Root: TdxLayoutGroup object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False ShowCaption = False
Hidden = True Hidden = True
@ -411,20 +430,30 @@ inherited frViewContratoCliente: TfrViewContratoCliente
object dxLayoutControl1Group11: TdxLayoutGroup object dxLayoutControl1Group11: TdxLayoutGroup
ShowCaption = False ShowCaption = False
Hidden = True Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False ShowBorder = False
object dxLayoutControl1Item2: TdxLayoutItem object dxLayoutControl1Group10: TdxLayoutGroup
AutoAligns = [aaVertical] ShowCaption = False
AlignHorz = ahClient Hidden = True
Caption = 'Fecha contrato:' LayoutDirection = ldHorizontal
Control = edtFechaContrato ShowBorder = False
ControlOptions.ShowBorder = False object dxLayoutControl1Item2: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Fecha contrato:'
Control = edtFechaContrato
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item7: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Tipo contrato:'
Control = cbTipoContrato
ControlOptions.ShowBorder = False
end
end end
object dxLayoutControl1Item7: TdxLayoutItem object dxLayoutControl1Item15: TdxLayoutItem
AutoAligns = [aaVertical] Caption = 'Fecha '#250'ltima actualizaci'#243'n a cliente:'
AlignHorz = ahClient Control = edtFechaUltPresentacion
Caption = 'Tipo contrato:'
Control = cbTipoContrato
ControlOptions.ShowBorder = False ControlOptions.ShowBorder = False
end end
end end
@ -451,7 +480,6 @@ inherited frViewContratoCliente: TfrViewContratoCliente
ShowBorder = False ShowBorder = False
object dxLayoutControl1Group9: TdxLayoutGroup object dxLayoutControl1Group9: TdxLayoutGroup
ShowCaption = False ShowCaption = False
Visible = False
Hidden = True Hidden = True
LayoutDirection = ldHorizontal LayoutDirection = ldHorizontal
ShowBorder = False ShowBorder = False

View File

@ -71,6 +71,9 @@ type
edtFechaDecision: TcxDBDateEdit; edtFechaDecision: TcxDBDateEdit;
dxLayoutControl1Item14: TdxLayoutItem; dxLayoutControl1Item14: TdxLayoutItem;
edtFechaPrevMontaje: TcxDBDateEdit; edtFechaPrevMontaje: TcxDBDateEdit;
dxLayoutControl1Item15: TdxLayoutItem;
edtFechaUltPresentacion: TcxDBDateEdit;
dxLayoutControl1Group10: TdxLayoutGroup;
procedure CustomViewCreate(Sender: TObject); procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject); procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject); procedure bFormasPagoClick(Sender: TObject);

View File

@ -22,6 +22,12 @@ inherited frViewContratosCliente: TfrViewContratosCliente
Kind = skSum Kind = skSum
Position = spFooter Position = spFooter
Column = cxGridViewIMPORTE_TOTAL Column = cxGridViewIMPORTE_TOTAL
end
item
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
Position = spFooter
Column = cxGridViewIMPORTE_DESCUENTO
end> end>
DataController.Summary.FooterSummaryItems = < DataController.Summary.FooterSummaryItems = <
item item
@ -33,6 +39,11 @@ inherited frViewContratosCliente: TfrViewContratosCliente
Format = ',0.00 '#8364';-,0.00 '#8364 Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum Kind = skSum
Column = cxGridViewIMPORTE_TOTAL Column = cxGridViewIMPORTE_TOTAL
end
item
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
Column = cxGridViewIMPORTE_DESCUENTO
end> end>
object cxGridViewLOPD: TcxGridDBColumn object cxGridViewLOPD: TcxGridDBColumn
Caption = 'GDPR' Caption = 'GDPR'
@ -92,12 +103,20 @@ inherited frViewContratosCliente: TfrViewContratosCliente
SortOrder = soDescending SortOrder = soDescending
Width = 58 Width = 58
end end
object cxGridViewReferenciaContenido: TcxGridDBColumn
Caption = 'Ref. contenido:'
DataBinding.FieldName = 'REFERENCIA_CLIENTE'
end
object cxGridViewFECHA_CONTRATO: TcxGridDBColumn object cxGridViewFECHA_CONTRATO: TcxGridDBColumn
Caption = 'Fecha' Caption = 'Fecha'
DataBinding.FieldName = 'FECHA_CONTRATO' DataBinding.FieldName = 'FECHA_CONTRATO'
BestFitMaxWidth = 25 BestFitMaxWidth = 25
Width = 105 Width = 105
end end
object cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn
Caption = 'Fecha '#250'lt. actualizaci'#243'n'
DataBinding.FieldName = 'FECHA_ULT_PRESENTACION_CLIENTE'
end
object cxGridViewFECHA_DECISION: TcxGridDBColumn object cxGridViewFECHA_DECISION: TcxGridDBColumn
Caption = 'Fecha decisi'#243'n' Caption = 'Fecha decisi'#243'n'
DataBinding.FieldName = 'FECHA_DECISION' DataBinding.FieldName = 'FECHA_DECISION'
@ -117,12 +136,6 @@ inherited frViewContratosCliente: TfrViewContratosCliente
BestFitMaxWidth = 25 BestFitMaxWidth = 25
Width = 80 Width = 80
end end
object cxGridViewColumn1: TcxGridDBColumn
Caption = 'Ref. contenido:'
DataBinding.FieldName = 'REFERENCIA_CLIENTE'
Visible = False
VisibleForCustomization = False
end
object cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn object cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn
Caption = 'Procedencia' Caption = 'Procedencia'
DataBinding.FieldName = 'PROCEDENCIA_CLIENTE' DataBinding.FieldName = 'PROCEDENCIA_CLIENTE'
@ -155,6 +168,25 @@ inherited frViewContratosCliente: TfrViewContratosCliente
DataBinding.FieldName = 'PROVINCIA' DataBinding.FieldName = 'PROVINCIA'
Visible = False Visible = False
end end
object cxGridViewIMPORTE_NETO: TcxGridDBColumn
Caption = 'Imp. Neto'
DataBinding.FieldName = 'IMPORTE_NETO'
PropertiesClassName = 'TcxCurrencyEditProperties'
Properties.Alignment.Horz = taRightJustify
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewDESCUENTO: TcxGridDBColumn
Caption = 'Dto'
DataBinding.FieldName = 'DESCUENTO'
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn
Caption = 'Imp. Dto'
DataBinding.FieldName = 'IMPORTE_DESCUENTO'
PropertiesClassName = 'TcxCurrencyEditProperties'
Properties.Alignment.Horz = taRightJustify
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
Caption = 'Importe total' Caption = 'Importe total'
DataBinding.FieldName = 'IMPORTE_TOTAL' DataBinding.FieldName = 'IMPORTE_TOTAL'

View File

@ -45,7 +45,7 @@ type
cxGridViewCODIGO_POSTAL: TcxGridDBColumn; cxGridViewCODIGO_POSTAL: TcxGridDBColumn;
cxGridViewPROVINCIA: TcxGridDBColumn; cxGridViewPROVINCIA: TcxGridDBColumn;
cxGridViewVENDEDOR: TcxGridDBColumn; cxGridViewVENDEDOR: TcxGridDBColumn;
cxGridViewColumn1: TcxGridDBColumn; cxGridViewReferenciaContenido: TcxGridDBColumn;
cxGridViewLISTA_NOMBRES: TcxGridDBColumn; cxGridViewLISTA_NOMBRES: TcxGridDBColumn;
cxGridLevelRechazados: TcxGridLevel; cxGridLevelRechazados: TcxGridLevel;
cxGridViewFECHA_DECISION: TcxGridDBColumn; cxGridViewFECHA_DECISION: TcxGridDBColumn;
@ -63,6 +63,10 @@ type
TBXSeparatorItem3: TTBXSeparatorItem; TBXSeparatorItem3: TTBXSeparatorItem;
TBXSeparatorItem4: TTBXSeparatorItem; TBXSeparatorItem4: TTBXSeparatorItem;
cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn; cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn;
cxGridViewDESCUENTO: TcxGridDBColumn;
cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn;
cxGridViewIMPORTE_NETO: TcxGridDBColumn;
cxGridViewFECHA_ULT_PRESENTACION_CLIENTE: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel); TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;

View File

@ -49,15 +49,15 @@
<DelphiCompile Include="FacturasCliente_controller.dpk"> <DelphiCompile Include="FacturasCliente_controller.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\..\Servidor\AlbaranesCliente_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\AlbaranesCliente_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\AlbaranesCliente_model.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\AlbaranesCliente_model.dcp" />
<DCCReference Include="..\..\..\Servidor\ApplicationBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" />
<DCCReference Include="..\..\..\Servidor\Articulos_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Articulos_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Contactos_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\FacturasCliente_data.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\FacturasCliente_data.dcp" />
<DCCReference Include="..\..\..\Servidor\FacturasCliente_model.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\FacturasCliente_model.dcp" />
<DCCReference Include="..\..\..\Servidor\FormasPago_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\FormasPago_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\RecibosCliente_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\RecibosCliente_controller.dcp" />
<DCCReference Include="uArticulosFacturaClienteController.pas" /> <DCCReference Include="uArticulosFacturaClienteController.pas" />
<DCCReference Include="uDetallesFacturaClienteController.pas" /> <DCCReference Include="uDetallesFacturaClienteController.pas" />
<DCCReference Include="uFacturasClienteController.pas" /> <DCCReference Include="uFacturasClienteController.pas" />

View File

@ -41,6 +41,7 @@ type
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true); procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true); procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente); procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente);
procedure GenerarPDF(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure RecalcularImportes(AFactura: IBizFacturaCliente); procedure RecalcularImportes(AFactura: IBizFacturaCliente);
@ -107,6 +108,7 @@ type
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true); procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true); procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente); procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente);
procedure GenerarPDF(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure RecalcularImportes(AFactura: IBizFacturaCliente); procedure RecalcularImportes(AFactura: IBizFacturaCliente);
function EsModificable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean; function EsModificable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean;
@ -1418,6 +1420,63 @@ begin
end; end;
end; end;
procedure TFacturasClienteController.GenerarPDF(AFactura: IBizFacturaCliente; AllItems, AFirmado: Boolean);
var
AReportController : IFacturasClienteReportController;
AFile : String;
bEliminado: Boolean;
ACausa: Variant;
begin
if not Assigned(AFactura) then
raise Exception.Create ('Factura no asignado (GenerarPDF)');
if AFactura.DataTable.Active then
AFactura.DataTable.Active := True;
//En el caso de querer eliminar todos los items del objeto AAlbaran
if AllItems then
begin
with AFactura.DataTable do
begin
First;
while not EOF do
begin
AFile := EscapeIllegalChars(AFactura.REFERENCIA + ' - ' + AFactura.NOMBRE_CLIENTE);
if (not PreguntarFicheroPDFExportar(AFile)) then
Next
else
begin
ShowHourglassCursor;
try
AReportController := TFacturasClienteReportController.Create;
AReportController.ExportToPDF(AFactura.ID, AFile, AFirmado);
finally
AReportController := NIL;
HideHourglassCursor;
end;
Next;
end;
end;
end;
end
else
begin
AFile := EscapeIllegalChars(AFactura.REFERENCIA + ' - ' + AFactura.NOMBRE_CLIENTE);
if (not PreguntarFicheroPDFExportar(AFile)) then
Exit;
ShowHourglassCursor;
try
AReportController := TFacturasClienteReportController.Create;
AReportController.ExportToPDF(AFactura.ID, AFile, AFirmado);
finally
AReportController := NIL;
HideHourglassCursor;
end;
end;
end;
procedure TFacturasClienteController.GenerarRecibos(AFactura: IBizFacturaCliente); procedure TFacturasClienteController.GenerarRecibos(AFactura: IBizFacturaCliente);
var var
AFormasPagoController : IFormasPagoController; AFormasPagoController : IFormasPagoController;
@ -1426,17 +1485,16 @@ var
ARecibos: IBizRecibosCliente; ARecibos: IBizRecibosCliente;
ARecibosACuenta: IBizRecibosCliente; ARecibosACuenta: IBizRecibosCliente;
AFechaVencimiento: TDateTime; AFechaVencimiento: TDateTime;
i: Integer;
ADiaVencimiento: Integer; ADiaVencimiento: Integer;
ADiasMas: Integer; ADiasMas: Integer;
BSemaforo: Boolean; BSemaforo: Boolean;
AImporteTotal: Currency; AImporteTotal: Currency;
aa: String; i: Integer;
begin begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
Exit; Exit;
aa:= '';
i := 1; i := 1;
AImporteTotal := AFactura.IMPORTE_TOTAL; AImporteTotal := AFactura.IMPORTE_TOTAL;

View File

@ -12,7 +12,7 @@ type
['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}'] ['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}']
procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true); procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true); procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; function ExportToPDF(const AID: Integer; const AFileName : String = ''; const AFirmado: Boolean = False): Boolean;
end; end;
TFacturasClienteReportController = class(TControllerBase, IFacturasClienteReportController) TFacturasClienteReportController = class(TControllerBase, IFacturasClienteReportController)
@ -25,7 +25,7 @@ type
procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true); procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true); procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; function ExportToPDF(const AID: Integer; const AFileName : String = ''; const AFirmado: Boolean = False): Boolean;
end; end;
@ -57,8 +57,7 @@ begin
inherited; inherited;
end; end;
function TFacturasClienteReportController.ExportToPDF(const AID: Integer; function TFacturasClienteReportController.ExportToPDF(const AID: Integer; const AFileName: String; const AFirmado: Boolean): Boolean;
const AFileName: String): Boolean;
var var
AStream: Binary; AStream: Binary;
begin begin
@ -68,7 +67,7 @@ begin
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetRptPDFFactura(AID); AStream := FDataModule.GetRptPDFFactura(AID, true, AFirmado);
try try
AStream.SaveToFile(AFileName); AStream.SaveToFile(AFileName);
Result := True; Result := True;

View File

@ -34,7 +34,7 @@ type
// Report // Report
function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary; function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true): Binary; function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; const Firmado: Boolean = False): Binary;
end; end;
implementation implementation
@ -42,7 +42,7 @@ implementation
{$R *.DFM} {$R *.DFM}
uses uses
FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, FactuGES_Intf, uFactuGES_App, uDataModuleConexion, uDataTableUtils, cxControls,
schFacturasClienteClient_Intf, uBizContactos, Dialogs; schFacturasClienteClient_Intf, uBizContactos, Dialogs;
{ TdmPresupuestos } { TdmPresupuestos }
@ -65,18 +65,18 @@ begin
end; end;
end; end;
function TDataModuleFacturasCliente.GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true): Binary;
function TDataModuleFacturasCliente.GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean; const Firmado: Boolean): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
begin begin
AParam := TIntegerArray.Create; AParam := TIntegerArray.Create;
try try
AParam.Add(AID); AParam.Add(AID);
Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, AVerDatosCliente) Result := (RORemoteService as IsrvFacturasCliente).GenerarInformeEnPDF(AParam, AVerDatosCliente, AppFactuGES.UsuarioActivo.USERNAME, Firmado)
finally finally
FreeANDNIL(AParam) FreeANDNIL(AParam)
end; end;
end; end;
function TDataModuleFacturasCliente.NewItem: IBizFacturaCliente; function TDataModuleFacturasCliente.NewItem: IBizFacturaCliente;

View File

@ -27,6 +27,7 @@
<Projects Include="..\Recibos de cliente\Controller\RecibosCliente_controller.dproj" /> <Projects Include="..\Recibos de cliente\Controller\RecibosCliente_controller.dproj" />
<Projects Include="..\Recibos de cliente\Data\RecibosCliente_data.dproj" /> <Projects Include="..\Recibos de cliente\Data\RecibosCliente_data.dproj" />
<Projects Include="..\Recibos de cliente\Model\RecibosCliente_model.dproj" /> <Projects Include="..\Recibos de cliente\Model\RecibosCliente_model.dproj" />
<Projects Include="..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.dproj" />
<Projects Include="..\Relaciones\Contratos de cliente - Facturas de cliente\ConCli_FacCli_relation.dproj" /> <Projects Include="..\Relaciones\Contratos de cliente - Facturas de cliente\ConCli_FacCli_relation.dproj" />
<Projects Include="Controller\FacturasCliente_controller.dproj" /> <Projects Include="Controller\FacturasCliente_controller.dproj" />
<Projects Include="Data\FacturasCliente_data.dproj" /> <Projects Include="Data\FacturasCliente_data.dproj" />
@ -211,6 +212,15 @@
<Target Name="Contabilidad_view:Make"> <Target Name="Contabilidad_view:Make">
<MSBuild Projects="..\Contabilidad\Views\Contabilidad_view.dproj" Targets="Make" /> <MSBuild Projects="..\Contabilidad\Views\Contabilidad_view.dproj" Targets="Make" />
</Target> </Target>
<Target Name="AlbCli_FacCli_relation">
<MSBuild Projects="..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.dproj" Targets="" />
</Target>
<Target Name="AlbCli_FacCli_relation:Clean">
<MSBuild Projects="..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.dproj" Targets="Clean" />
</Target>
<Target Name="AlbCli_FacCli_relation:Make">
<MSBuild Projects="..\Relaciones\Albaranes de cliente - Facturas de cliente\AlbCli_FacCli_relation.dproj" Targets="Make" />
</Target>
<Target Name="FacturasCliente_view"> <Target Name="FacturasCliente_view">
<MSBuild Projects="Views\FacturasCliente_view.dproj" Targets="" /> <MSBuild Projects="Views\FacturasCliente_view.dproj" Targets="" />
</Target> </Target>
@ -302,13 +312,13 @@
<MSBuild Projects="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" Targets="Make" /> <MSBuild Projects="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" Targets="Make" />
</Target> </Target>
<Target Name="Build"> <Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_controller;Articulos_view;GestorInformes_model;GestorInformes_data;GestorInformes_controller;GestorInformes_view;GestorInformes_plugin;FacturasCliente_model;FacturasCliente_data;FacturasCliente_controller;ConCli_FacCli_relation;Contabilidad_view;FacturasCliente_view;FacturasCliente_plugin;FactuGES;FactuGES_Server;PedidosProveedor_view;PresupuestosCliente_view;RecibosCliente_controller;RecibosCliente_model;RecibosCliente_data;PresupuestosCliente_controller" /> <CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_controller;Articulos_view;GestorInformes_model;GestorInformes_data;GestorInformes_controller;GestorInformes_view;GestorInformes_plugin;FacturasCliente_model;FacturasCliente_data;FacturasCliente_controller;ConCli_FacCli_relation;Contabilidad_view;AlbCli_FacCli_relation;FacturasCliente_view;FacturasCliente_plugin;FactuGES;FactuGES_Server;PedidosProveedor_view;PresupuestosCliente_view;RecibosCliente_controller;RecibosCliente_model;RecibosCliente_data;PresupuestosCliente_controller" />
</Target> </Target>
<Target Name="Clean"> <Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_controller:Clean;Articulos_view:Clean;GestorInformes_model:Clean;GestorInformes_data:Clean;GestorInformes_controller:Clean;GestorInformes_view:Clean;GestorInformes_plugin:Clean;FacturasCliente_model:Clean;FacturasCliente_data:Clean;FacturasCliente_controller:Clean;ConCli_FacCli_relation:Clean;Contabilidad_view:Clean;FacturasCliente_view:Clean;FacturasCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;PedidosProveedor_view:Clean;PresupuestosCliente_view:Clean;RecibosCliente_controller:Clean;RecibosCliente_model:Clean;RecibosCliente_data:Clean;PresupuestosCliente_controller:Clean" /> <CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_controller:Clean;Articulos_view:Clean;GestorInformes_model:Clean;GestorInformes_data:Clean;GestorInformes_controller:Clean;GestorInformes_view:Clean;GestorInformes_plugin:Clean;FacturasCliente_model:Clean;FacturasCliente_data:Clean;FacturasCliente_controller:Clean;ConCli_FacCli_relation:Clean;Contabilidad_view:Clean;AlbCli_FacCli_relation:Clean;FacturasCliente_view:Clean;FacturasCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;PedidosProveedor_view:Clean;PresupuestosCliente_view:Clean;RecibosCliente_controller:Clean;RecibosCliente_model:Clean;RecibosCliente_data:Clean;PresupuestosCliente_controller:Clean" />
</Target> </Target>
<Target Name="Make"> <Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_controller:Make;Articulos_view:Make;GestorInformes_model:Make;GestorInformes_data:Make;GestorInformes_controller:Make;GestorInformes_view:Make;GestorInformes_plugin:Make;FacturasCliente_model:Make;FacturasCliente_data:Make;FacturasCliente_controller:Make;ConCli_FacCli_relation:Make;Contabilidad_view:Make;FacturasCliente_view:Make;FacturasCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;PedidosProveedor_view:Make;PresupuestosCliente_view:Make;RecibosCliente_controller:Make;RecibosCliente_model:Make;RecibosCliente_data:Make;PresupuestosCliente_controller:Make" /> <CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_controller:Make;Articulos_view:Make;GestorInformes_model:Make;GestorInformes_data:Make;GestorInformes_controller:Make;GestorInformes_view:Make;GestorInformes_plugin:Make;FacturasCliente_model:Make;FacturasCliente_data:Make;FacturasCliente_controller:Make;ConCli_FacCli_relation:Make;Contabilidad_view:Make;AlbCli_FacCli_relation:Make;FacturasCliente_view:Make;FacturasCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;PedidosProveedor_view:Make;PresupuestosCliente_view:Make;RecibosCliente_controller:Make;RecibosCliente_model:Make;RecibosCliente_data:Make;PresupuestosCliente_controller:Make" />
</Target> </Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" /> <Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project> </Project>

View File

@ -9,7 +9,7 @@ type
IDataModuleFacturasClienteReport = interface IDataModuleFacturasClienteReport = interface
['{F498AC70-AA38-4C06-B301-85A4AC0B210B}'] ['{F498AC70-AA38-4C06-B301-85A4AC0B210B}']
function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary; function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true): Binary; function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; const Firmado: Boolean = False): Binary;
end; end;
implementation implementation

View File

@ -44,6 +44,8 @@
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages> <BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages> <Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FacturasCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject> </Excluded_Packages><Source><Source Name="MainSource">FacturasCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -53,13 +55,13 @@
<DelphiCompile Include="FacturasCliente_model.dpk"> <DelphiCompile Include="FacturasCliente_model.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="Base.dcp" /> <DCCReference Include="..\Base.dcp" />
<DCCReference Include="Contactos_model.dcp" /> <DCCReference Include="..\Contactos_model.dcp" />
<DCCReference Include="..\TiposIVA_controller.dcp" />
<DCCReference Include="Data\uIDataModuleFacturasCliente.pas" /> <DCCReference Include="Data\uIDataModuleFacturasCliente.pas" />
<DCCReference Include="Data\uIDataModuleFacturasClienteReport.pas" /> <DCCReference Include="Data\uIDataModuleFacturasClienteReport.pas" />
<DCCReference Include="schFacturasClienteClient_Intf.pas" /> <DCCReference Include="schFacturasClienteClient_Intf.pas" />
<DCCReference Include="schFacturasClienteServer_Intf.pas" /> <DCCReference Include="schFacturasClienteServer_Intf.pas" />
<DCCReference Include="TiposIVA_controller.dcp" />
<DCCReference Include="uBizDetallesFacturaCliente.pas" /> <DCCReference Include="uBizDetallesFacturaCliente.pas" />
<DCCReference Include="uBizFacturasCliente.pas" /> <DCCReference Include="uBizFacturasCliente.pas" />
<None Include="ModelSupport_FacturasCliente_model\default.txaPackage" /> <None Include="ModelSupport_FacturasCliente_model\default.txaPackage" />

View File

@ -9,9 +9,9 @@ const
{ Data table rules ids { Data table rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosFacturas = '{484D7187-CB40-476A-9513-05D56701D4B9}'; RID_ListaAnosFacturas = '{01C99D6F-78B2-4E5F-B7F8-D9956D0AE8D4}';
RID_FacturasCliente = '{6D39955F-2046-48A8-A1A0-D1B462E5236E}'; RID_FacturasCliente = '{78230E46-9D32-4F95-BED8-F15B9AE4D5F8}';
RID_FacturasCliente_Detalles = '{35F0CA37-6ADD-4C61-9D67-0466331C6F62}'; RID_FacturasCliente_Detalles = '{01FA3B03-4B5B-4FB4-8724-A89BF09A75EF}';
{ Data table names } { Data table names }
nme_ListaAnosFacturas = 'ListaAnosFacturas'; nme_ListaAnosFacturas = 'ListaAnosFacturas';
@ -171,7 +171,7 @@ const
type type
{ IListaAnosFacturas } { IListaAnosFacturas }
IListaAnosFacturas = interface(IDAStronglyTypedDataTable) IListaAnosFacturas = interface(IDAStronglyTypedDataTable)
['{538ADACC-485C-464B-84AD-84ADBF7D37E2}'] ['{80613B96-203D-4FEF-9621-DA0D5B02C3CD}']
{ Property getters and setters } { Property getters and setters }
function GetANOValue: String; function GetANOValue: String;
procedure SetANOValue(const aValue: String); procedure SetANOValue(const aValue: String);
@ -206,7 +206,7 @@ type
{ IFacturasCliente } { IFacturasCliente }
IFacturasCliente = interface(IDAStronglyTypedDataTable) IFacturasCliente = interface(IDAStronglyTypedDataTable)
['{45CA2939-6E07-4742-82AE-4698DB6B3A14}'] ['{E065EEAD-79C9-48AA-8A3E-A7DD626FC162}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);
@ -877,7 +877,7 @@ type
{ IFacturasCliente_Detalles } { IFacturasCliente_Detalles }
IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable) IFacturasCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{75F87DDE-E13B-42B1-8550-89F45849D374}'] ['{22259244-690D-4493-A734-5B3D8C2ECB2D}']
{ Property getters and setters } { Property getters and setters }
function GetIDValue: Integer; function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer); procedure SetIDValue(const aValue: Integer);

View File

@ -9,14 +9,14 @@ const
{ Delta rules ids { Delta rules ids
Feel free to change them to something more human readable Feel free to change them to something more human readable
but make sure they are unique in the context of your application } but make sure they are unique in the context of your application }
RID_ListaAnosFacturasDelta = '{C9831765-1629-4325-A1FF-1FAE87FC82C2}'; RID_ListaAnosFacturasDelta = '{3852FAEA-64F2-4C8F-9FDF-E08A357F1861}';
RID_FacturasClienteDelta = '{7FBCB9F2-5A0C-4C4C-9503-27624E85B1F2}'; RID_FacturasClienteDelta = '{07651992-560F-432E-8583-EEEAAAA10E52}';
RID_FacturasCliente_DetallesDelta = '{E532A60C-1259-4F35-B997-18F37616D9FD}'; RID_FacturasCliente_DetallesDelta = '{9385E500-5ECA-4B3A-8906-5660B5DB9309}';
type type
{ IListaAnosFacturasDelta } { IListaAnosFacturasDelta }
IListaAnosFacturasDelta = interface(IListaAnosFacturas) IListaAnosFacturasDelta = interface(IListaAnosFacturas)
['{C9831765-1629-4325-A1FF-1FAE87FC82C2}'] ['{3852FAEA-64F2-4C8F-9FDF-E08A357F1861}']
{ Property getters and setters } { Property getters and setters }
function GetOldANOValue : String; function GetOldANOValue : String;
@ -50,7 +50,7 @@ type
{ IFacturasClienteDelta } { IFacturasClienteDelta }
IFacturasClienteDelta = interface(IFacturasCliente) IFacturasClienteDelta = interface(IFacturasCliente)
['{7FBCB9F2-5A0C-4C4C-9503-27624E85B1F2}'] ['{07651992-560F-432E-8583-EEEAAAA10E52}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer; function GetOldID_EMPRESAValue : Integer;
@ -721,7 +721,7 @@ type
{ IFacturasCliente_DetallesDelta } { IFacturasCliente_DetallesDelta }
IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles) IFacturasCliente_DetallesDelta = interface(IFacturasCliente_Detalles)
['{E532A60C-1259-4F35-B997-18F37616D9FD}'] ['{9385E500-5ECA-4B3A-8906-5660B5DB9309}']
{ Property getters and setters } { Property getters and setters }
function GetOldIDValue : Integer; function GetOldIDValue : Integer;
function GetOldID_FACTURAValue : Integer; function GetOldID_FACTURAValue : Integer;

View File

@ -31,7 +31,7 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uses
Forms, Dialogs, SysUtils, Forms, Dialogs, SysUtils, uFactuGES_App,
uFacturasClienteController, uBizFacturasCliente, uFacturasClienteViewRegister; uFacturasClienteController, uBizFacturasCliente, uFacturasClienteViewRegister;
function GetModule : TModuleController; function GetModule : TModuleController;
@ -57,6 +57,14 @@ constructor TPluginFacturasCliente.Create(AOwner: TComponent);
begin begin
inherited; inherited;
uFacturasClienteViewRegister.RegisterViews; uFacturasClienteViewRegister.RegisterViews;
//El usuario vendedor y logistica será restringido
if ((AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_LOGISTICA) OR (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR)) then
begin
actFacturasCliente.Visible := False;
actFacturasCliente.Visible := False;
end;
end; end;
destructor TPluginFacturasCliente.Destroy; destructor TPluginFacturasCliente.Destroy;

View File

@ -1699,6 +1699,7 @@ object RptFacturasCliente: TRptFacturasCliente
UseFileCache = True UseFileCache = True
ShowProgress = False ShowProgress = False
OverwritePrompt = False OverwritePrompt = False
EmbeddedFonts = True
PrintOptimized = True PrintOptimized = True
Outline = False Outline = False
Background = False Background = False

View File

@ -64,7 +64,7 @@ type
public public
function GenerarFactura(const ListaID : TIntegerArray; const VerDatosCliente: Boolean): Binary; overload; function GenerarFactura(const ListaID : TIntegerArray; const VerDatosCliente: Boolean): Binary; overload;
function GenerarFacturaEnPDF(const ListaID : TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerarFacturaEnPDF(const ListaID : TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeIVA(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturas(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeListadoFacturas(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarInformeListadoFacturasPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; function GenerarInformeListadoFacturasPendientes(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
@ -80,6 +80,7 @@ uses
const const
rptFacturaCliente = 'InfFacturaCliente.fr3'; rptFacturaCliente = 'InfFacturaCliente.fr3';
rptFacturaClienteAlonsoySal = 'InfFacturaCliente-alonsoysal.fr3';
rptInformeIVA = 'InformeIVAClientes.fr3'; rptInformeIVA = 'InformeIVAClientes.fr3';
rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3'; rptInformeIVADesglosado = 'InformeIVAClientesDesglosado.fr3';
@ -124,20 +125,40 @@ begin
end; end;
end; end;
function TRptFacturasCliente.GenerarFacturaEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function TRptFacturasCliente.GenerarFacturaEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
var var
i: Integer; i: Integer;
AStream : Binary;
ARutaFichero, ANombreFichero, LlamadaBat : String;
begin begin
Result := Binary.Create; Result := Binary.Create;
try try
//Inicializamos parametros
FVerDatosCliente := VerDatosCliente; FVerDatosCliente := VerDatosCliente;
//Vamos generando todos y cada uno de los presupuestos recibidos //Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
_GenerarFactura(ListaID.Items[i]); begin
_GenerarFactura(ListaID.Items[i]);
ANombreFichero := frxReport.ReportOptions.Name + '_' + FormatDateTime('yyyymmdd_hhnnss_', now) + Usuario;
if Firmado then
ANombreFichero := ANombreFichero + 'firmado.pdf'
else
ANombreFichero := ANombreFichero + '.pdf';
frxPDFExport1.Stream := Result; ANombreFichero := DarRutaPDFS + EscapeIllegalChars(ANombreFichero);
frxReport.Export(frxPDFExport1) frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1);
Result.SaveToFile(ANombreFichero);
if Firmado then
begin
ARutaFichero := DarRutaFichero(DarRutaInformes, 'firma_factura.bat ', IntToStr(FIdEmpresa));
LlamadaBat := ARutaFichero + '"' + ANombreFichero + '"';
if ExecAndWait(LlamadaBat) then
Result.LoadFromFile(ANombreFichero);
end;
end;
finally finally
end; end;
end; end;
@ -634,7 +655,10 @@ begin
tbl_Detalles.Active := True; tbl_Detalles.Active := True;
tbl_Vencimientos.Active := True; tbl_Vencimientos.Active := True;
AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString); FIdEmpresa := tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger;
// FIdTienda := tbl_Cabecera.FieldByName('ID_TIENDA').AsInteger;
AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); //, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
if VarIsNull(AInforme) then if VarIsNull(AInforme) then
raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaCliente)); raise Exception.Create (('Error Servidor: _GenerarFactura, no encuentra informe ' + rptFacturaCliente));

View File

@ -36,7 +36,7 @@ type
protected protected
{ IsrvFacturasCliente methods } { IsrvFacturasCliente methods }
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
implementation implementation
@ -78,13 +78,13 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
var var
AReportGenerator : TRptFacturasCliente; AReportGenerator : TRptFacturasCliente;
begin begin
AReportGenerator := TRptFacturasCliente.Create(nil); AReportGenerator := TRptFacturasCliente.Create(nil);
try try
Result := AReportGenerator.GenerarFacturaEnPDF(ListaID, VerDatosCliente); Result := AReportGenerator.GenerarFacturaEnPDF(ListaID, VerDatosCliente, Usuario, Firmado);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;

View File

@ -38,7 +38,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Width = 640 Width = 640
ExplicitWidth = 640 ExplicitWidth = 640
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 632 ExplicitWidth = 640
object TBXSubmenuItem2: TTBXSubmenuItem [0] object TBXSubmenuItem2: TTBXSubmenuItem [0]
Caption = 'Nuevo' Caption = 'Nuevo'
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -56,7 +56,11 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
inherited TBXItem2: TTBXItem inherited TBXItem2: TTBXItem
Visible = False Visible = False
end end
object TBXItem41: TTBXItem [13] object TBXItem45: TTBXItem [13]
Action = actGenerarPDF
DisplayMode = nbdmImageAndText
end
object TBXItem41: TTBXItem [14]
Action = actEnviarMail Action = actEnviarMail
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
end end
@ -275,7 +279,6 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 640 Width = 640
ExplicitTop = 75
ExplicitWidth = 640 ExplicitWidth = 640
inherited tbxBotones: TTBXToolbar inherited tbxBotones: TTBXToolbar
Width = 630 Width = 630
@ -375,6 +378,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
OnExecute = actLOPDExecute OnExecute = actLOPDExecute
OnUpdate = actLOPDUpdate OnUpdate = actLOPDUpdate
end end
object actGenerarPDF: TAction
Category = 'Archivo'
Caption = 'Generar PDF'
ImageIndex = 29
OnExecute = actGenerarPDFExecute
OnUpdate = actGenerarPDFUpdate
end
end end
inherited SmallImages: TPngImageList [5] inherited SmallImages: TPngImageList [5]
PngImages = < PngImages = <
@ -1184,6 +1194,29 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
49454E44AE426082} 49454E44AE426082}
Name = 'PngImage28' Name = 'PngImage28'
Background = clWindow Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000001F04944415478DA
633CC0C0F09F0109C83939313CDAB70F5988C181818191C1600644DD850C4664
3946900162D7AEC1053872721838972E85F36F4A4A323818CC60A82CF062689F
B00DB7011C1C1C0C9C9C9C0CDFA3A31924B76E65F8F1E307184B7A6E64583825
99E1C69DE70C4B561C64F8F1F3EFC5D7EF7F78030D7A8A6280A0A020D890F7C1
C10C826BD7824D17745C09D70C03627C2C0C959D5BBF000DD20019023640FDF9
7314CD201AE48DF7EFDF3368451D62F075D365D0D19265B872ED3198FEF3F90D
C3C2F597B7BEDA17EF0337000440CEC70694DE85810DD9BCEB32DC305878800D
00853C08806CFDFEFD3B42674A0A38462E2FDACE90DBF7102CB4A0568361ED49
568663276F31BC3D98883000E66474F04A4B8BC1F6DF3F14B182CEDD0CF3363D
66F87A3C8591B15842F33F0301D0F5EC2A0ABF6DC6368629EBDE3148311F6760
24A479F2A2EDFFB362DC19983E9D67B8BFDC98412AF402C3EC6DCF19E62DDD04
4907C41AF0772D1303AB453CC3FD2D0B197823BE307CFFF18BC13FA19A380372
FC2480B61B3228DA3330DC3FC8C0C0E27E95E13B83284344663D7106787FF564
50F4896760F8BC90E1FD3B06860F9719183EDA3F61482A6C25CE00BD279E18E2
CCEEF71872ABBA893320C4D30AE8E7DF0CDFBEFF66F8FAFD17C337A0FF41A0A8
AE8F380360218E0D000074D3EB115697A8140000000049454E44AE426082}
Name = 'PngImage29'
Background = clWindow
end> end>
Left = 395 Left = 395
Bitmap = {} Bitmap = {}

View File

@ -45,6 +45,8 @@ type
TBXItem43: TTBXItem; TBXItem43: TTBXItem;
actLOPD: TAction; actLOPD: TAction;
TBXItem44: TTBXItem; TBXItem44: TTBXItem;
actGenerarPDF: TAction;
TBXItem45: TTBXItem;
procedure FormShow(Sender: TObject); procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject); procedure actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject); procedure actNuevaFacturaExecute(Sender: TObject);
@ -58,6 +60,8 @@ type
procedure actLOPDExecute(Sender: TObject); procedure actLOPDExecute(Sender: TObject);
procedure actLOPDUpdate(Sender: TObject); procedure actLOPDUpdate(Sender: TObject);
procedure actVerContratoExecute(Sender: TObject); procedure actVerContratoExecute(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject);
private private
FFacturas: IBizFacturaCliente; FFacturas: IBizFacturaCliente;
@ -185,6 +189,58 @@ begin
(Sender as TAction).Enabled := False; (Sender as TAction).Enabled := False;
end; end;
procedure TfEditorFacturasCliente.actGenerarPDFExecute(Sender: TObject);
var
ACadena : String;
AFacturas: IBizFacturaCliente;
AllItems: Boolean;
AListaCausas: TStringList;
AFirmar: Boolean;
begin
inherited;
AFacturas := Nil;
AFirmar := False;
AllItems := False;
AListaCausas := TStringList.Create;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Facturas as ISeleccionable).SelectedRecords);
AFacturas := (Controller as IFacturasClienteController).ExtraerSeleccionados(Facturas) as IBizFacturaCliente;
if (Application.MessageBox('¿Desea firmar digitalmente las facturas/abonos de cliente seleccionados?', 'Atención', MB_YESNO) = IDYES) then
AFirmar := True;
end
else
begin
AFacturas := Facturas;
if Facturas.TIPO = CTE_TIPO_FACTURA then
ACadena := '¿Desea firmar digitalmente esta factura de cliente?'
else
ACadena := '¿Desea firmar digitalmente este abono a cliente?';
if (Application.MessageBox(PChar(ACadena), 'Atención', MB_YESNO) = IDYES) then
AFirmar := True;
end;
FController.GenerarPDF(AFacturas, AllItems, AFirmar);
end;
procedure TfEditorFacturasCliente.actGenerarPDFUpdate(Sender: TObject);
begin
inherited;
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := ViewGrid.EsSeleccionCeldaDatos
and (ViewGrid.NumSeleccionados > 0)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorFacturasCliente.actInformesExecute(Sender: TObject); procedure TfEditorFacturasCliente.actInformesExecute(Sender: TObject);
var var
Respuesta : Integer; Respuesta : Integer;

View File

@ -162,6 +162,9 @@ end;
procedure TfEditorFormaPago.actAnadirExecute(Sender: TObject); procedure TfEditorFormaPago.actAnadirExecute(Sender: TObject);
begin begin
if Assigned(FFormaPago) and (FFormaPago.State = dsInsert) then
FController.Guardar(FFormaPago);
FPlazos.Append; FPlazos.Append;
end; end;

View File

@ -884,7 +884,7 @@ object RptPresupuestosCliente: TRptPresupuestosCliente
PrintOptions.Printer = 'Por defecto' PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0 PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000 ReportOptions.CreateDate = 39065.872423495400000000
ReportOptions.LastChange = 41589.784037662040000000 ReportOptions.LastChange = 45230.494198148150000000
ScriptLanguage = 'PascalScript' ScriptLanguage = 'PascalScript'
ShowProgress = False ShowProgress = False
StoreInDFM = False StoreInDFM = False

View File

@ -1,22 +1,32 @@
inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
Caption = 'Previsualizar el pedidos proveedor' Caption = 'Previsualizar el pedidos proveedor'
ExplicitWidth = 320 ExplicitHeight = 553
ExplicitHeight = 240
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
ExplicitTop = 89
inherited Image1: TImage inherited Image1: TImage
ExplicitLeft = 768 ExplicitLeft = 768
end end
end end
inherited TBXDock: TTBXDock inherited TBXDock: TTBXDock
inherited TBXToolbar1: TTBXToolbar inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 540 ExplicitWidth = 684
object TBXItem58: TTBXItem [1] object TBXItem58: TTBXItem [1]
Action = actExportarRTF Action = actExportarRTF
DisplayMode = nbdmTextOnlyInMenus DisplayMode = nbdmTextOnlyInMenus
Images = SmallImages Images = SmallImages
end end
object TBXItem59: TTBXItem [19]
Action = actPrueba
end
end
end
inherited PreviewActionList: TActionList
object actPrueba: TAction
Category = 'Ver'
Caption = 'actPrueba'
OnExecute = actPruebaExecute
end end
end end
end end

View File

@ -10,11 +10,15 @@ uses
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl, JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS; pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS,
frxExportCSV;
type type
TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview) TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview)
TBXItem58: TTBXItem; TBXItem58: TTBXItem;
actPrueba: TAction;
TBXItem59: TTBXItem;
procedure actPruebaExecute(Sender: TObject);
end; end;
@ -25,4 +29,10 @@ implementation
uses uses
uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils; uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils;
procedure TfEditorPresupuestosClientePreview.actPruebaExecute(Sender: TObject);
begin
inherited;
///
end;
end. end.

View File

@ -314,6 +314,10 @@
</Parameter> </Parameter>
<Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" > <Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="Usuario" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="Firmado" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
</Operations> </Operations>
@ -921,6 +925,8 @@
</Parameter> </Parameter>
<Parameter Name="VerCondiciones" DataType="Boolean" Flag="In" > <Parameter Name="VerCondiciones" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="TamLetra" DataType="Integer" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
<Operation Name="GenerarInformeEnPDF" UID="{BFA4B911-5DE4-44DF-BB65-1A37D64AF78E}"> <Operation Name="GenerarInformeEnPDF" UID="{BFA4B911-5DE4-44DF-BB65-1A37D64AF78E}">
@ -931,6 +937,10 @@
</Parameter> </Parameter>
<Parameter Name="VerCondiciones" DataType="Boolean" Flag="In" > <Parameter Name="VerCondiciones" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="Usuario" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="Firmado" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
</Operations> </Operations>

View File

@ -517,7 +517,7 @@ type
IsrvFacturasCliente = interface(IDataAbstractService) IsrvFacturasCliente = interface(IDataAbstractService)
['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}'] ['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
{ CosrvFacturasCliente } { CosrvFacturasCliente }
@ -531,7 +531,7 @@ type
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
{ IsrvFacturasProveedor } { IsrvFacturasProveedor }
@ -859,8 +859,8 @@ type
{ IsrvContratosCliente } { IsrvContratosCliente }
IsrvContratosCliente = interface(IDataAbstractService) IsrvContratosCliente = interface(IDataAbstractService)
['{ADBF1627-F507-4A0F-818E-38BAE28579B6}'] ['{ADBF1627-F507-4A0F-818E-38BAE28579B6}']
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
{ CosrvContratosCliente } { CosrvContratosCliente }
@ -873,8 +873,8 @@ type
protected protected
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
implementation implementation
@ -1835,13 +1835,15 @@ begin
end end
end; end;
function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
begin begin
try try
result := nil; result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []); __Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
__Message.Write('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Write('Firmado', TypeInfo(Boolean), Firmado, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);
@ -2778,13 +2780,14 @@ begin
result := 'srvContratosCliente'; result := 'srvContratosCliente';
end; end;
function TsrvContratosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TsrvContratosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary;
begin begin
try try
result := nil; result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []); __Message.Write('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
__Message.Write('TamLetra', TypeInfo(Integer), TamLetra, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);
@ -2796,13 +2799,15 @@ begin
end end
end; end;
function TsrvContratosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; function TsrvContratosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
begin begin
try try
result := nil; result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF');
__Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Write('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []); __Message.Write('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
__Message.Write('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Write('Firmado', TypeInfo(Boolean), Firmado, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);

View File

@ -966,10 +966,12 @@ begin
end; end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; } { function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary; }
var var
ListaID: FactuGES_Intf.TIntegerArray; ListaID: FactuGES_Intf.TIntegerArray;
VerDatosCliente: Boolean; VerDatosCliente: Boolean;
Usuario: AnsiString;
Firmado: Boolean;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -978,8 +980,10 @@ begin
try try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []); __Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
__Message.Read('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Read('Firmado', TypeInfo(Boolean), Firmado, []);
lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, VerDatosCliente); lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, VerDatosCliente, Usuario, Firmado);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse'); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnPDFResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);
@ -2289,10 +2293,11 @@ begin
end; end;
procedure TsrvContratosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvContratosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; } { function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): Binary; }
var var
ListaID: FactuGES_Intf.TIntegerArray; ListaID: FactuGES_Intf.TIntegerArray;
VerCondiciones: Boolean; VerCondiciones: Boolean;
TamLetra: Integer;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -2301,8 +2306,9 @@ begin
try try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []); __Message.Read('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
__Message.Read('TamLetra', TypeInfo(Integer), TamLetra, []);
lResult := (__Instance as IsrvContratosCliente).GenerarInforme(ListaID, VerCondiciones); lResult := (__Instance as IsrvContratosCliente).GenerarInforme(ListaID, VerCondiciones, TamLetra);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContratosCliente', 'GenerarInformeResponse'); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContratosCliente', 'GenerarInformeResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);
@ -2321,10 +2327,12 @@ begin
end; end;
procedure TsrvContratosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvContratosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean): Binary; } { function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary; }
var var
ListaID: FactuGES_Intf.TIntegerArray; ListaID: FactuGES_Intf.TIntegerArray;
VerCondiciones: Boolean; VerCondiciones: Boolean;
Usuario: AnsiString;
Firmado: Boolean;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -2333,8 +2341,10 @@ begin
try try
__Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []);
__Message.Read('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []); __Message.Read('VerCondiciones', TypeInfo(Boolean), VerCondiciones, []);
__Message.Read('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Read('Firmado', TypeInfo(Boolean), Firmado, []);
lResult := (__Instance as IsrvContratosCliente).GenerarInformeEnPDF(ListaID, VerCondiciones); lResult := (__Instance as IsrvContratosCliente).GenerarInformeEnPDF(ListaID, VerCondiciones, Usuario, Firmado);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContratosCliente', 'GenerarInformeEnPDFResponse'); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvContratosCliente', 'GenerarInformeEnPDFResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);

Binary file not shown.

View File

@ -135,10 +135,10 @@ uses
schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas', schFormasPagoServer_Intf in '..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas',
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas', schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas', schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas',
schFacturasClienteClient_Intf in '..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.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',
schContratosClienteClient_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas',
schContratosClienteServer_Intf in '..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas';
{$R *.res} {$R *.res}
{$R ..\Servicios\RODLFile.res} {$R ..\Servicios\RODLFile.res}

View File

@ -1,298 +1,302 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid> <ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource> <MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler> <DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName> <DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation> <DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols> <DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define> <DCC_Define>RELEASE</DCC_Define>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version> <Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile> <DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput> <DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define> <DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames> <DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
</PropertyGroup> </PropertyGroup>
<ProjectExtensions> <ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality> <Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/> <Borland.ProjectType />
<BorlandProject> <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">2</VersionInfo><VersionInfo Name="Release">4</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.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2(Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 18 de abril de 2022 18:08</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">3</VersionInfo><VersionInfo Name="Release">1</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.3.1.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2(Servidor)</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.1.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">lunes, 20 de mayo de 2024 18:10</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>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<ItemGroup> <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>
<DelphiCompile Include="FactuGES_Server.dpr"> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
<MainSource>MainSource</MainSource> </ProjectExtensions>
</DelphiCompile> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/> <ItemGroup>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/> <DelphiCompile Include="FactuGES_Server.dpr">
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/> <MainSource>MainSource</MainSource>
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas"> </DelphiCompile>
<Form>srvEjercicios</Form> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/> <Form>srvEjercicios</Form>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvEmpresas</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas"> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvProvinciasPoblaciones</Form> <Form>srvEmpresas</Form>
<DesignClass>TRORemoteDataModule</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/> <Form>srvProvinciasPoblaciones</Form>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/> <DesignClass>TRORemoteDataModule</DesignClass>
<DCCReference Include="..\Base\schBase_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/> <DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/> <DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/> <DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas"> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<Form>srvAlbaranesCliente</Form> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/> <Form>srvAlbaranesCliente</Form>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas"> </DCCReference>
<Form>srvAlbaranesProveedor</Form> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/> <Form>srvAlbaranesProveedor</Form>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvAlmacenes</Form> </DCCReference>
<DesignClass>TDARemoteService</DesignClass> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/> <Form>srvAlmacenes</Form>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas"> <DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" />
<Form>RptComisiones</Form> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" />
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas"> <DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>srvComisiones</Form> <Form>RptComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/> <DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/> <Form>srvComisiones</Form>
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas"> </DCCReference>
<Form>srvContabilidad</Form> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/> <Form>srvContabilidad</Form>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Reports\uRptListadosContactos_Server.pas"> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<Form>RptListadosContactos</Form> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas"> <DCCReference Include="..\Modulos\Contactos\Reports\uRptListadosContactos_Server.pas">
<Form>srvContactos</Form> <Form>RptListadosContactos</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas"/> <Form>srvContactos</Form>
<DCCReference Include="..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas"/> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas"> </DCCReference>
<Form>RptContratosCliente</Form> <DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas" />
<Form>srvContratosCliente</Form> <DCCReference Include="..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas">
<DesignClass>TDataAbstractService</DesignClass> <Form>RptContratosCliente</Form>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contratos de cliente\Servidor\srvContratosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/> <Form>srvContratosCliente</Form>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas"> </DCCReference>
<Form>RptFacturasCliente</Form> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>srvFacturasCliente</Form> <Form>RptFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/> <Form>srvFacturasCliente</Form>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas"> </DCCReference>
<Form>RptFacturasProveedor</Form> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>srvFacturasProveedor</Form> <Form>RptFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/> <Form>srvFacturasProveedor</Form>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas"> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" />
<Form>srvGestorDocumentos</Form> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" />
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas"> <DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorInformes</Form> <Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/> <Form>srvGestorInformes</Form>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvHistoricoMovimientos</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/> <DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/> <Form>srvHistoricoMovimientos</Form>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvInventario</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/> <Form>srvInventario</Form>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas"> </DCCReference>
<Form>RptPedidosProveedor</Form> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas">
<Form>srvPedidosProveedor</Form> <Form>RptPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/> <Form>srvPedidosProveedor</Form>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas"> </DCCReference>
<Form>RptPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<Form>srvPresupuestosCliente</Form> <DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<DesignClass>TDataAbstractService</DesignClass> <Form>RptPresupuestosCliente</Form>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/> <Form>srvPresupuestosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<Form>RptRecibosCliente</Form> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>srvRecibosCliente</Form> <Form>RptRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/> <Form>srvRecibosCliente</Form>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<Form>RptRecibosProveedor</Form> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DesignClass>TDataModule</DesignClass> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>srvRecibosProveedor</Form> <Form>RptRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/> <Form>srvRecibosProveedor</Form>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvReferencias</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/> <Form>srvReferencias</Form>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas"> </DCCReference>
<Form>srvRemesasCliente</Form> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/> <Form>srvRemesasCliente</Form>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas"> </DCCReference>
<Form>srvRemesasProveedor</Form> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/> <Form>srvRemesasProveedor</Form>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/> <DesignClass>TDataAbstractService</DesignClass>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/> </DCCReference>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas"> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<Form>srvUnidadesMedida</Form> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" />
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
</DCCReference> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/> <DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/> <Form>srvUnidadesMedida</Form>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <DesignClass>TDataAbstractService</DesignClass>
<Form>srvConfiguracion</Form> </DCCReference>
<DesignClass>TDataAbstractService</DesignClass> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
</DCCReference> <DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\uConexionBD.pas"> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>frConexionBD</Form> <Form>srvConfiguracion</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas"> <DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConfGeneral</Form> <Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas"> <DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>fConfiguracion</Form> <Form>frConfGeneral</Form>
<DesignClass>TForm</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas"> <DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>FrameConfiguracion</Form> <Form>fConfiguracion</Form>
<DesignClass>TFrame</DesignClass> <DesignClass>TForm</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="srvLogin_Impl.pas"> <DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>srvLogin</Form> <Form>FrameConfiguracion</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TFrame</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="uAcercaDe.pas"> <DCCReference Include="srvLogin_Impl.pas">
<Form>fAcercaDe</Form> <Form>srvLogin</Form>
</DCCReference> <DesignClass>TDARemoteService</DesignClass>
<DCCReference Include="uDataModuleServer.pas"> </DCCReference>
<Form>dmServer</Form> <DCCReference Include="uAcercaDe.pas">
<DesignClass>TDataModule</DesignClass> <Form>fAcercaDe</Form>
</DCCReference> </DCCReference>
<DCCReference Include="uServerMainForm.pas"> <DCCReference Include="uDataModuleServer.pas">
<Form>fServerForm</Form> <Form>dmServer</Form>
</DCCReference> <DesignClass>TDataModule</DesignClass>
<DCCReference Include="Utiles\RegExpr.pas"/> </DCCReference>
<DCCReference Include="Utiles\uBusinessUtils.pas"/> <DCCReference Include="uServerMainForm.pas">
<DCCReference Include="Utiles\uDatabaseUtils.pas"/> <Form>fServerForm</Form>
<DCCReference Include="Utiles\uReferenciasUtils.pas"/> </DCCReference>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/> <DCCReference Include="Utiles\RegExpr.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/> <DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas"/> <DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas"/> <DCCReference Include="Utiles\uReferenciasUtils.pas" />
</ItemGroup> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line
[Exception Log] [Exception Log]

Binary file not shown.

View File

@ -62,6 +62,7 @@ type
function DarRutaInformes : String; function DarRutaInformes : String;
function DarRutaPDFS : String;
function Encrypt (const Source : string) : String; function Encrypt (const Source : string) : String;
function Decrypt (const Source : string) : String; function Decrypt (const Source : string) : String;
function GetNextAutoinc(AConnection : IDAConnection; const GeneratorName: string): integer; function GetNextAutoinc(AConnection : IDAConnection; const GeneratorName: string): integer;
@ -82,6 +83,11 @@ begin
Result := ExtractFilePath(Application.ExeName) + 'Informes' + PathDelim; Result := ExtractFilePath(Application.ExeName) + 'Informes' + PathDelim;
end; end;
function DarRutaPDFS : String;
begin
Result := ExtractFilePath(Application.ExeName) + 'PDFS' + PathDelim;
end;
function GetNextAutoinc(AConnection : IDAConnection; const GeneratorName: string): integer; function GetNextAutoinc(AConnection : IDAConnection; const GeneratorName: string): integer;
var var
ds: IDADataset; ds: IDADataset;