Problema con Redondeo

95 views
Skip to first unread message

Roberto Lemos

unread,
Aug 15, 2011, 3:45:30 PM8/15/11
to COMUNIDAD VISUAL FOXPRO
Hola Amigos;

Tengo un problema de redondeo, trabajo en VFP 9 con SQL Server 2005,

La empresa donde trabajo tiene un promedio de 50,000 facturas de
ventas por mes, las cuales son ingresadas al sistema (Transporte de
Carga) con la siguiente operacion

Base Imponible= Round(Total/Igv,2)
Igv = Total - Base Imponible.

Hasta aqui todo bien, pues este se imprimi y guarda, mi problema es
que al momento de hacer la declaracion de impuesto y totalizar las
columnas de Base Imponible e Igv, los Importes no me cuadran, Ejemplo

Esto me arroja el Sistema
Base Imponible : 373,954.27
Igv : 67,338.73
Total : 441,293.00

Al momento de declarar los impuestos se ingresa

como Total 441,293, el valor de la Base Imponible sale :

Base = (441293.00 / 1.18 )

373,977.1186
373,954.27

Diferencia de 22.00

En algunos casos la diferencia llega hasta los 50.00

El contador y la entidad recaudadora (SUNAT), me dicen que algo esta
mal en el programa que no debe haber tal diferencia a lo sumo deberia
ser de 10.00

La verdad no se por donde corregir

Alguna ayuda o experiencia similar

RafoSoft 2011

unread,
Aug 16, 2011, 12:38:41 AM8/16/11
to comunidad-v...@googlegroups.com
Has considerado importes INFECTOS?, Quiz�s la diferencia est� inafecta.

--------------------------------------------------
From: "Roberto Lemos" <lemo...@gmail.com>
Sent: Monday, August 15, 2011 2:45 PM
To: "COMUNIDAD VISUAL FOXPRO" <comunidad-v...@googlegroups.com>
Subject: Problema con Redondeo

> --
> Has recibido este mensaje porque est�s suscrito al grupo "COMUNIDAD VISUAL
> FOXPRO" de Grupos de Google.
> Para publicar una entrada en este grupo, env�a un correo electr�nico a
> comunidad-v...@googlegroups.com.
> Para anular tu suscripci�n a este grupo, env�a un correo electr�nico a
> comunidad-visual-...@googlegroups.com
> Para tener acceso a m�s opciones, visita el grupo en
> http://groups.google.com/group/comunidad-visual-foxpro?hl=es.
>
>

Ricardo Alfredo Huaman Suarez

unread,
Aug 16, 2011, 5:48:15 AM8/16/11
to comunidad-v...@googlegroups.com
CREATE CURSOR Montos (TOTAL N(15,4) ,BI N(15,4) , IGV N(15,4) , BIROUND N(15,4), IGVROUND N(15,4))
 
SELECT Montos
SET DECIMALS TO 2
FOR T = 1 TO 50000
   WAIT WINDOWS T NOWAIT
   APPEND BLANK
   REPLACE
TOTAL WITH 1 + 100 * RAND( )
   REPLACE BI WITH (Total/1.18)
   REPLACE IGV WITH Total - BI
   REPLACE BIROUND WITH ROUND((Total/1.18),2)
   REPLACE IGVROUND WITH Total - BIROUND
ENDFOR
 
SELECT SUM
(Total) as Total , SUM(BI) as BI, SUM(IGV) as IGV, SUM(BIRound) as BIRound, SUM(IGVRound) as IGVRound FROM Montos INTO CURSOR TOTALES READWRITE
 
SELECT
TOTALES
GO TOP
lnTotal = TOTALES.Total
APPEND BLANK
REPLACE
TOTALES.Total WITH lnTotal
REPLACE BI WITH (Total/1.18)
REPLACE IGV WITH Total - BI
REPLACE BIROUND WITH ROUND((Total/1.18),2)
REPLACE IGVROUND WITH Total - BIROUND
 
La diferencia cuando se guarda sin redondear es de centimos y redondeado es de 3 como maximo para 50,000 registros , debe ser lo que te dice Rafael.

 
> Date: Mon, 15 Aug 2011 12:45:30 -0700
> Subject: Problema con Redondeo
> From: lemo...@gmail.com
> To: comunidad-v...@googlegroups.com
> --
> Has recibido este mensaje porque estás suscrito al grupo "COMUNIDAD VISUAL FOXPRO" de Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a comunidad-v...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a comunidad-visual-...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/comunidad-visual-foxpro?hl=es.
>

bytesoft c.a

unread,
Aug 16, 2011, 7:55:17 AM8/16/11
to comunidad-v...@googlegroups.com
Amigo si la matematica no cambia a mi el resultado me da:
Base Imponible : 373,954.27
ya que estas sacando la base sobre 1.18 quiee decir que el ivg es 18 luego
el igv es

Igv                   :   67311.77   y  no   67,338.73    asi el total seria

373,954.27 +  67,311.77 = 441,266.04   y no            :  441,293.00

asi la base serial = 441,293.00  / 1.18  = 373954.27 


espero te sirva


el problema se encuentra en el calculo del ivg.

Roberto Lemos

unread,
Aug 16, 2011, 5:27:57 PM8/16/11
to comunidad-v...@googlegroups.com
No existen inafectos

Roberto Lemos

unread,
Aug 16, 2011, 5:39:16 PM8/16/11
to comunidad-v...@googlegroups.com
Estimado Amigo, al parecer tus matematicas son distintas a las mias, me gustaria saber como haces para que
 
asi la base serial = 441,293.00  / 1.18  = 373954.27 
te de ese resultado a mi me da : 373,977.12
 
 
 
----- Original Message -----
Sent: Tuesday, August 16, 2011 6:55 AM
Subject: Re: Problema con Redondeo

--
Has recibido este mensaje porque estás suscrito al grupo "COMUNIDAD VISUAL FOXPRO" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a comunidad-v...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a comunidad-visual-...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/comunidad-visual-foxpro?hl=es.
Reply all
Reply to author
Forward
0 new messages