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;