diff --git a/Source/Base/Utiles/uNumUtils.pas b/Source/Base/Utiles/uNumUtils.pas
index 39aafad..ff91cc7 100644
--- a/Source/Base/Utiles/uNumUtils.pas
+++ b/Source/Base/Utiles/uNumUtils.pas
@@ -28,12 +28,28 @@ interface
Function IntToLetras(Numero:LongInt):String;
Function xxIntToLetras(Valor:LongInt):String;
Function CifraToLetras(Cifra: Double): String;
+function RoundCurrency(const Value: Currency): Currency;
+
implementation
uses SysUtils, Dialogs;
// 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;
const
aUnitat : array[1..15] of String = ('UNO','DOS','TRES','CUATRO','CINCO','SEIS',
diff --git a/Source/Modulos/Contratos de cliente/Controller/ContratosCliente_controller.RES b/Source/Modulos/Contratos de cliente/Controller/ContratosCliente_controller.RES
index 8b251f3..1641339 100644
Binary files a/Source/Modulos/Contratos de cliente/Controller/ContratosCliente_controller.RES and b/Source/Modulos/Contratos de cliente/Controller/ContratosCliente_controller.RES differ
diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
index a06c0f4..e557185 100644
--- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
+++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas
@@ -1128,6 +1128,7 @@ end;
function TFacturasClienteController.Guardar(AFactura: IBizFacturaCliente): Boolean;
var
IDNuevo : Integer;
+
begin
Result := False;
@@ -1143,7 +1144,6 @@ begin
// Asegurarnos de que todos los importes están bien.
RecalcularImportes(AFactura);
-
try
AFactura.DataTable.ApplyUpdates;
@@ -1270,6 +1270,7 @@ var
ADiaVencimiento: Integer;
ADiasMas: Integer;
BSemaforo: Boolean;
+ AImporteAcumulado : Double;
begin
if not Assigned(AFactura) then
@@ -1292,6 +1293,7 @@ begin
With AFormaPago.Plazos.DataTable do
begin
i := 1;
+ AImporteAcumulado := 0;
First;
repeat
//SOLO PARA ACANA (Leer comentario anterior
@@ -1317,6 +1319,7 @@ begin
begin
ARecibos.FECHA_VENCIMIENTO := AFactura.FECHA_VENCIMIENTO;
ARecibos.IMPORTE := AFactura.IMPORTE_TOTAL;
+ AImporteAcumulado := AImporteAcumulado + ARecibos.IMPORTE;
end
else
begin
@@ -1356,7 +1359,19 @@ begin
AFechaVencimiento := IncDay(AFechaVencimiento, ADiasMas);
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;
ARecibos.DESCRIPCION := 'RECIBO ' + ARecibos.REFERENCIA + ' - ' + CifraToLetras(ARecibos.IMPORTE);
diff --git a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
index 87283bb..6cef47b 100644
--- a/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
+++ b/Source/Modulos/Facturas de cliente/Model/uBizFacturasCliente.pas
@@ -99,7 +99,7 @@ implementation
{$INCLUDE ..\..\..\FactuGES.inc}
uses
- SysUtils, uDataTableUtils, DB, uDateUtils, DateUtils, uDataModuleUsuarios,
+ SysUtils, uDataTableUtils, DB, uDateUtils, DateUtils, uDataModuleUsuarios,
Variants, cxDateUtils, uTiposIVAController, uBizTiposIVA, uFactuGES_App, uBizEmpresasTiendas;
{ TBizFacturaCliente }
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.RES b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.RES
index 8b251f3..1641339 100644
Binary files a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.RES and b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.RES differ
diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj
index 4725ccd..337540d 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj
+++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj
@@ -49,49 +49,49 @@
MainSource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
T
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm
index 860320a..2493827 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.dfm
@@ -1,4 +1,28 @@
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 dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39297.755936412040000000
diff --git a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas
index 8c9f9de..109d2ba 100644
--- a/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas
+++ b/Source/Modulos/Presupuestos de cliente/Views/uViewElegirArticulosPresupuestosCliente.pas
@@ -12,7 +12,7 @@ uses
uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg,
ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase,
- uDAInterfaces;
+ uDAInterfaces, uCustomView, uViewBase;
type
IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos)