From 1d144b3b4a182ac4cebd8e3f0f94358daedd6904 Mon Sep 17 00:00:00 2001 From: Regis Houssin <regis@dolibarr.fr> Date: Sun, 8 Jan 2012 20:08:15 +0100 Subject: [PATCH] New: add test for vat rounded by line or on the total --- htdocs/admin/limits.php | 42 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index 8c73a1f49a1..665db98c8fa 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -198,17 +198,51 @@ print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU'); print " x ".$langs->trans("Quantity").": ".$qty; print " - ".$langs->trans("VAT").": ".$vat.'%'; print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n"; +print '<br>'; + +print $langs->trans("VATRoundedByLine").' ('.$langs->trans("DolibarrDefault").')<br><br>'; foreach($vat_rates as $vat) { for ($qty=1; $qty<=2; $qty++) { - $s=10/3; - $tmparray=calcul_price_total(1,$qty*price2num($s,'MU'),0,$vat,0,0,0,'HT',0); - print $langs->trans("UnitPriceOfProduct").": ".price2num($s,'MU'); + $s1=10/3; + $s2=2/7; + + // Round by line + $tmparray1=calcul_price_total(1,$qty*price2num($s1,'MU'),0,$vat,0,0,0,'HT',0); + $tmparray2=calcul_price_total(1,$qty*price2num($s2,'MU'),0,$vat,0,0,0,'HT',0); + $total_ht = $tmparray1[0] + $tmparray2[0]; + $total_tva = $tmparray1[1] + $tmparray2[1]; + $total_ttc = $tmparray1[2] + $tmparray2[2]; + + print $langs->trans("UnitPriceOfProduct").": ".(price2num($s1,'MU') + price2num($s2,'MU')); + print " x ".$langs->trans("Quantity").": ".$qty; + print " - ".$langs->trans("VAT").": ".$vat.'%'; + print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$total_ht.' / '.$total_tva.' / '.$total_ttc."<br>\n"; + } +} + +print '<br>'.$langs->trans("VATRoundedOnTotal").'<br><br>'; + +foreach($vat_rates as $vat) +{ + for ($qty=1; $qty<=2; $qty++) + { + $s1=10/3; + $s2=2/7; + + // Global round + $subtotal_ht = (($qty*price2num($s1,'MU')) + ($qty*price2num($s2,'MU'))); + $tmparray3=calcul_price_total(1,$subtotal_ht,0,$vat,0,0,0,'HT',0); + $total_ht = $tmparray3[0]; + $total_tva = $tmparray3[1]; + $total_ttc = $tmparray3[2]; + + print $langs->trans("UnitPriceOfProduct").": ".price2num($s1+$s2,'MU'); print " x ".$langs->trans("Quantity").": ".$qty; print " - ".$langs->trans("VAT").": ".$vat.'%'; - print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$tmparray[0].' / '.$tmparray[1].' / '.$tmparray[2]."<br>\n"; + print " -> ".$langs->trans("TotalPriceAfterRounding").": ".$total_ht.' / '.$total_tva.' / '.$total_ttc."<br>\n"; } } -- GitLab