Try to fix rounding error
This commit is contained in:
parent
7df36e4a1f
commit
da3ae71a47
@ -3177,12 +3177,17 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
$sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".($obj->total_tva - $diff).", total_ttc = ".($obj->total_ttc - $diff)." WHERE rowid = ".$obj->rowid;
|
$sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".($obj->total_tva - $diff).", total_ttc = ".($obj->total_ttc - $diff)." WHERE rowid = ".$obj->rowid;
|
||||||
dol_syslog('We found a difference of '.$diff.' for line rowid = '.$obj->rowid.". We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix);
|
dol_syslog('We found a difference of '.$diff.' for line rowid = '.$obj->rowid.". We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix);
|
||||||
|
|
||||||
$resqlfix = $this->db->query($sqlfix);
|
$resqlfix = $this->db->query($sqlfix);
|
||||||
if (!$resqlfix) dol_print_error($this->db, 'Failed to update line');
|
|
||||||
$this->total_tva -= $diff;
|
if (!$resqlfix) {
|
||||||
$this->total_ttc -= $diff;
|
dol_print_error($this->db, 'Failed to update line');
|
||||||
$total_tva_by_vats[$obj->vatrate] -= $diff;
|
}
|
||||||
$total_ttc_by_vats[$obj->vatrate] -= $diff;
|
|
||||||
|
$this->total_tva = (float) price2num($this->total_tva - $diff, '', 1);
|
||||||
|
$this->total_ttc = (float) price2num($this->total_ttc - $diff, '', 1);
|
||||||
|
$total_tva_by_vats[$obj->vatrate] = (float) price2num($total_tva_by_vats[$obj->vatrate] - $diff, '', 1);
|
||||||
|
$total_ttc_by_vats[$obj->vatrate] = (float) price2num($total_ttc_by_vats[$obj->vatrate] - $diff, '', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3210,6 +3215,13 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clean total
|
||||||
|
$this->total_ht = (float) price2num($this->total_ht);
|
||||||
|
$this->total_tva = (float) price2num($this->total_tva);
|
||||||
|
$this->total_localtax1 = (float) price2num($this->total_localtax1);
|
||||||
|
$this->total_localtax2 = (float) price2num($this->total_localtax2);
|
||||||
|
$this->total_ttc = (float) price2num($this->total_ttc);
|
||||||
|
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
|
|
||||||
// Now update global field total_ht, total_ttc and tva
|
// Now update global field total_ht, total_ttc and tva
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user