FIX Default vat is not set correctly when an error occured and we use

VAT identified by a code.
This commit is contained in:
Laurent Destailleur 2016-04-08 19:16:40 +02:00
parent b9ffc18c27
commit cfcbc34972

View File

@ -4137,10 +4137,17 @@ class Form
$return=''; $return='';
// Define defaultnpr and defaultttx // Define defaultnpr, defaultttx and defaultcode
$defaultnpr=($info_bits & 0x01); $defaultnpr=($info_bits & 0x01);
$defaultnpr=(preg_match('/\*/',$selectedrate) ? 1 : $defaultnpr); $defaultnpr=(preg_match('/\*/',$selectedrate) ? 1 : $defaultnpr);
$defaulttx=str_replace('*','',$selectedrate); $defaulttx=str_replace('*','',$selectedrate);
$defaultcode='';
if (preg_match('/\s*\((.*)\)/', $defaulttx, $reg))
{
$defaultcode=$reg[1];
$defaulttx=preg_replace('/\s*\(.*\)/','',$defaulttx);
}
//var_dump($defaulttx.'-'.$defaultnpr.'-'.$defaultcode);
// Check parameters // Check parameters
if (is_object($societe_vendeuse) && ! $societe_vendeuse->country_code) if (is_object($societe_vendeuse) && ! $societe_vendeuse->country_code)
@ -4237,7 +4244,11 @@ class Form
$return.= $rate['nprtva'] ? '*': ''; $return.= $rate['nprtva'] ? '*': '';
if ($addcode && $rate['code']) $return.=' ('.$rate['code'].')'; if ($addcode && $rate['code']) $return.=' ('.$rate['code'].')';
$return.= '"'; $return.= '"';
if ($rate['txtva'] == $defaulttx && $rate['nprtva'] == $defaultnpr) if ($defaultcode)
{
if ($defaultcode == $rate['code']) $return.= ' selected';
}
elseif ($rate['txtva'] == $defaulttx && $rate['nprtva'] == $defaultnpr)
{ {
$return.= ' selected'; $return.= ' selected';
} }