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
This commit is contained in:
roberto 2024-08-07 13:46:47 +00:00
parent 4e3fd677a8
commit 47e6b22a22
41 changed files with 1033 additions and 548 deletions

Binary file not shown.

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>
@ -66,55 +59,55 @@
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" /> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servidor\adortl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="..\Servidor\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxExtEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxGridD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\Servidor\cxPageControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
<DCCReference Include="..\Servidor\DataAbstract_Core_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dclIndyCore.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
<DCCReference Include="..\Servidor\designide.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="..\Servidor\dsnap.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
<DCCReference Include="..\Servidor\dxCoreD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Servidor\dxPSCoreD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
<DCCReference Include="..\Servidor\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\Servidor\GUISDK_D11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
<DCCReference Include="..\Servidor\IndyCore.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
<DCCReference Include="..\Servidor\IndyProtocols.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
<DCCReference Include="..\Servidor\IndySystem.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
<DCCReference Include="..\Servidor\Jcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="..\Servidor\JclVcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="..\Servidor\JSDialog100.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
<DCCReference Include="..\Servidor\JvCmpD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
<DCCReference Include="..\Servidor\JvCoreD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvDlgsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="..\Servidor\JvMMD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="..\Servidor\JvNetD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
<DCCReference Include="..\Servidor\JvPageCompsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Servidor\JvStdCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvSystemD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="..\Servidor\pckMD5.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
<DCCReference Include="..\Servidor\pckUCDataConnector.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="..\Servidor\pckUserControl_RT.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="..\Servidor\PluginSDK_D11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D11R.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\RemObjects_Core_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\Servidor\TB2k_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
<DCCReference Include="..\Servidor\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\Servidor\VclSmp.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
<DCCReference Include="..\Servidor\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="..\Servidor\xmlrtl.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

@ -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">3</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.0.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.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><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="..\Servidor\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\Servidor\ccpackD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ccpackD11.dcp" />
<DCCReference Include="..\Servidor\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\Servidor\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\Servidor\cxExportD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="..\Servidor\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\Servidor\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\Servidor\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Servidor\dxLayoutControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Servidor\dxPScxCommonD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Servidor\dxPScxGrid6LnkD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Servidor\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\Servidor\frx11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="..\Servidor\frxe11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="..\Servidor\fs11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="..\Servidor\JvAppFrmD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Servidor\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Servidor\JvGlobusD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvGlobusD11R.dcp" />
<DCCReference Include="..\Servidor\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\Servidor\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\Servidor\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\Servidor\tb2k_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="..\Servidor\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\Servidor\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\Servidor\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\Servidor\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\Servidor\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\Servidor\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

@ -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

View File

@ -57,6 +57,8 @@ type
procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); 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; const TamLetra: Integer = CTE_TamLetraIni); 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;
@ -136,6 +138,8 @@ type
procedure Preview(AContrato : IBizContratoCliente; AllItems: Boolean = false; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); 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; const TamLetra: Integer = CTE_TamLetraIni); 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;
@ -1209,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

@ -12,7 +12,7 @@ type
['{FEF47B69-26A3-462A-AF6D-4B2073D4F9DC}'] ['{FEF47B69-26A3-462A-AF6D-4B2073D4F9DC}']
procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); 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; function getDataModule: IDataModuleContratosClienteReport;
property DataModule: IDataModuleContratosClienteReport read getDataModule; property DataModule: IDataModuleContratosClienteReport read getDataModule;
end; end;
@ -30,7 +30,7 @@ type
procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); procedure Preview(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni);
procedure Print(const AListaID : TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = CTE_TamLetraIni); 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;
@ -62,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
@ -73,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;

View File

@ -47,7 +47,7 @@ type
// Report // Report
function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): 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;
@ -58,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 }
@ -74,14 +74,14 @@ 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;

View File

