diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php index e2a5e846b0a..d27769e28a2 100644 --- a/htdocs/compta/prelevement/card.php +++ b/htdocs/compta/prelevement/card.php @@ -190,7 +190,7 @@ if ($id > 0) print '
'; print $langs->trans("WithdrawalFile").''; - $relativepath = 'receipts/'.$bon->ref; + $relativepath = 'receipts/'.$bon->ref.'.xml'; print ''.$relativepath.''; print '
'; diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index eb0344d7010..e82e196fe99 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -914,9 +914,9 @@ class BonPrelevement extends CommonObject dol_syslog("Erreur recherche reference"); } - $ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1),2,"0",STR_PAD_LEFT); + $ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1,0,2),2,"0",STR_PAD_LEFT); - $filebonprev = $ref; + $this->filename = $conf->prelevement->dir_output.'/receipts/'.$ref.'.xml'; // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; @@ -932,14 +932,11 @@ class BonPrelevement extends CommonObject if ($resql) { - $prev_id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); $dir=$conf->prelevement->dir_output.'/receipts'; $file=$filebonprev; if (! is_dir($dir)) dol_mkdir($dir); - - $bonprev = new BonPrelevement($this->db, $dir."/".$file); - $bonprev->id = $prev_id; } else { @@ -972,7 +969,7 @@ class BonPrelevement extends CommonObject * $fac[8] : client nom * $fac[2] : client id */ - $ri = $bonprev->AddFacture($fac[0], $fac[2], $fac[8], $fac[7], $fac[3], $fac[4], $fac[5], $fac[6]); + $ri = $this->AddFacture($fac[0], $fac[2], $fac[8], $fac[7], $fac[3], $fac[4], $fac[5], $fac[6]); if ($ri <> 0) { $error++; @@ -982,7 +979,7 @@ class BonPrelevement extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande"; $sql.= " SET traite = 1"; $sql.= ", date_traite = '".$this->db->idate($now)."'"; - $sql.= ", fk_prelevement_bons = ".$prev_id; + $sql.= ", fk_prelevement_bons = ".$this->id; $sql.= " WHERE rowid = ".$fac[1]; dol_syslog(get_class($this)."::Create", LOG_DEBUG); @@ -1010,24 +1007,24 @@ class BonPrelevement extends CommonObject if (count($factures_prev) > 0) { - $bonprev->date_echeance = $datetimeprev; - $bonprev->reference_remise = $ref; + $this->date_echeance = $datetimeprev; + $this->reference_remise = $ref; - $bonprev->numero_national_emetteur = $conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR; - $bonprev->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE; + $this->numero_national_emetteur = $conf->global->PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR; + $this->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE; - $bonprev->emetteur_code_banque = $conf->global->PRELEVEMENT_CODE_BANQUE; - $bonprev->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET; - $bonprev->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE; - $bonprev->emetteur_number_key = $conf->global->PRELEVEMENT_NUMBER_KEY; - $bonprev->emetteur_iban = $conf->global->PRELEVEMENT_IBAN; - $bonprev->emetteur_bic = $conf->global->PRELEVEMENT_BIC; - $bonprev->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // TODO Add this into setup of admin/prelevement.php. Ex: PRELEVEMENT_ICS = "FR78ZZZ123456"; + $this->emetteur_code_banque = $conf->global->PRELEVEMENT_CODE_BANQUE; + $this->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET; + $this->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE; + $this->emetteur_number_key = $conf->global->PRELEVEMENT_NUMBER_KEY; + $this->emetteur_iban = $conf->global->PRELEVEMENT_IBAN; + $this->emetteur_bic = $conf->global->PRELEVEMENT_BIC; + $this->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // TODO Add this into setup of admin/prelevement.php. Ex: PRELEVEMENT_ICS = "FR78ZZZ123456"; - $bonprev->factures = $factures_prev_id; + $this->factures = $factures_prev_id; // Generation of SEPA file - $bonprev->generate(); + $this->generate(); } dol_syslog($filebonprev); dol_syslog("Fin prelevement"); @@ -1037,8 +1034,8 @@ class BonPrelevement extends CommonObject * Update total */ $sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_bons"; - $sql.= " SET amount = ".price2num($bonprev->total); - $sql.= " WHERE rowid = ".$prev_id; + $sql.= " SET amount = ".price2num($this->total); + $sql.= " WHERE rowid = ".$this->id; $sql.= " AND entity = ".$conf->entity; dol_syslog(get_class($this)."::Create", LOG_DEBUG); @@ -1275,7 +1272,7 @@ class BonPrelevement extends CommonObject } } - $sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, soc.datec, p.code as country_code,"; + $sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, rib.datec, c.code as country_code,"; $sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,"; $sql.= " f.facnumber as fac, pf.fk_facture as idfac, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum"; $sql.= " FROM"; @@ -1334,7 +1331,7 @@ class BonPrelevement extends CommonObject fputs($this->file, ' '.$i.''.$CrLf); fputs($this->file, ' '.$this->total.''.$CrLf); fputs($this->file, ' '.$CrLf); - fputs($this->file, ' '.$this->raison_sociale.''.$CrLf); + fputs($this->file, ' '.strtoupper(dol_string_unaccent($this->raison_sociale)).''.$CrLf); fputs($this->file, ' '.$CrLf); fputs($this->file, ' '.$CrLf); fputs($this->file, ' '.$CrLf); @@ -1571,7 +1568,7 @@ class BonPrelevement extends CommonObject $XML_DEBITOR .=' '.strtoupper(dol_string_unaccent($row_nom)).''.$CrLf; $XML_DEBITOR .=' '.$CrLf; $XML_DEBITOR .=' '.$row_country_code.''.$CrLf; - $XML_DEBITOR .=' '.strtr($row_address, array(CHR(13) => ", ", CHR(10) => "")).''.$CrLf; + $XML_DEBITOR .=' '.dol_string_unaccent(strtr($row_address, array(CHR(13) => ", ", CHR(10) => ""))).''.$CrLf; $XML_DEBITOR .=' '.dol_string_unaccent($row_zip.' '.$row_town).''.$CrLf; $XML_DEBITOR .=' '.$CrLf; $XML_DEBITOR .=' '.$CrLf; @@ -1698,7 +1695,6 @@ class BonPrelevement extends CommonObject $XML_SEPA_INFO .= ' '.$nombre.''.$CrLf; $XML_SEPA_INFO .= ' '.$total.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' NORM'.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' SEPA'.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; @@ -1709,11 +1705,11 @@ class BonPrelevement extends CommonObject $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$dateTime_ETAD.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->PRELEVEMENT_RAISON_SOCIALE.''.$CrLf; + $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($configuration->global->PRELEVEMENT_RAISON_SOCIALE)).''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$country[1].''.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->MAIN_INFO_SOCIETE_ADDRESS.''.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->MAIN_INFO_SOCIETE_ZIP.' '.$configuration->global->MAIN_INFO_SOCIETE_TOWN.''.$CrLf; + $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($configuration->global->MAIN_INFO_SOCIETE_ADDRESS)).''.$CrLf; + $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($configuration->global->MAIN_INFO_SOCIETE_ZIP.' '.$configuration->global->MAIN_INFO_SOCIETE_TOWN)).''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf;