Fix: If a customer has 2000 invoices, creating next one make 2000

requests instead of 1.
This commit is contained in:
Laurent Destailleur 2012-09-27 20:54:04 +02:00
parent a98de7ef02
commit 3a98f6903e
2 changed files with 14 additions and 9 deletions

View File

@ -1851,15 +1851,20 @@ if ($action == 'create')
exit; exit;
} }
$optionsav=""; $optionsav="";
foreach ($facids as $key => $value) $newinvoice_static=new Facture($db);
foreach ($facids as $key => $valarray)
{ {
$newinvoice=new Facture($db); $newinvoice_static->id=$key;
$newinvoice->fetch($key); $newinvoice_static->ref=$valarray['ref'];
$newinvoice_static->statut=$valarray['status'];
$newinvoice_static->type=$valarray['type'];
$newinvoice_static->paye=$valarray['paye'];
$optionsav.='<option value="'.$key.'"'; $optionsav.='<option value="'.$key.'"';
if ($key == $_POST['fac_avoir']) $optionsav.=' selected="selected"'; if ($key == $_POST['fac_avoir']) $optionsav.=' selected="selected"';
$optionsav.='>'; $optionsav.='>';
$optionsav.=$newinvoice->ref; $optionsav.=$newinvoice_static->ref;
$optionsav.=' ('.$newinvoice->getLibStatut(1,$value).')'; $optionsav.=' ('.$newinvoice_static->getLibStatut(1,$valarray['paymentornot']).')';
$optionsav.='</option>'; $optionsav.='</option>';
} }

View File

@ -2618,7 +2618,7 @@ class Facture extends CommonInvoice
* (validee + paiement en cours) ou classee (payee completement ou payee partiellement) + pas deja remplacee + pas deja avoir * (validee + paiement en cours) ou classee (payee completement ou payee partiellement) + pas deja remplacee + pas deja avoir
* *
* @param int $socid Id societe * @param int $socid Id societe
* @return array Tableau des factures ($id => $ref) * @return array Tableau des factures ($id => array('ref'=>,'paymentornot'=>,'status'=>,'paye'=>)
*/ */
function list_qualified_avoir_invoices($socid=0) function list_qualified_avoir_invoices($socid=0)
{ {
@ -2626,7 +2626,7 @@ class Facture extends CommonInvoice
$return = array(); $return = array();
$sql = "SELECT f.rowid as rowid, f.facnumber, f.fk_statut, pf.fk_paiement"; $sql = "SELECT f.rowid as rowid, f.facnumber, f.fk_statut, f.type, f.paye, pf.fk_paiement";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON (f.rowid = ff.fk_facture_source AND ff.type=1)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON (f.rowid = ff.fk_facture_source AND ff.type=1)";
@ -2640,7 +2640,7 @@ class Facture extends CommonInvoice
if ($socid > 0) $sql.=" AND f.fk_soc = ".$socid; if ($socid > 0) $sql.=" AND f.fk_soc = ".$socid;
$sql.= " ORDER BY f.facnumber"; $sql.= " ORDER BY f.facnumber";
dol_syslog(get_class($this)."::list_qualified_avoir_invoices sql=$sql"); dol_syslog(get_class($this)."::list_qualified_avoir_invoices sql=".$sql);
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
@ -2653,7 +2653,7 @@ class Facture extends CommonInvoice
{ {
//$ref=$obj->facnumber; //$ref=$obj->facnumber;
$paymentornot=($obj->fk_paiement?1:0); $paymentornot=($obj->fk_paiement?1:0);
$return[$obj->rowid]=$paymentornot; $return[$obj->rowid]=array('ref'=>$obj->facnumber,'status'=>$obj->fk_statut,'type'=>$obj->type,'paye'=>$obj->paye,'paymentornot'=>$paymentornot);
} }
} }