Actualmente estoy integrando Doli en una empresa Mexicana, la cual trabaja en Dólares y en Pesos Mexicanos. ellos realizan facturas en dólares e introducen el tipo de cambio, hasta ahí todo bien. Mi problema viene cuando se registran los pagos y quedan centavos volando por el aire, la verdad es algo muy molesto. El problema viene en la tasa de conversión que maneja Doli, ya que es de 1 MXN a USD, quedando valores en decimales, y luego lo que hace es dividir el valor resultante por el monto a pagar en Dólares, y siempre siempre, quedan centavos volando.
Mi solución:
Modificando el archivo multicurrency.class.php (búsquenlo), la función que se encarga de buscar el tipo de cambio llamada getInvoiceRate hice la siguiente modificación:
Código: Seleccionar todo
public static function getInvoiceRate($fk_facture, $table = 'facture')
{
global $db;
// $sql = 'SELECT multicurrency_tx FROM '.MAIN_DB_PREFIX.$table.' WHERE rowid = '.$fk_facture;
$sql = 'SELECT total_ttc, multicurrency_total_ttc FROM ' . MAIN_DB_PREFIX . $table . ' WHERE rowid = ' . $fk_facture;
dol_syslog(__METHOD__, LOG_DEBUG);
$resql = $db->query($sql);
if ($resql && ($line = $db->fetch_object($resql)))
{
$result = $line->total_ttc / $line->multicurrency_total_ttc;
$result = 1 / $result;
return $result;
}
return false;
}
Espero que les ayude, y si no, pues visiten mi canal de youtube y me dan un Like jjajaja
Saludos Dolibarianos