Fix generation of RUM number. Show it on card to help debug.
This commit is contained in:
parent
a169b3348e
commit
d847f9581e
@ -1300,7 +1300,7 @@ class BonPrelevement extends CommonObject
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $ListOfFactures, $obj->idfac, $obj->iban, $obj->bic, $obj->datec, $obj->drum);
|
||||
$fileDebiteurSection .= $this->EnregDestinataireSEPA($obj->code, $obj->nom, $obj->address, $obj->zip, $obj->town, $obj->country_code, $obj->cb, $obj->cg, $obj->cc, $obj->somme, $ListOfFactures, $obj->idfac, $obj->iban, $obj->bic, $this->db->jdate($obj->datec), $obj->drum);
|
||||
$this->total = $this->total + $obj->somme;
|
||||
$i++;
|
||||
}
|
||||
@ -1502,6 +1502,20 @@ class BonPrelevement extends CommonObject
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build RUM number for a customer bank account
|
||||
*
|
||||
* @param string $row_code_client Customer code (soc.code_client)
|
||||
* @param int $row_datec Creation date of bank account (rib.datec)
|
||||
* @param string $row_drum Id of customer bank account (rib.rowid)
|
||||
* @return string RUM number
|
||||
*/
|
||||
static function buildRumNumber($row_code_client, $row_datec, $row_drum)
|
||||
{
|
||||
$pre = ($row_datec > 1359673200) ? 'Rum' : '++R';
|
||||
return $pre.$row_code_client.'-'.$row_drum.'-'.date('U', $row_datec);
|
||||
}
|
||||
|
||||
/**
|
||||
* Write recipient of request (customer)
|
||||
*
|
||||
@ -1520,7 +1534,7 @@ class BonPrelevement extends CommonObject
|
||||
* @param string $row_iban rib.iban_prefix AS iban,
|
||||
* @param string $row_bic rib.bic AS bic,
|
||||
* @param string $row_datec rib.datec,
|
||||
* @param string $row_drum rib.rowid AS drum
|
||||
* @param string $row_drum rib.rowid used to generate rum
|
||||
* @return string Return string with SEPA part DrctDbtTxInf
|
||||
*/
|
||||
function EnregDestinataireSEPA($row_code_client, $row_nom, $row_address, $row_zip, $row_town, $row_country_code, $row_cb, $row_cg, $row_cc, $row_somme, $row_facnumber, $row_idfac, $row_iban, $row_bic, $row_datec, $row_drum)
|
||||
@ -1530,10 +1544,11 @@ class BonPrelevement extends CommonObject
|
||||
|
||||
// Define value for RUM
|
||||
// Example: RUMCustomerCode-CustomerBankAccountId-01424448606 (note: Date is date of creation of CustomerBankAccountId)
|
||||
$Date_Rum = strtotime($row_datec);
|
||||
$Rum = $this->buildRumNumber($row_code_client, $row_datec, $row_drum);
|
||||
|
||||
// Define date of RUM signature
|
||||
$DtOfSgntr = dol_print_date($row_datec, '%Y-%m-%d');
|
||||
$pre = ($date_Rum > 1359673200) ? 'Rum' : '++R';
|
||||
$Rum = $pre.$row_code_client.$row_drum.'-0'.date('U', $Date_Rum);
|
||||
|
||||
$XML_DEBITOR ='';
|
||||
$XML_DEBITOR .=' <DrctDbtTxInf>'.$CrLf;
|
||||
$XML_DEBITOR .=' <PmtId>'.$CrLf;
|
||||
|
||||
@ -49,6 +49,10 @@ class CompanyBankAccount extends Account
|
||||
var $owner_address;
|
||||
var $default_rib;
|
||||
|
||||
var $datec;
|
||||
var $datem;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -174,7 +178,7 @@ class CompanyBankAccount extends Account
|
||||
{
|
||||
if (empty($id) && empty($socid)) return -1;
|
||||
|
||||
$sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address, default_rib, label";
|
||||
$sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address, default_rib, label, datec, tms as datem";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe_rib";
|
||||
if ($id) $sql.= " WHERE rowid = ".$id;
|
||||
if ($socid) $sql.= " WHERE fk_soc = ".$socid." AND default_rib = 1";
|
||||
@ -200,6 +204,8 @@ class CompanyBankAccount extends Account
|
||||
$this->owner_address = $obj->owner_address;
|
||||
$this->label = $obj->label;
|
||||
$this->default_rib = $obj->default_rib;
|
||||
$this->datec = $this->db->jdate($obj->datec);
|
||||
$this->datem = $this->db->jdate($obj->datem);
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
|
||||
@ -29,6 +29,7 @@ require '../main.inc.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php';
|
||||
require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php';
|
||||
|
||||
$langs->load("companies");
|
||||
$langs->load("commercial");
|
||||
@ -191,6 +192,7 @@ if ($action == 'confirm_delete' && $_GET['confirm'] == 'yes')
|
||||
*/
|
||||
|
||||
$form = new Form($db);
|
||||
$prelevement = new BonPrelevement($db);
|
||||
|
||||
llxHeader();
|
||||
|
||||
@ -320,11 +322,11 @@ if ($socid && $action != 'edit' && $action != "create")
|
||||
|
||||
print "<br>";
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* List of bank accounts
|
||||
*/
|
||||
|
||||
|
||||
print_titre($langs->trans("AllRIB"));
|
||||
|
||||
$rib_list = $soc->get_all_rib();
|
||||
@ -339,6 +341,10 @@ if ($socid && $action != 'edit' && $action != "create")
|
||||
print_liste_field_titre($langs->trans("RIB"));
|
||||
print_liste_field_titre($langs->trans("IBAN"));
|
||||
print_liste_field_titre($langs->trans("BIC"));
|
||||
if (! empty($conf->prelevement->enabled))
|
||||
{
|
||||
print '<td>RUM</td>';
|
||||
}
|
||||
print_liste_field_titre($langs->trans("DefaultRIB"), '', '', '', '', 'align="center"');
|
||||
print '<td width="40"></td>';
|
||||
print '</tr>';
|
||||
@ -356,6 +362,12 @@ if ($socid && $action != 'edit' && $action != "create")
|
||||
print '<td>'.$rib->iban.'</td>';
|
||||
// BIC
|
||||
print '<td>'.$rib->bic.'</td>';
|
||||
|
||||
if (! empty($conf->prelevement->enabled))
|
||||
{
|
||||
print '<td>'.$prelevement->buildRumNumber($soc->code_client, $rib->datec, $rib->id).'</td>';
|
||||
}
|
||||
|
||||
// Default
|
||||
print '<td align="center" width="70">';
|
||||
if (!$rib->default_rib) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user