Jump to content

Personnaliser son N° de AVOIR


Recommended Posts

  • 2 weeks later...

Je vais encore répondre à mon post Tout seul ...

ALTER TABLE `ps_order_slip` CHANGE `id_order_slip` `id_order_slip` BIGINT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
ALTER TABLE `ps_order_slip_detail` CHANGE `id_order_slip` `id_order_slip` BIGINT( 10 ) UNSIGNED NOT NULL 



ça c'est pour passer en Bigint .... mais peut-être pas la bonne voie si je veux taper dans les mêmes numéros que les factures ...


Ce que je vais tenter de faire, c'est d'assimiler le numéro de facture suivant au numéro autoincrémenter du SLIP (Avoir)


Fichier OrderSlip.php dans class

public function getFields()
   {
       parent::validateFields();
       //#AVOIR
   //#FACTURE
       $InvoiceNumberString = Configuration::get('PS_INVOICE_NUMBER'); // Récupère le nouveau numéro
       $InvoiceNumber = substr ( $InvoiceNumberString , 6 ); // Extrait le numéro de Facture
   $MonthNumber = substr ( $InvoiceNumberString , 4, 2 ); // Récupère le Mois
   $YearNumber = substr ( $InvoiceNumberString , 0, 4 ); // Récupère l'Année
   if ( ($MonthNumber != date("m")) || ($YearNumber != date("Y"))){ $InvoiceNumber =1 ;} // Change de mois ou d'année, ou passe à 1
   $InvoiceNumberString = date("Ym"). str_repeat("0", (4 - strlen ("$InvoiceNumber"))). $InvoiceNumber; // Reconstruit le numéro de facture avec la date
       // On incrémente le numéro
       $InvoiceNumber = $InvoiceNumber + 1;
       // Met à jour le prochain numéro
       Configuration::updateValue('PS_INVOICE_NUMBER', date("Ym"). str_repeat("0", (4 - strlen ("$InvoiceNumber"))) . $InvoiceNumber );
   $fields['id_order_slip'] = "$InvoiceNumberString"; // Récupère le numéro de facture
       $fields['id_customer'] = intval($this->id_customer);
       //#COMMANDE
       //$fields['id_order'] = intval($this->id_order);
       $fields['id_order'] = $this->id_order ;
       $fields['shipping_cost'] = intval($this->shipping_cost);
       $fields['date_add'] = pSQL($this->date_add);
       $fields['date_upd'] = pSQL($this->date_upd);
       return $fields;
   }




Seul soucis, on n'a pas le droit de détruire une facture émise, donc pas le droit de détruire un avoir, sinon, trou dans la numérotation !

En souhaitant que cela serve à quelqu'un ;)

ça m'a couté un dimanche après midi (soit 4heures quand même !)

Cordialement

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...