Compare commits

...

10 Commits

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

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -44,13 +44,6 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="PackageDescription">Libreria base de FactuGES</Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\Bin\dclintraweb_90_100.bpl">VCL for the Web Design Package for CodeGear RAD Studio</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclsoap100.bpl">CodeGear SOAP Components</Excluded_Packages>
@ -65,56 +58,56 @@
<DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Contratos de cliente\adortl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\designide.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dsnap.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxCoreD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\GUISDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\Jcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PluginSDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\vclx.dcp" />
<DCCReference Include="..\Modulos\Contratos de cliente\xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dclIndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPSCoreD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyCore.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndyProtocols.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\IndySystem.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JSDialog100.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCmpD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvDlgsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvNetD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvPageCompsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckMD5.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUCDataConnector.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\pckUserControl_RT.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PluginSDK_D11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\TB2k_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\VclSmp.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form>
<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 PreguntarFicheroWordExportar (var Fichero : String) : Boolean;
function PreguntarFicheroExcelExportar (var Fichero : String) : Boolean;
function PreguntarFicheroPDFExportar (var Fichero : String) : Boolean;
function EscapeIllegalChars(AFileName: string): string;
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;
@ -66,6 +68,34 @@ uses
StdCtrls, SHFolder, cxShellBrowserDialog,
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;
const
@ -465,6 +495,27 @@ begin
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);

View File

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

View File

@ -52,7 +52,8 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">4</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.2.4.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.2.4.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">2</VersionInfo><VersionInfo Name="MinorVer">3</VersionInfo><VersionInfo Name="Release">1</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">2.3.1.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES v2</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">2.3.1.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><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">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Base.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\frx11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\frxe11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\fs11.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\JvGlobusD11R.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\tb2k_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\vclx.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\ccpackD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvGlobusD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form>
</DCCReference>

View File

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

View File

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

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

View File

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

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 1119
ExplicitWidth = 1119
inherited tbxMain: TTBXToolbar
ExplicitWidth = 894
ExplicitWidth = 982
object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo'
DisplayMode = nbdmImageAndText
@ -151,7 +151,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
inherited TBXItem2: TTBXItem
Visible = False
end
object TBXItem47: TTBXItem [13]
object TBXItem51: TTBXItem [13]
Action = actGenerarPDF
DisplayMode = nbdmImageAndText
end
object TBXItem47: TTBXItem [14]
Action = actEnviarEMail
DisplayMode = nbdmImageAndText
end
@ -255,10 +259,6 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
inherited actImprimir: TAction
Visible = True
end
inherited actExportarExcel: TAction
Enabled = True
Visible = True
end
object actGenerarAlbaranCli: TAction
Category = 'Acciones'
Caption = 'Generar albar'#225'n de cliente'
@ -345,6 +345,13 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
OnExecute = actLOPDExecute
OnUpdate = actLOPDUpdate
end
object actGenerarPDF: TAction
Category = 'Acciones'
Caption = 'Generar PDF'
ImageIndex = 31
OnExecute = actGenerarPDFExecute
OnUpdate = actGenerarPDFUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <
@ -1197,6 +1204,29 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
A0BEE1E16734A0290000000049454E44AE426082}
Name = 'PngImage30'
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>
Bitmap = {}
end

View File

