Closed celm1990 closed 6 years ago
Este deberia ser el codigo correcto, acumular las lineas y restarlo del total y ahi comparar al diferencia:
dif = 0
total = self.amount_total
for line in move_lines:
if line[2]['name'] == '/' or line[2]['name'] == self.name:
if line[2]['credit'] > 0:
dif += line[2]['credit']
else:
dif += line[2]['debit']
dif -= total
if dif != 0:
Cierro en V11 se propondra PR en caso de seguir el problema
Al usar los terminos de pago por cuotas mensuales, digamos 1, 2, 3 meses, la deuda total de la factura se divide en coutas con X valor, al entrar en esta parte del codigo se evalua las lineas que son de la cuenta x cobrar/pagar y se va sumando credito - debito para obtener el total y comprarlo con el total de la factura para sacar el descuadre. Pero si son varias lineas xq se dividio en cuotass el algoritmo falla ya que solo me guardara el valor de la ultima linea entrando por un descuadre muy grande y sale error de recursividad. Para corregir eso, deberias cambiar las lineas esta linea de dif = total - line[2]['credit'] por dif += total - line[2]['credit'] y esta linea de dif = total - line[2]['debit'] por dif += total - line[2]['debit']
es decir usar un acumulador.