@ -9,7 +9,7 @@ type
IDataModuleContratosClienteReport = interface IDataModuleContratosClienteReport = interface
['{6AB7469B-842A-413E-AF33-9506477A9666}'] ['{6AB7469B-842A-413E-AF33-9506477A9666}']
function GetRptContratos(const AListaID: TIntegerList; AVerCondiciones: Boolean = false; const TamLetra: Integer = 9): 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 = '{8E9C5E5F-B1C4-40D2-844C-6818E0A71C41}'; RID_Valores = '{52B71EED-9363-4A19-B433-C4917CBE0490}';
RID_Propiedades = '{10423127-9855-44C6-84D5-C2F5F30ABADC}'; RID_Propiedades = '{28500097-0FDC-4DBF-8047-FF879A5DDC4A}';
RID_ListaAnosContratos = '{EBCE4D2B-EED3-4477-AFB1-B628241320DE}'; RID_ListaAnosContratos = '{587736A2-5CC2-48D3-B32A-E54D4E7E23B5}';
RID_ContratosClienteBeneficios = '{EDA1E900-8EED-454E-BDF5-4D354D61EBB5}'; RID_ContratosClienteBeneficios = '{C9C242F8-9818-4C50-B4F8-12D1F83C3682}';
RID_ContratosCliente = '{C60CEDC1-9427-4DCE-821A-627672FAD176}'; RID_ContratosCliente = '{25E7020F-9DCA-4458-BB59-6F80612DB958}';
RID_TiposCapitulos = '{84075DE8-633F-4B18-A39B-B453DE08D5FD}'; RID_TiposCapitulos = '{FF4FB40E-4BDD-4D49-8893-AEF4013E66C7}';
RID_ContratosCliente_Detalles = '{47A199B6-78E6-42EC-A6EF-C3A4A8939855}'; RID_ContratosCliente_Detalles = '{893CDA38-9F05-42E6-A176-200846BFB3B4}';
{ Data table names } { Data table names }
nme_Valores = 'Valores'; nme_Valores = 'Valores';
@ -261,7 +261,7 @@ const
type type
{ IValores } { IValores }
IValores = interface(IDAStronglyTypedDataTable) IValores = interface(IDAStronglyTypedDataTable)
['{DE9A011D-6704-41A5-8170-8E1023E028A9}'] ['{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);
@ -320,7 +320,7 @@ type
{ IPropiedades } { IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable) IPropiedades = interface(IDAStronglyTypedDataTable)
['{75D8A850-AAAA-4A89-80D7-C3E1A0628CD2}'] ['{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);
@ -379,7 +379,7 @@ type
{ IListaAnosContratos } { IListaAnosContratos }
IListaAnosContratos = interface(IDAStronglyTypedDataTable) IListaAnosContratos = interface(IDAStronglyTypedDataTable)
['{82CA0D96-396B-4640-A127-3A92D6D876E0}'] ['{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);
@ -414,7 +414,7 @@ type
{ IContratosClienteBeneficios } { IContratosClienteBeneficios }
IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable) IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
['{1ADAB916-C891-4BAE-9322-2FD39A6EAE85}'] ['{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);
@ -617,7 +617,7 @@ type
{ IContratosCliente } { IContratosCliente }
IContratosCliente = interface(IDAStronglyTypedDataTable) IContratosCliente = interface(IDAStronglyTypedDataTable)
['{A40F5D4D-74B4-40B9-8AC3-36562B7A0880}'] ['{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);
@ -1327,7 +1327,7 @@ type
} }
{ ITiposCapitulos } { ITiposCapitulos }
ITiposCapitulos = interface(IDAStronglyTypedDataTable) ITiposCapitulos = interface(IDAStronglyTypedDataTable)
['{E54DDB32-6949-47BA-95C2-5AB4013DFA97}'] ['{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);
@ -1422,7 +1422,7 @@ type
{ IContratosCliente_Detalles } { IContratosCliente_Detalles }
IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable) IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{D020E94C-7500-49D4-8605-8A0CD2F05A3F}'] ['{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);

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 = '{B18B1C54-C567-4E9D-9F1C-EBF356EB9306}'; RID_ValoresDelta = '{2AA17EFC-B6ED-42C1-8998-4A61B38C6C9C}';
RID_PropiedadesDelta = '{C1C489D2-F6B5-4233-8739-4BF728F9D0C8}'; RID_PropiedadesDelta = '{CFCEAC41-2605-4AB8-8708-9376886949CD}';
RID_ListaAnosContratosDelta = '{19C544EC-0104-4464-8453-55603B3A5316}'; RID_ListaAnosContratosDelta = '{3CF93616-7DEB-4108-BBF9-DF16A4F51DF1}';
RID_ContratosClienteBeneficiosDelta = '{27648BA2-1AB1-47C4-93E4-148BE96C60FB}'; RID_ContratosClienteBeneficiosDelta = '{0B3B92D0-5683-4069-BCC9-BF13F3D32B81}';
RID_ContratosClienteDelta = '{B08191A8-1651-495D-82EB-4A90C31C4D2B}'; RID_ContratosClienteDelta = '{5972C7CE-C947-4BB7-ADA5-E24116CC4879}';
RID_TiposCapitulosDelta = '{A3BF1E30-4BE1-4DBC-94A1-0EA20C2BD85E}'; RID_TiposCapitulosDelta = '{C2270A90-511B-4330-B083-2AB5AE7B2621}';
RID_ContratosCliente_DetallesDelta = '{FF4E0A9B-4339-4B2F-B1FF-D09CE86D6D01}'; RID_ContratosCliente_DetallesDelta = '{D393C1E6-380F-4806-9BE9-C4894A4D3E3E}';
type type
{ IValoresDelta } { IValoresDelta }
IValoresDelta = interface(IValores) IValoresDelta = interface(IValores)
['{B18B1C54-C567-4E9D-9F1C-EBF356EB9306}'] ['{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)
['{C1C489D2-F6B5-4233-8739-4BF728F9D0C8}'] ['{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)
['{19C544EC-0104-4464-8453-55603B3A5316}'] ['{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)
['{27648BA2-1AB1-47C4-93E4-148BE96C60FB}'] ['{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)
['{B08191A8-1651-495D-82EB-4A90C31C4D2B}'] ['{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;
@ -1084,7 +1084,7 @@ type
{ ITiposCapitulosDelta } { ITiposCapitulosDelta }
ITiposCapitulosDelta = interface(ITiposCapitulos) ITiposCapitulosDelta = interface(ITiposCapitulos)
['{A3BF1E30-4BE1-4DBC-94A1-0EA20C2BD85E}'] ['{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;
@ -1178,7 +1178,7 @@ type
{ IContratosCliente_DetallesDelta } { IContratosCliente_DetallesDelta }
IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles) IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles)
['{FF4E0A9B-4339-4B2F-B1FF-D09CE86D6D01}'] ['{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;

View File

@ -1539,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

@ -99,7 +99,7 @@ type
procedure RecuperarNombresClientes; procedure RecuperarNombresClientes;
public public
function GenerarContrato(const ListaID : TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): 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;
@ -137,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
@ -147,12 +148,14 @@ 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;
try
//Inicializamos parametros //Inicializamos parametros
FVerLogotipo := true; FVerLogotipo := true;
FNombreEmpresa := ''; FNombreEmpresa := '';
@ -160,13 +163,29 @@ begin
FVerTotales := true; FVerTotales := true;
FVerCondiciones := VerCondiciones; FVerCondiciones := VerCondiciones;
try //Vamos generando todos y cada uno de los presupuestos recibidos
//Vamos generando todos y cada uno de los Contratos recibidos
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
begin
_GenerarContrato(ListaID.Items[i]); _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; frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1) 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;
@ -558,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));

View File

@ -34,8 +34,7 @@ type
protected protected
{ IsrvContratosCliente methods } { IsrvContratosCliente methods }
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): 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
@ -90,13 +89,13 @@ begin
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

@ -3,7 +3,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
ClientHeight = 551 ClientHeight = 551
ClientWidth = 1119 ClientWidth = 1119
ExplicitWidth = 1127 ExplicitWidth = 1127
ExplicitHeight = 595 ExplicitHeight = 585
PixelsPerInch = 96 PixelsPerInch = 96
TextHeight = 13 TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader inherited JvNavPanelHeader: TJvNavPanelHeader
@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 1119 Width = 1119
ExplicitWidth = 1119 ExplicitWidth = 1119
inherited tbxMain: TTBXToolbar inherited tbxMain: TTBXToolbar
ExplicitWidth = 1119 ExplicitWidth = 982
object TBXSubmenuItem3: TTBXSubmenuItem [0] object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo' Caption = 'Nuevo'
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -151,13 +151,17 @@ 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
end end
inherited tbxFiltro: TTBXToolbar inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 535 ExplicitWidth = 481
inherited lblAno: TTBXLabelItem inherited lblAno: TTBXLabelItem
Visible = True Visible = True
end end
@ -194,11 +198,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end end
end end
inherited TBXTMain2: TTBXToolbar inherited TBXTMain2: TTBXToolbar
Left = 535 Left = 481
DockPos = 343 DockPos = 343
Visible = True Visible = True
ExplicitLeft = 535 ExplicitLeft = 481
ExplicitWidth = 543 ExplicitWidth = 430
object TBXItem50: TTBXItem object TBXItem50: TTBXItem
Action = actLOPD Action = actLOPD
DisplayMode = nbdmImageAndText DisplayMode = nbdmImageAndText
@ -341,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 = <
@ -1193,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;

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

@ -38,9 +38,10 @@ type
function Duplicar(AFactura: IBizFacturaCliente): IBizFacturaCliente; function Duplicar(AFactura: IBizFacturaCliente): IBizFacturaCliente;
function GenerarAbono(AFactura: IBizFacturaCliente): IBizFacturaCliente; function GenerarAbono(AFactura: IBizFacturaCliente): IBizFacturaCliente;
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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);
@ -104,9 +105,10 @@ type
function GenerarAbono(AFactura: IBizFacturaCliente): IBizFacturaCliente; function GenerarAbono(AFactura: IBizFacturaCliente): IBizFacturaCliente;
procedure RecuperarCliente(AFactura : IBizFacturaCliente); procedure RecuperarCliente(AFactura : IBizFacturaCliente);
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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;
@ -1328,7 +1330,7 @@ begin
Result := AFactura; Result := AFactura;
end; end;
procedure TFacturasClienteController.Preview(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure TFacturasClienteController.Preview(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
var var
AReportController : IFacturasClienteReportController; AReportController : IFacturasClienteReportController;
ID_Facturas: TIntegerList; ID_Facturas: TIntegerList;
@ -1355,7 +1357,7 @@ begin
else else
ID_Facturas.Add(AFactura.ID); ID_Facturas.Add(AFactura.ID);
AReportController.Preview(ID_Facturas, AVerDatosCliente, AEmpresaAcota); AReportController.Preview(ID_Facturas, AVerDatosCliente);
finally finally
AReportController := NIL; AReportController := NIL;
@ -1363,7 +1365,7 @@ begin
end; end;
end; end;
procedure TFacturasClienteController.Print(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure TFacturasClienteController.Print(AFactura: IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
var var
AReportController : IFacturasClienteReportController; AReportController : IFacturasClienteReportController;
ID_Facturas: TIntegerList; ID_Facturas: TIntegerList;
@ -1390,7 +1392,7 @@ begin
else else
ID_Facturas.Add(AFactura.ID); ID_Facturas.Add(AFactura.ID);
AReportController.Print(ID_Facturas, AVerDatosCliente, AEmpresaAcota); AReportController.Print(ID_Facturas, AVerDatosCliente);
finally finally
AReportController := NIL; AReportController := NIL;
@ -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;

View File

@ -10,9 +10,9 @@ uses
type type
IFacturasClienteReportController = interface(IControllerBase) IFacturasClienteReportController = interface(IControllerBase)
['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}'] ['{A0F41767-4FF6-4BAE-9FC9-894DD721D756}']
procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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)
@ -23,9 +23,9 @@ type
constructor Create; override; constructor Create; override;
destructor Destroy; override; destructor Destroy; override;
procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
procedure Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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;
@ -80,14 +79,14 @@ begin
end; end;
end; end;
procedure TFacturasClienteReportController.Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure TFacturasClienteReportController.Preview(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorFacturasClientePreview; AEditor : IEditorFacturasClientePreview;
begin begin
AEditor := NIL; AEditor := NIL;
AStream := FDataModule.GetReport(AListaID, AVerDatosCliente, AEmpresaAcota); AStream := FDataModule.GetReport(AListaID, AVerDatosCliente);
try try
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor); CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then
@ -105,7 +104,7 @@ begin
end; end;
end; end;
procedure TFacturasClienteReportController.Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true); procedure TFacturasClienteReportController.Print(const AListaID : TIntegerList; AVerDatosCliente: Boolean = true);
var var
AStream: Binary; AStream: Binary;
AEditor : IEditorFacturasClientePreview; AEditor : IEditorFacturasClientePreview;
@ -113,7 +112,7 @@ begin
AEditor := NIL; AEditor := NIL;
ShowHourglassCursor; ShowHourglassCursor;
try try
AStream := FDataModule.GetReport(AListaID, AVerDatosCliente, AEmpresaAcota); AStream := FDataModule.GetReport(AListaID, AVerDatosCliente);
try try
CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor); CreateEditor('EditorFacturasClientePreview', IEditorFacturasClientePreview, AEditor);
if Assigned(AEditor) then if Assigned(AEditor) then

View File

@ -33,8 +33,8 @@ type
function NewItem : IBizFacturaCliente; function NewItem : IBizFacturaCliente;
// Report // Report
function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true): Binary; function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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 }
@ -53,30 +53,30 @@ begin
RORemoteService.Message := dmConexion.Message; RORemoteService.Message := dmConexion.Message;
end; end;
function TDataModuleFacturasCliente.GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true): Binary; function TDataModuleFacturasCliente.GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
var var
AParam : TIntegerArray; AParam : TIntegerArray;
begin begin
AParam := AListaID.ToIntegerArray; AParam := AListaID.ToIntegerArray;
try try
Result := (RORemoteService as IsrvFacturasCliente).GenerateReport(AParam, AVerDAtosCliente, AEmpresaAcota); Result := (RORemoteService as IsrvFacturasCliente).GenerateReport(AParam, AVerDAtosCliente);
finally finally
FreeANDNIL(AParam); FreeANDNIL(AParam);
end; end;
end; end;
function TDataModuleFacturasCliente.GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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, AEmpresaAcota) 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

