diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 2d5eaebf8e9..2f7db2cc226 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -37,6 +37,7 @@ class RemiseCheque extends CommonObject var $id; var $num; var $intitule; + var $ref_ext; //! Numero d'erreur Plage 1024-1279 var $errno; @@ -63,7 +64,7 @@ class RemiseCheque extends CommonObject { global $conf; - $sql = "SELECT bc.rowid, bc.datec, bc.fk_user_author, bc.fk_bank_account, bc.amount, bc.number, bc.statut, bc.nbcheque"; + $sql = "SELECT bc.rowid, bc.datec, bc.fk_user_author, bc.fk_bank_account, bc.amount, bc.number, bc.statut, bc.nbcheque, bc.ref_ext"; $sql.= ", bc.date_bordereau as date_bordereau"; $sql.= ", ba.label as account_label"; $sql.= " FROM ".MAIN_DB_PREFIX."bordereau_cheque as bc"; @@ -86,6 +87,7 @@ class RemiseCheque extends CommonObject $this->author_id = $obj->fk_user_author; $this->nbcheque = $obj->nbcheque; $this->statut = $obj->statut; + $this->ref_ext = $obj->ref_ext; if ($this->statut == 0) { @@ -139,6 +141,7 @@ class RemiseCheque extends CommonObject $sql.= ", number"; $sql.= ", entity"; $sql.= ", nbcheque"; + $sql.= ", ref_ext"; $sql.= ") VALUES ("; $sql.= $this->db->idate($now); $sql.= ", ".$this->db->idate($now); @@ -149,6 +152,7 @@ class RemiseCheque extends CommonObject $sql.= ", 0"; $sql.= ", ".$conf->entity; $sql.= ", 0"; + $sql.= ", ''"; $sql.= ")"; dol_syslog("RemiseCheque::Create sql=".$sql, LOG_DEBUG); @@ -720,6 +724,41 @@ class RemiseCheque extends CommonObject return -2; } } + + /** + * Set the external ref + * + * @param User $user Object user + * @param timestamp $ref_rext External ref + * @return int <0 if KO, >0 if OK + */ + function set_ref_ext($user, $ref_ext) + { + if ($user->rights->banque->cheque) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."bordereau_cheque"; + $sql.= " SET ref_ext = '".$ref_ext."'"; + $sql.= " WHERE rowid = ".$this->id; + + dol_syslog("RemiseCheque::set_ref_ext sql=$sql",LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->ref_ext = $ref_ext; + return 1; + } + else + { + $this->error=$this->db->error(); + dol_syslog("RemiseCheque::set_ref_ext ".$this->error,LOG_ERR); + return -1; + } + } + else + { + return -2; + } + } /** diff --git a/htdocs/compta/paiement/cheque/fiche.php b/htdocs/compta/paiement/cheque/fiche.php index 7cf5d15f3a2..ff20fe04fea 100644 --- a/htdocs/compta/paiement/cheque/fiche.php +++ b/htdocs/compta/paiement/cheque/fiche.php @@ -89,6 +89,29 @@ if ($action == 'setdate' && $user->rights->banque->cheque) } } +/* + * Actions + */ + +if ($action == 'setrefext' && $user->rights->banque->cheque) +{ + $result = $object->fetch(GETPOST('id','int')); + if ($result > 0) + { + $ref_ext = GETPOST('ref_ext'); + + $result=$object->set_ref_ext($user, $ref_ext); + if ($result < 0) + { + $mesg='
| '; + print $langs->trans('RefExt'); + print ' | '; + if ($action != 'editrefext') print 'id.'">'.img_edit($langs->trans('SetRefExt'),1).' | '; + print '