@ -59,6 +59,8 @@ type
TBXSeparatorItem21: TTBXSeparatorItem;
actLOPD: TAction;
TBXItem50: TTBXItem;
actGenerarPDF: TAction;
TBXItem51: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
@ -92,6 +94,8 @@ type
procedure actGenerarReciboCliUpdate(Sender: TObject);
procedure actLOPDExecute(Sender: TObject);
procedure actLOPDUpdate(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject);
private
procedure cambiarSituacion (const ASituacion: String);
@ -311,6 +315,54 @@ begin
and (FContratos.SITUACION = SITUACION_CONTRATO_ACEPTADO);
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);
var
ACopiarDetalles: Boolean;
@ -676,7 +728,14 @@ end;
procedure TfEditorContratosCliente.ModificarInterno;
begin
inherited;
FController.Ver(Contratos);
if (Length(Trim(Contratos.FACTURA_ASOCIADA)) > 0) then
begin
if (ShowConfirmMessage('¡Atención!, el presupuesto tiene al menos una factura asociada, "no debería modificar nada", antes hablar con Mónica.', '¿Desea continuar?') = IDYES) then
FController.Ver(Contratos);
end
else
FController.Ver(Contratos);
end;
procedure TfEditorContratosCliente.NuevoInterno;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -41,6 +41,7 @@ type
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente);
procedure GenerarPDF(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
@ -107,6 +108,7 @@ type
procedure Preview(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure Print(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AVerDatosCliente: Boolean = true);
procedure EnviarFacturaPorEMail(AFactura : IBizFacturaCliente);
procedure GenerarPDF(AFactura : IBizFacturaCliente; AllItems: Boolean = false; AFirmado: Boolean = False);
procedure RecalcularImportes(AFactura: IBizFacturaCliente);
function EsModificable(AFactura: IBizFacturaCliente; var AComentario: Variant): Boolean;
@ -1418,6 +1420,63 @@ begin
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);
var
AFormasPagoController : IFormasPagoController;
@ -1426,18 +1485,17 @@ var
ARecibos: IBizRecibosCliente;
ARecibosACuenta: IBizRecibosCliente;
AFechaVencimiento: TDateTime;
i: Integer;
ADiaVencimiento: Integer;
ADiasMas: Integer;
BSemaforo: Boolean;
AImporteTotal: Currency;
aa: String;
i: Integer;
begin
if not Assigned(AFactura) then
Exit;
aa:= '';
i := 1;
i := 1;
AImporteTotal := AFactura.IMPORTE_TOTAL;
AFormasPagoController := TFormasPagoController.Create;

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@ type
IDataModuleFacturasClienteReport = interface
['{F498AC70-AA38-4C06-B301-85A4AC0B210B}']
function GetReport(const AListaID: TIntegerList; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true): Binary;
function GetRptPDFFactura(const AID: Integer; AVerDatosCliente: Boolean = true; const Firmado: Boolean = False): Binary;
end;
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>
<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><Source><Source Name="MainSource">FacturasCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
@ -53,13 +55,13 @@
<DelphiCompile Include="FacturasCliente_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Base.dcp" />
<DCCReference Include="Contactos_model.dcp" />
<DCCReference Include="..\Base.dcp" />
<DCCReference Include="..\Contactos_model.dcp" />
<DCCReference Include="..\TiposIVA_controller.dcp" />
<DCCReference Include="Data\uIDataModuleFacturasCliente.pas" />
<DCCReference Include="Data\uIDataModuleFacturasClienteReport.pas" />
<DCCReference Include="schFacturasClienteClient_Intf.pas" />
<DCCReference Include="schFacturasClienteServer_Intf.pas" />
<DCCReference Include="TiposIVA_controller.dcp" />
<DCCReference Include="uBizDetallesFacturaCliente.pas" />
<DCCReference Include="uBizFacturasCliente.pas" />
<None Include="ModelSupport_FacturasCliente_model\default.txaPackage" />

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -38,7 +38,7 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
Width = 640
ExplicitWidth = 640
inherited tbxMain: TTBXToolbar
ExplicitWidth = 632
ExplicitWidth = 640
object TBXSubmenuItem2: TTBXSubmenuItem [0]
Caption = 'Nuevo'
DisplayMode = nbdmImageAndText
@ -56,7 +56,11 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
inherited TBXItem2: TTBXItem
Visible = False
end
object TBXItem41: TTBXItem [13]
object TBXItem45: TTBXItem [13]
Action = actGenerarPDF
DisplayMode = nbdmImageAndText
end
object TBXItem41: TTBXItem [14]
Action = actEnviarMail
DisplayMode = nbdmImageAndText
end
@ -275,7 +279,6 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 640
ExplicitTop = 75
ExplicitWidth = 640
inherited tbxBotones: TTBXToolbar
Width = 630
@ -375,6 +378,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
OnExecute = actLOPDExecute
OnUpdate = actLOPDUpdate
end
object actGenerarPDF: TAction
Category = 'Archivo'
Caption = 'Generar PDF'
ImageIndex = 29
OnExecute = actGenerarPDFExecute
OnUpdate = actGenerarPDFUpdate
end
end
inherited SmallImages: TPngImageList [5]
PngImages = <
@ -1184,6 +1194,29 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
49454E44AE426082}
Name = 'PngImage28'
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>
Left = 395
Bitmap = {}

View File

@ -45,6 +45,8 @@ type
TBXItem43: TTBXItem;
actLOPD: TAction;
TBXItem44: TTBXItem;
actGenerarPDF: TAction;
TBXItem45: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actNuevaFacturaExecute(Sender: TObject);
@ -58,6 +60,8 @@ type
procedure actLOPDExecute(Sender: TObject);
procedure actLOPDUpdate(Sender: TObject);
procedure actVerContratoExecute(Sender: TObject);
procedure actGenerarPDFExecute(Sender: TObject);
procedure actGenerarPDFUpdate(Sender: TObject);
private
FFacturas: IBizFacturaCliente;
@ -185,6 +189,58 @@ begin
(Sender as TAction).Enabled := False;
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);
var
Respuesta : Integer;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

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

View File

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

Binary file not shown.

View File

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