@ -8,8 +8,8 @@ uses
type type
IDataModuleFacturasClienteReport = interface IDataModuleFacturasClienteReport = interface
['{F498AC70-AA38-4C06-B301-85A4AC0B210B}'] ['{F498AC70-AA38-4C06-B301-85A4AC0B210B}']
function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true; AEmpresaAcota: Boolean = true): Binary; function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; AEmpresaAcota: 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

@ -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

@ -52,7 +52,6 @@ type
FImporteMinimo: Currency; FImporteMinimo: Currency;
FDesglosado : Boolean; FDesglosado : Boolean;
FVerDatosCliente : Boolean; FVerDatosCliente : Boolean;
FEmpresaAcota : Boolean;
//Genera cada uno de los albaranes a imprimir //Genera cada uno de los albaranes a imprimir
procedure _GenerarFactura(const ID: integer); overload; procedure _GenerarFactura(const ID: integer); overload;
@ -64,8 +63,8 @@ type
procedure RecuperarNombresClientes; procedure RecuperarNombresClientes;
public public
function GenerarFactura(const ListaID : TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): Binary; overload; function GenerarFactura(const ListaID : TIntegerArray; const VerDatosCliente: Boolean): Binary; overload;
function GenerarFacturaEnPDF(const ListaID : TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): 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;
@ -109,14 +108,13 @@ begin
FreeANDNIL(FListaNombresClientes); FreeANDNIL(FListaNombresClientes);
end; end;
function TRptFacturasCliente.GenerarFactura(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): Binary; function TRptFacturasCliente.GenerarFactura(const ListaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
var var
i: Integer; i: Integer;
begin begin
Result := Binary.Create; Result := Binary.Create;
try try
FVerDatosCliente := VerDatosCliente; FVerDatosCliente := VerDatosCliente;
FEmpresaAcota := EmpresaAcota;
//Vamos generando todos y cada una de las facturas recibidas //Vamos generando todos y cada una de las facturas recibidas
for i := 0 to ListaID.Count - 1 do for i := 0 to ListaID.Count - 1 do
@ -127,21 +125,40 @@ begin
end; end;
end; end;
function TRptFacturasCliente.GenerarFacturaEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): 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;
FEmpresaAcota := EmpresaAcota;
//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
begin
_GenerarFactura(ListaID.Items[i]); _GenerarFactura(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; frxPDFExport1.Stream := Result;
frxReport.Export(frxPDFExport1) 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;
@ -638,10 +655,9 @@ begin
tbl_Detalles.Active := True; tbl_Detalles.Active := True;
tbl_Vencimientos.Active := True; tbl_Vencimientos.Active := True;
if FEmpresaAcota then FIdEmpresa := tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger;
AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString) // FIdTienda := tbl_Cabecera.FieldByName('ID_TIENDA').AsInteger;
else AInforme := DarRutaFichero(DarRutaInformes, rptFacturaCliente, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString); //, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);
AInforme := DarRutaFichero(DarRutaInformes, rptFacturaClienteAlonsoySal, 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

@ -35,8 +35,8 @@ type
private private
protected protected
{ IsrvFacturasCliente methods } { IsrvFacturasCliente methods }
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
implementation implementation
@ -78,25 +78,25 @@ begin
ConnectionName := dmServer.ConnectionName; ConnectionName := dmServer.ConnectionName;
end; end;
function TsrvFacturasCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): 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, EmpresaAcota); Result := AReportGenerator.GenerarFacturaEnPDF(ListaID, VerDatosCliente, Usuario, Firmado);
finally finally
FreeAndNIL(AReportGenerator); FreeAndNIL(AReportGenerator);
end; end;
end; end;
function TsrvFacturasCliente.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean = true): Binary; function TsrvFacturasCliente.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
var var
AReportGenerator : TRptFacturasCliente; AReportGenerator : TRptFacturasCliente;
begin begin
AReportGenerator := TRptFacturasCliente.Create(nil); AReportGenerator := TRptFacturasCliente.Create(nil);
try try
Result := AReportGenerator.GenerarFactura(FacturaID, VerDatosCliente, EmpresaAcota); Result := AReportGenerator.GenerarFactura(FacturaID, VerDatosCliente);
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

