La numérotation des factures jupiter comptait le nombre de facture et ajouté 1 pour avoir le suivant.
Si une facture était effacée de la base, le comptage renvoyait 1 de moins et le numéro final obtenu donnait un numéro déjà occupé. Il faut donc se base non pas sur le nombre mais sur le max et incrémenté 1 au max du compteur en cours.
This commit is contained in:
parent
d29639e0ce
commit
6166fcd20c
@ -29,15 +29,14 @@ function facture_get_num($objsoc=0)
|
|||||||
$date = strftime("%Y%m", time());
|
$date = strftime("%Y%m", time());
|
||||||
$num=0;
|
$num=0;
|
||||||
|
|
||||||
$sql = "SELECT max(facnumber) FROM llx_facture";
|
$sql = "SELECT max(0+substring(facnumber,8)) FROM llx_facture";
|
||||||
$sql .= " WHERE facnumber like '$prefix".$date."%'";
|
$sql .= " WHERE facnumber like '$prefix".$date."%'";
|
||||||
|
|
||||||
if ( $db->query($sql) )
|
if ( $db->query($sql) )
|
||||||
{
|
{
|
||||||
$row = $db->fetch_row(0);
|
$row = $db->fetch_row(0);
|
||||||
|
|
||||||
$num = $row[0]; # $num vaut F200401XX
|
$num = $row[0];
|
||||||
$num = eregi_replace("$prefix([0-9]{6})","",$num); # $num vaut XX
|
|
||||||
}
|
}
|
||||||
$num++;
|
$num++;
|
||||||
return "$prefix" . $date . $num;
|
return "$prefix" . $date . $num;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user