dev/lampone#782: Se reimplementa el soporte multimoneda para las cuenta analíticas
En este MR se reimplementó el soporte multimoneda. Para orientar la revisión:
- agregué la función get_amount_in_currency() la cual se utiliza a lo largo del cálculo de todos los montos.
- eliminé la función _convert_amount_to_ars() que forzaba a pesificar todos los montos. Ahora la función anterior es la que pesifica o dolariza segun la moneda.
- agregué la función get_invoice_balance_in_currency(). Es una versión simplificada de la primera y solo es usada para el cálculo de lo pagado y por pagar en compras. Esto es porque el campo usado (line.balance) usado siempre está en pesos, independientemente de la moneda usada en el documento asociado.
- se agregó un chequeo adicional que fuerza que el monto pagado registrado no supere el monto de la factura. Este desfasaje entre lo facturado y lo cobrado pasa porque en las cuenta analíticas solo tomamos la base imponible de las lineas (de factura y presupuesto) y los pagos no discriminan eso. Con este chequeo, si una factura esta totalmente paga, simplemente seteamos como
amount_paidel valor de la base imponible. - el resto de los cambios son las aplicaciones de las 2 funciones creadas
Edited by Laion