@ -304,8 +304,6 @@
</Parameter> </Parameter>
<Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" > <Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="EmpresaAcota" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
<Operation Name="GenerarInformeEnPDF" UID="{776E17A8-E50E-468C-AC5D-BB566BE84E4D}"> <Operation Name="GenerarInformeEnPDF" UID="{776E17A8-E50E-468C-AC5D-BB566BE84E4D}">
@ -316,7 +314,9 @@
</Parameter> </Parameter>
<Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" > <Parameter Name="VerDatosCliente" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
<Parameter Name="EmpresaAcota" DataType="Boolean" Flag="In" > <Parameter Name="Usuario" DataType="AnsiString" Flag="In" >
</Parameter>
<Parameter Name="Firmado" DataType="Boolean" Flag="In" >
</Parameter> </Parameter>
</Parameters> </Parameters>
</Operation> </Operation>
@ -937,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

@ -516,8 +516,8 @@ type
{ IsrvFacturasCliente } { IsrvFacturasCliente }
IsrvFacturasCliente = interface(IDataAbstractService) IsrvFacturasCliente = interface(IDataAbstractService)
['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}'] ['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
{ CosrvFacturasCliente } { CosrvFacturasCliente }
@ -530,8 +530,8 @@ type
protected protected
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const Usuario: AnsiString; const Firmado: Boolean): Binary;
end; end;
{ IsrvFacturasProveedor } { IsrvFacturasProveedor }
@ -860,7 +860,7 @@ type
IsrvContratosCliente = interface(IDataAbstractService) IsrvContratosCliente = interface(IDataAbstractService)
['{ADBF1627-F507-4A0F-818E-38BAE28579B6}'] ['{ADBF1627-F507-4A0F-818E-38BAE28579B6}']
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): 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 }
@ -874,7 +874,7 @@ type
function __GetInterfaceName:string; override; function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const VerCondiciones: Boolean; const TamLetra: Integer): 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
@ -1817,14 +1817,13 @@ begin
result := 'srvFacturasCliente'; result := 'srvFacturasCliente';
end; end;
function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; function TsrvFacturasCliente_Proxy.GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary;
begin begin
try try
result := nil; result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport'); __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
__Message.Write('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []); __Message.Write('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []);
__Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []); __Message.Write('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
__Message.Write('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);
@ -1836,14 +1835,15 @@ begin
end end
end; end;
function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: 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('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []); __Message.Write('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Write('Firmado', TypeInfo(Boolean), Firmado, []);
__Message.Finalize; __Message.Finalize;
__TransportChannel.Dispatch(__Message); __TransportChannel.Dispatch(__Message);
@ -2799,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

@ -934,11 +934,10 @@ begin
end; end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); procedure TsrvFacturasCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean; const EmpresaAcota: Boolean): Binary; } { function GenerateReport(const FacturaID: TIntegerArray; const VerDatosCliente: Boolean): Binary; }
var var
FacturaID: FactuGES_Intf.TIntegerArray; FacturaID: FactuGES_Intf.TIntegerArray;
VerDatosCliente: Boolean; VerDatosCliente: Boolean;
EmpresaAcota: Boolean;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -947,9 +946,8 @@ begin
try try
__Message.Read('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []); __Message.Read('FacturaID', TypeInfo(FactuGES_Intf.TIntegerArray), FacturaID, []);
__Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []); __Message.Read('VerDatosCliente', TypeInfo(Boolean), VerDatosCliente, []);
__Message.Read('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []);
lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID, VerDatosCliente, EmpresaAcota); lResult := (__Instance as IsrvFacturasCliente).GenerateReport(FacturaID, VerDatosCliente);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse'); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerateReportResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []); __Message.Write('Result', TypeInfo(Binary), lResult, []);
@ -968,11 +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; const EmpresaAcota: 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;
EmpresaAcota: Boolean; Usuario: AnsiString;
Firmado: Boolean;
lResult: Binary; lResult: Binary;
__lObjectDisposer: TROObjectDisposer; __lObjectDisposer: TROObjectDisposer;
begin begin
@ -981,9 +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('EmpresaAcota', TypeInfo(Boolean), EmpresaAcota, []); __Message.Read('Usuario', TypeInfo(AnsiString), Usuario, []);
__Message.Read('Firmado', TypeInfo(Boolean), Firmado, []);
lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnPDF(ListaID, VerDatosCliente, EmpresaAcota); 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, []);
@ -2327,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
@ -2339,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

