Se arregla fallo al buscar dia de pago al generar los recibos da las Facturas (en los casos de establecer como dia de pago el 31 para que no fallen en los meses que son 30 dias)
git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@836 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
e938266017
commit
0ea1ccb0a4
@ -1099,6 +1099,7 @@ var
|
||||
i: Integer;
|
||||
ADiaVencimiento: Integer;
|
||||
ADiasMas: Integer;
|
||||
BSemaforo: Boolean;
|
||||
|
||||
begin
|
||||
if not Assigned(AFactura) then
|
||||
@ -1139,6 +1140,7 @@ begin
|
||||
begin
|
||||
AFechaVencimiento := AFactura.FECHA_FACTURA + AFormaPago.Plazos.NUM_DIAS;
|
||||
ADiasMas := 0;
|
||||
BSemaforo := False;
|
||||
if (AFactura.Cliente.VENCIMIENTO_FACTURAS_1 <> 0)
|
||||
or (AFactura.Cliente.VENCIMIENTO_FACTURAS_2 <> 0)
|
||||
or (AFactura.Cliente.VENCIMIENTO_FACTURAS_3 <> 0) then
|
||||
@ -1149,7 +1151,21 @@ begin
|
||||
and (ADiaVencimiento <> AFactura.Cliente.VENCIMIENTO_FACTURAS_3) do
|
||||
begin
|
||||
if ADiaVencimiento = DaysInMonth(AFechaVencimiento) then
|
||||
ADiaVencimiento := 1
|
||||
begin
|
||||
ADiaVencimiento := 1;
|
||||
|
||||
//Controlamos con una variable semaforo que no nos quedemos en un bucle infinito
|
||||
//intentando encontrar el dia de pago establecido para el cliente (es el caso de tener
|
||||
//asignado el dia de pago 30 y llegar febrero en el que no se encuentra dicho dia, o
|
||||
//tener como dia de pago los días 31 y en el caso de meses de 30 dias no encontrarlo.
|
||||
if BSemaforo then
|
||||
begin
|
||||
ADiasMas := 0;
|
||||
Break
|
||||
end
|
||||
else
|
||||
BSemaforo := True;
|
||||
end
|
||||
else
|
||||
Inc(ADiaVencimiento);
|
||||
Inc(ADiasMas);
|
||||
|
||||
@ -909,6 +909,7 @@ var
|
||||
i: Integer;
|
||||
ADiaVencimiento: Integer;
|
||||
ADiasMas: Integer;
|
||||
BSemaforo: Boolean;
|
||||
|
||||
begin
|
||||
|
||||
@ -949,6 +950,7 @@ begin
|
||||
begin
|
||||
AFechaVencimiento := AFactura.FECHA_FACTURA + AFormaPago.Plazos.NUM_DIAS;
|
||||
ADiasMas := 0;
|
||||
BSemaforo := False;
|
||||
if (AFactura.Proveedor.VENCIMIENTO_FACTURAS_1 <> 0)
|
||||
or (AFactura.Proveedor.VENCIMIENTO_FACTURAS_2 <> 0)
|
||||
or (AFactura.Proveedor.VENCIMIENTO_FACTURAS_3 <> 0) then
|
||||
@ -959,7 +961,21 @@ begin
|
||||
and (ADiaVencimiento <> AFactura.Proveedor.VENCIMIENTO_FACTURAS_3) do
|
||||
begin
|
||||
if ADiaVencimiento = DaysInMonth(AFechaVencimiento) then
|
||||
ADiaVencimiento := 1
|
||||
begin
|
||||
ADiaVencimiento := 1;
|
||||
|
||||
//Controlamos con una variable semaforo que no nos quedemos en un bucle infinito
|
||||
//intentando encontrar el dia de pago establecido para el cliente (es el caso de tener
|
||||
//asignado el dia de pago 30 y llegar febrero en el que no se encuentra dicho dia, o
|
||||
//tener como dia de pago los días 31 y en el caso de meses de 30 dias no encontrarlo.
|
||||
if BSemaforo then
|
||||
begin
|
||||
ADiasMas := 0;
|
||||
Break
|
||||
end
|
||||
else
|
||||
BSemaforo := True;
|
||||
end
|
||||
else
|
||||
Inc(ADiaVencimiento);
|
||||
Inc(ADiasMas);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user