Jump to content
groussel69

tax_rate à 0 en 1.5

Recommended Posts

Bonjour à tous,

j'ai développé un module pour connaitre le total de TVA par taux

 

En 1.4, ce taux est accessible dans la colonne "tax_rate" de la table "order_detail".

Voyant qu'en 1.5, cette colonne existait toujours, je ne me suis pas posé de questions... Erreur !

cette colonne est toujours présente mais est laissée à 0 (voir issue http://forge.prestashop.com/browse/PSCFV-5071). Maintenant, pour trouver son bonheur, il faut y aller à coup de requête capilotractée car il y a une table de jointure "order_detail_tax" associant un "order_detail" à un "tax".

Share this post


Link to post
Share on other sites

... La suite du message (erreur au post..)

Je n'arrive pas à comprendre ce choix technique.

Une explication, svp ?

De plus, je ne trouve pas de moyen simple pour accéder à ce taux depuis un "order_detail" donné.

Merci de votre aide.

Gérald.

Share this post


Link to post
Share on other sites


select od.*, t.rate

from `'._DB_PREFIX_.'order_detail` od

inner join `'._DB_PREFIX_.'order_detail_tax` odt ON (od.id_order_detail = odt.id_order_detail)

inner join `'._DB_PREFIX_.'tax` t ON (t.id_tax = odt.id_tax)

Share this post


Link to post
Share on other sites

Bonsoir,

Merci doekia pour cette petite requète (que j'avais trouvé entre temps...).

Je ne comprends toujours pas ce choix technique de permettre d'avoir une jointure décrivant ainsi une possibilité d'avoir plusieurs taux pour un order_detail, ce qui n'est pas possible dans le cadre d'une commande.

Je me trompe ?

Share this post


Link to post
Share on other sites

On passe par l'id_tax ce qui permet de jongler avec des taux différent en fonction de pays, type de client, ...

Le taux est une chose, la taxe concernée une autre ...

Share this post


Link to post
Share on other sites

Bonjour,

La fonction la plus simple pour récuperer le tax rate en 1.5 est :

   $taxRate=Tax::getProductTaxRate($Product['id_product'], NULL);

 

Dans la classe tax, tu as ces deux fonctions qui peuvent t'aider :

function getProductTaxRateViaRules($id_product, $id_country, $id_state, $zipcode)

ou

function getProductTaxRate($id_product, $id_address = null, Context $context = null)

         

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More