@ -1,4 +1,4 @@
<?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>
@ -26,26 +26,30 @@
</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">3</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">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.0.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.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">jueves, 25 de abril de 2024 17:41</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 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> </Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/> <Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup> <ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr"> <DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\schEjerciciosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas"/> <DCCReference Include="..\ApplicationBase\Ejercicios\Model\uBizEjerciciosServer.pas" />
<DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas"> <DCCReference Include="..\ApplicationBase\Ejercicios\Servidor\srvEjercicios_Impl.pas">
<Form>srvEjercicios</Form> <Form>srvEjercicios</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas"> <DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form> <Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TDARemoteService</DesignClass>
@ -54,39 +58,39 @@
<Form>srvProvinciasPoblaciones</Form> <Form>srvProvinciasPoblaciones</Form>
<DesignClass>TRORemoteDataModule</DesignClass> <DesignClass>TRORemoteDataModule</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/> <DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" />
<DCCReference Include="..\Base\schBase_Intf.pas"/> <DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/> <DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/> <DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas"/> <DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas"> <DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form> <Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/> <DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form> <Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/> <DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas"> <DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form> <Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/> <DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/> <DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/> <DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/> <DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" />
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas"> <DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>RptComisiones</Form> <Form>RptComisiones</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -95,19 +99,19 @@
<Form>srvComisiones</Form> <Form>srvComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas"/> <DCCReference Include="..\Modulos\Contabilidad\Model\schContabilidadServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas"/> <DCCReference Include="..\Modulos\Contabilidad\Model\uBizAsientosServer.pas" />
<DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas"> <DCCReference Include="..\Modulos\Contabilidad\Servidor\srvContabilidad_Impl.pas">
<Form>srvContabilidad</Form> <Form>srvContabilidad</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas"/> <DCCReference Include="..\Modulos\Contactos\Model\uBizVendedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Reports\uRptListadosContactos_Server.pas"> <DCCReference Include="..\Modulos\Contactos\Reports\uRptListadosContactos_Server.pas">
<Form>RptListadosContactos</Form> <Form>RptListadosContactos</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -116,9 +120,9 @@
<Form>srvContactos</Form> <Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass> <DesignClass>TDARemoteService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Contratos de cliente\Model\schContratosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas"/> <DCCReference Include="..\Modulos\Contratos de cliente\Model\uBizContratosClienteServer.pas" />
<DCCReference Include="..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas"> <DCCReference Include="..\Modulos\Contratos de cliente\Reports\uRptContratosCliente_Server.pas">
<Form>RptContratosCliente</Form> <Form>RptContratosCliente</Form>
</DCCReference> </DCCReference>
@ -126,9 +130,9 @@
<Form>srvContratosCliente</Form> <Form>srvContratosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/> <DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas"> <DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form> <Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -137,9 +141,9 @@
<Form>srvFacturasCliente</Form> <Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/> <DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas"> <DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>RptFacturasProveedor</Form> <Form>RptFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -148,12 +152,12 @@
<Form>srvFacturasProveedor</Form> <Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/> <DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/> <DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/> <DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/> <DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" />
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas"> <DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorDocumentos</Form> <Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
@ -162,21 +166,21 @@
<Form>srvGestorInformes</Form> <Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/> <DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas"> <DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form> <Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/> <DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas"> <DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form> <Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/> <DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas"> <DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas">
<Form>RptPedidosProveedor</Form> <Form>RptPedidosProveedor</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -185,9 +189,9 @@
<Form>srvPedidosProveedor</Form> <Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/> <DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas"> <DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form> <Form>RptPresupuestosCliente</Form>
</DCCReference> </DCCReference>
@ -195,10 +199,10 @@
<Form>srvPresupuestosCliente</Form> <Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizPagosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas"/> <DCCReference Include="..\Modulos\Recibos de cliente\Model\uBizRecibosClienteServer.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas"> <DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>RptRecibosCliente</Form> <Form>RptRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -207,10 +211,10 @@
<Form>srvRecibosCliente</Form> <Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizPagosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas"/> <DCCReference Include="..\Modulos\Recibos de proveedor\Model\uBizRecibosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas"> <DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>RptRecibosProveedor</Form> <Form>RptRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
@ -219,37 +223,37 @@
<Form>srvRecibosProveedor</Form> <Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/> <DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas"> <DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<Form>srvReferencias</Form> <Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/> <DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas"> <DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form> <Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/> <DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas"> <DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form> <Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/> <DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/> <DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/> <DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas"> <DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form> <Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
</DCCReference> </DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/> <DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/> <DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas"> <DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form> <Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass> <DesignClass>TDataAbstractService</DesignClass>
@ -284,14 +288,14 @@
<DCCReference Include="uServerMainForm.pas"> <DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form> <Form>fServerForm</Form>
</DCCReference> </DCCReference>
<DCCReference Include="Utiles\RegExpr.pas"/> <DCCReference Include="Utiles\RegExpr.pas" />
<DCCReference Include="Utiles\uBusinessUtils.pas"/> <DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uDatabaseUtils.pas"/> <DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uReferenciasUtils.pas"/> <DCCReference Include="Utiles\uReferenciasUtils.pas" />
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/> <DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/> <DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas"/> <DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas"/> <DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup> </ItemGroup>
</Project> </Project>
<!-- EurekaLog First Line <!-- EurekaLog First Line

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;