rauljrz / pyafipws

Automatically exported from code.google.com/p/pyafipws
GNU General Public License v3.0
0 stars 0 forks source link

La operación conteniendo artículos con decimales, puede calcular montos de iva con más de los dos decimales permitidos #83

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
¿Que pasos reproducirán el problema?
1.Crear una factura normalmente con pyFactura
2.En la parte de artículos, cargar un artículo con el monto: 126.85
3. Grabar
4. Obtener CAE

¿Cual es la salida esperada? ¿Que es lo que ve en cambio?

Se esperaba el CAE de la factura, se obtiene: 10056: El campo importe de 
AlicIVA soporta 13 numeros para la parte entera y 2 para los decimales   

¿Que versión del producto están usando? ¿En que sistema operativo?

version 0.6.3 en Windows XP

Por favor provea cualquier información adicional a continuación.

Hice dos modificaciones en el código para ver si con esto se soluciona. 
Adjunto el archivo factura.pyw modificado.

Original issue reported on code.google.com by lw4...@gmail.com on 2 Aug 2014 at 4:20

Attachments:

GoogleCodeExporter commented 8 years ago
Gracias por el aporte!

Lamentablemente la moficación en recalcular no es posible porque convierte a 
string y luego no lo puede sumar:

Traceback (most recent call last):
  File "/home/reingart/pyafipws.gui2py-app/gui/spec.py", line 79, in handler
    action(event)   # just call the user function
  File "factura.pyw", line 173, in on_grid_cell_change
    recalcular()
  File "factura.pyw", line 197, in recalcular
    imp_iva[iva_id] = imp_iva.get(iva_id, 0.) + iva_liq
TypeError: unsupported operand type(s) for +: 'float' and 'str'

Lo ideal sería manejar todo con tipos Decimal o usar round() en vez de float.
Hice el redondeo directamente al enviar los datos al webservice, ver rev 
b1616b571e13 

https://github.com/reingart/pyfactura/commit/5a754e4d5f43c2716ae879e3a26430de7b2
a7c0d

Para variar, str.format() no esta soportado en python 2.5 (que todavia se usa 
en algunas empresas), por lo que finalmente use "%0.2f" en la rev a56aa3d2e00a

https://github.com/reingart/pyfactura/commit/3c78db4d7b1a56090d8cda3a976aec6cedc
8299e

Subiendo la nueva version en 0.6d:

http://www.sistemasagiles.com.ar/soft/pyafipws/instalador-PyFactura-0.6d-32bit-h
omo.exe

Si funciona avisame asi le damos un cierre definitivo.

Original comment by reingart@gmail.com on 2 Aug 2014 at 6:03

GoogleCodeExporter commented 8 years ago
Hola Mariano,
             Hoy lo estuve probando y ya te puedo decir con seguridad que funciona bien en Windows XP. 

Gracias por todo
Saludos
Carlos

Original comment by lw4...@gmail.com on 3 Aug 2014 at 5:09