Se arregla pico de centimos en los recibos generados cuando el numero de plazos son muchos (SOLICITADO POR ANGELICA)

git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@100 93f398dd-4eb6-7a46-baf6-13f46f578da2
This commit is contained in:
roberto 2014-06-18 11:06:58 +00:00
parent e207419f71
commit c62128bded
8 changed files with 102 additions and 47 deletions

View File

@ -28,12 +28,28 @@ interface
Function IntToLetras(Numero:LongInt):String; Function IntToLetras(Numero:LongInt):String;
Function xxIntToLetras(Valor:LongInt):String; Function xxIntToLetras(Valor:LongInt):String;
Function CifraToLetras(Cifra: Double): String; Function CifraToLetras(Cifra: Double): String;
function RoundCurrency(const Value: Currency): Currency;
implementation implementation
uses SysUtils, Dialogs; uses SysUtils, Dialogs;
// SysUtils, Windows, Dialogs, Messages, Classes, Graphics, Controls, Forms, StdCtrls; // SysUtils, Windows, Dialogs, Messages, Classes, Graphics, Controls, Forms, StdCtrls;
function RoundCurrency(const Value: Currency): Currency;
var
V64: Int64 absolute Result;
Decimals: Integer;
begin
Result := Value;
Decimals := V64 mod 100;
Dec(V64, Decimals);
case Decimals of
-99 .. -50 : Dec(V64, 100);
50 .. 99 : Inc(V64, 100);
end;
end;
Function xxIntToLetras(Valor:LongInt):String; Function xxIntToLetras(Valor:LongInt):String;
const const
aUnitat : array[1..15] of String = ('UNO','DOS','TRES','CUATRO','CINCO','SEIS', aUnitat : array[1..15] of String = ('UNO','DOS','TRES','CUATRO','CINCO','SEIS',

View File

@ -1128,6 +1128,7 @@ end;
function TFacturasClienteController.Guardar(AFactura: IBizFacturaCliente): Boolean; function TFacturasClienteController.Guardar(AFactura: IBizFacturaCliente): Boolean;
var var
IDNuevo : Integer; IDNuevo : Integer;
begin begin
Result := False; Result := False;
@ -1143,7 +1144,6 @@ begin
// Asegurarnos de que todos los importes están bien. // Asegurarnos de que todos los importes están bien.
RecalcularImportes(AFactura); RecalcularImportes(AFactura);
try try
AFactura.DataTable.ApplyUpdates; AFactura.DataTable.ApplyUpdates;
@ -1270,6 +1270,7 @@ var
ADiaVencimiento: Integer; ADiaVencimiento: Integer;
ADiasMas: Integer; ADiasMas: Integer;
BSemaforo: Boolean; BSemaforo: Boolean;
AImporteAcumulado : Double;
begin begin
if not Assigned(AFactura) then if not Assigned(AFactura) then
@ -1292,6 +1293,7 @@ begin
With AFormaPago.Plazos.DataTable do With AFormaPago.Plazos.DataTable do
begin begin
i := 1; i := 1;
AImporteAcumulado := 0;
First; First;
repeat repeat
//SOLO PARA ACANA (Leer comentario anterior //SOLO PARA ACANA (Leer comentario anterior
@ -1317,6 +1319,7 @@ begin
begin begin
ARecibos.FECHA_VENCIMIENTO := AFactura.FECHA_VENCIMIENTO; ARecibos.FECHA_VENCIMIENTO := AFactura.FECHA_VENCIMIENTO;
ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL; ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL;
AImporteAcumulado := AImporteAcumulado + ARecibos.IMPORTE;
end end
else else
begin begin
@ -1356,7 +1359,19 @@ begin
AFechaVencimiento := IncDay(AFechaVencimiento, ADiasMas); AFechaVencimiento := IncDay(AFechaVencimiento, ADiasMas);
ARecibos.FECHA_VENCIMIENTO := AFechaVencimiento; ARecibos.FECHA_VENCIMIENTO := AFechaVencimiento;
ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL * (AFormaPago.Plazos.PORCENTAJE / 100);
ARecibos.IMPORTE := RoundCurrency(RoundCurrency(AFactura.IMPORTE_TOTAL) * (AFormaPago.Plazos.PORCENTAJE / 100));
AImporteAcumulado := AImporteAcumulado + ARecibos.IMPORTE;
if (i = AFormaPago.Plazos.RecordCount) then
begin
if (AImporteAcumulado < RoundCurrency(AFactura.IMPORTE_TOTAL)) then
ARecibos.IMPORTE := ARecibos.IMPORTE + (RoundCurrency(AFactura.IMPORTE_TOTAL) - AImporteAcumulado)
else if (AImporteAcumulado > RoundCurrency(AFactura.IMPORTE_TOTAL)) then
ARecibos.IMPORTE := ARecibos.IMPORTE - (AImporteAcumulado - RoundCurrency(AFactura.IMPORTE_TOTAL));
end;
end; end;
ARecibos.DESCRIPCION := 'RECIBO ' + ARecibos.REFERENCIA + ' - ' + CifraToLetras(ARecibos.IMPORTE); ARecibos.DESCRIPCION := 'RECIBO ' + ARecibos.REFERENCIA + ' - ' + CifraToLetras(ARecibos.IMPORTE);

View File

@ -99,7 +99,7 @@ implementation
{$INCLUDE ..\..\..\FactuGES.inc} {$INCLUDE ..\..\..\FactuGES.inc}
uses uses
SysUtils, uDataTableUtils, DB, uDateUtils, DateUtils, uDataModuleUsuarios, SysUtils, uDataTableUtils, DB, uDateUtils, DateUtils, uDataModuleUsuarios,
Variants, cxDateUtils, uTiposIVAController, uBizTiposIVA, uFactuGES_App, uBizEmpresasTiendas; Variants, cxDateUtils, uTiposIVAController, uBizTiposIVA, uFactuGES_App, uBizEmpresasTiendas;
{ TBizFacturaCliente } { TBizFacturaCliente }

View File

@ -49,49 +49,49 @@
<DelphiCompile Include="PresupuestosCliente_view.dpk"> <DelphiCompile Include="PresupuestosCliente_view.dpk">
<MainSource>MainSource</MainSource> <MainSource>MainSource</MainSource>
</DelphiCompile> </DelphiCompile>
<DCCReference Include="..\..\..\Servidor\adortl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\adortl.dcp" />
<DCCReference Include="..\..\..\Servidor\ApplicationBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\ApplicationBase.dcp" />
<DCCReference Include="..\..\..\Servidor\Articulos_view.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Articulos_view.dcp" />
<DCCReference Include="..\..\..\Servidor\Base.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="..\..\..\Servidor\cxDataD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxDataD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxEditorsD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxExportD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExportD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxExtEditorsD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxExtEditorsD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxGridD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxGridD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxLibraryD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxLibraryD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxPageControlD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\cxPageControlD11.dcp" />
<DCCReference Include="..\..\..\Servidor\DataAbstract_Core_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\dbrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="..\..\..\Servidor\designide.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\designide.dcp" />
<DCCReference Include="..\..\..\Servidor\dsnap.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dsnap.dcp" />
<DCCReference Include="..\..\..\Servidor\dxCoreD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxCoreD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxGDIPlusD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxThemeD11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\dxThemeD11.dcp" />
<DCCReference Include="..\..\..\Servidor\GestorInformes_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\GUIBase.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
<DCCReference Include="..\..\..\Servidor\GUISDK_D11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\GUISDK_D11R.dcp" />
<DCCReference Include="..\..\..\Servidor\Jcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\Jcl.dcp" />
<DCCReference Include="..\..\..\Servidor\JclVcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JclVcl.dcp" />
<DCCReference Include="..\..\..\Servidor\JvCoreD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCoreD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvMMD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvMMD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvStdCtrlsD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvSystemD11R.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\JvSystemD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\PngComponentsD10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PngComponentsD10.dcp" />
<DCCReference Include="..\..\..\Servidor\PNG_D10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PNG_D10.dcp" />
<DCCReference Include="..\..\..\Servidor\PreCli_ConCli_relation.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PreCli_ConCli_relation.dcp" />
<DCCReference Include="..\..\..\Servidor\PresupuestosCliente_controller.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\PresupuestosCliente_model.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\PresupuestosCliente_model.dcp" />
<DCCReference Include="..\..\..\Servidor\RemObjects_Core_D11.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\rtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="..\..\..\Servidor\tb2k_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tb2k_d10.dcp" />
<DCCReference Include="..\..\..\Servidor\tbx_d10.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\tbx_d10.dcp" />
<DCCReference Include="..\..\..\Servidor\vcl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="..\..\..\Servidor\vclactnband.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclactnband.dcp" />
<DCCReference Include="..\..\..\Servidor\vcldb.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="..\..\..\Servidor\vcljpg.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vcljpg.dcp" />
<DCCReference Include="..\..\..\Servidor\vclx.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\vclx.dcp" />
<DCCReference Include="..\..\..\Servidor\xmlrtl.dcp" /> <DCCReference Include="C:\Documents and Settings\Usuario\xmlrtl.dcp" />
<DCCReference Include="uDialogOpcionesImpresionPresupuestosCliente.pas"> <DCCReference Include="uDialogOpcionesImpresionPresupuestosCliente.pas">
<Form>frDialogOpcionesImpresionPresupuestosCliente</Form> <Form>frDialogOpcionesImpresionPresupuestosCliente</Form>
<DesignClass>T</DesignClass> <DesignClass>T</DesignClass>

View File

@ -1,4 +1,28 @@
inherited frViewElegirArticulosPresupuestosCliente: TfrViewElegirArticulosPresupuestosCliente inherited frViewElegirArticulosPresupuestosCliente: TfrViewElegirArticulosPresupuestosCliente
inherited frViewFiltroBase1: TfrViewFiltroBase
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
inherited edtFechaFinFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
end
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39297.755936412040000000 ReportDocument.CreationDate = 39297.755936412040000000

View File

@ -12,7 +12,7 @@ uses
uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView, uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg,
ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase, ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase,
uDAInterfaces; uDAInterfaces, uCustomView, uViewBase;
type type
IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos) IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos)