From 93d3ffb06fdeb1170ccba075ee3225d23ee2d9f0 Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Fri, 16 Jan 2015 17:59:58 +0100 Subject: [PATCH] Fix: PostgreSQL compatibilty Conflicts: htdocs/compta/prelevement/class/bonprelevement.class.php --- .../class/bonprelevement.class.php | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 457209c5e7641..724c2dc9a640a 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -893,31 +893,31 @@ function Create($banque=0, $agence=0, $mode='real') */ if (!$error) { - $ref = "T".substr($year,-2).$month; - - $sql = "SELECT CAST(RIGHT(ref,2) AS SIGNED INTEGER)"; - $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons"; - $sql.= " WHERE ref LIKE '".$ref."%'"; - $sql.= " AND entity = ".$conf->entity; - $sql.= " ORDER BY ref DESC LIMIT 1"; - - dol_syslog(get_class($this)."::Create", LOG_DEBUG); - $resql = $this->db->query($sql); - - if ($resql) - { - $row = $this->db->fetch_row($resql); - } - else - { - $error++; - dol_syslog("Erreur recherche reference"); - } - - $ref = $ref . substr("00".($row[0]+1), -2); + $ref = substr($year,-2).$month; + + $sql = "SELECT substring(ref from char_length(ref) - 1)"; + $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons"; + $sql.= " WHERE ref LIKE '%".$ref."%'"; + $sql.= " AND entity = ".$conf->entity; + $sql.= " ORDER BY ref DESC LIMIT 1"; + + dol_syslog(get_class($this)."::Create sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + + if ($resql) + { + $row = $this->db->fetch_row($resql); + } + else + { + $error++; + dol_syslog("Erreur recherche reference"); + } - $filebonprev = $ref; + $ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1),2,"0",STR_PAD_LEFT); + $filebonprev = $ref; + // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; $sql.= " ref, entity, datec";