Skip to main content

Action de masse relative aux commandes

More
7 years 2 months ago #308646 by Nicole
-- HikaShop version -- : 4.1.0
-- Joomla version -- : 3.9.10
-- PHP version -- : 7.3.7

Bonjour,
L'action de masse relative aux commandes remplit correctement tous les champs, exceptés ceux relatifs à la TVA 20%
Lorsque la commande intègre des produits avec 2 TVA distinctes, 20% et 5.5% les deux champs sont bien renseignés: order_tax_amount0 et order_tax_amount1.
Mais si la commande ne comporte que des produits à 20%, le champ correspondant: order_tax_amount0 reste vide, pourtant la facture elle mentionne correctement la TVA à 20%
Voir copie écran.
Merci pour vos conseils..

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308675 by nicolas
Bonjour,

Je ne sais pas comment est configurée votre action de masse qui rempli ces champs de difficile de dire quoi que ce soit.
Pourriez-vous fournir une capture d'écran des options de l'action de masse ?

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308678 by Nicole
Je ne peux pas prendre d'impression d'écran de la configuration car il faut beaucoup scroller pour récupérer tous les champs cochés.
Vous pourriez plus simplement y accéder par le backend avec les codes que je vous transmet pas courrier.
Merci

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308687 by nicolas
Bonjour,

Changez le code:
Code:
if(isset($action['order']['order_tax_amount']) && !empty($order_taxes)){ if(count($order_taxes) == 1){ $order_tax = reset($order_taxes); $params->elements[$i]->order_tax_amount = $order_tax->tax_amount; }else{ unset($params->action['order']['order_tax_amount']); $j = 0; foreach($order_taxes as $tax){ $name = 'order_tax_amount'.$j; $params->elements[$i]->$name = $tax->tax_amount; $params->action['order']['order_tax_amount'.$j] = 'order_tax_amount'.$j; $params->lock['order']['order_tax_amount'.$j] = new stdClass(); $params->lock['order']['order_tax_amount'.$j]->column = true; $params->lock['order']['order_tax_amount'.$j]->square = true; $params->lock['order']['order_tax_amount'.$j]->ids = 'all'; $j++; } } } // Manage the order tax namekey if(isset($action['order']['order_tax_namekey'])){ if(count($order_taxes) == 1){ $order_tax = reset($order_taxes); $params->elements[$i]->order_tax_namekey = $order_tax->tax_namekey; }else{ unset($params->action['order']['order_tax_namekey']); $j = 0; foreach($order_taxes as $element){ $name = 'order_tax_namekey'.$j; $params->elements[$i]->$name = $element->tax_namekey; $params->action['order']['order_tax_namekey'.$j] = 'order_tax_namekey'.$j; $params->lock['order']['order_tax_namekey'.$j] = new stdClass(); $params->lock['order']['order_tax_namekey'.$j]->column = true; $params->lock['order']['order_tax_namekey'.$j]->square = true; $params->lock['order']['order_tax_namekey'.$j]->ids = 'all'; $j++; } } }
en:
Code:
if(isset($action['order']['order_tax_amount']) && !empty($order_taxes)){ $j = 0; $params->elements[$i]->order_tax_amount = 0; foreach($order_taxes as $tax){ $name = 'order_tax_amount_'.str_replace(array(' ', '(', ')', '%'), '', $tax->tax_namekey); $params->elements[$i]->$name = $tax->tax_amount; $params->elements[$i]->order_tax_amount += $tax->tax_amount; $params->action['order'][$name] = $name; $params->lock['order'][$name] = new stdClass(); $params->lock['order'][$name]->column = true; $params->lock['order'][$name]->square = true; $params->lock['order'][$name]->ids = 'all'; $j++; } } // Manage the order tax namekey if(isset($action['order']['order_tax_namekey'])){ if(count($order_taxes) == 1){ $order_tax = reset($order_taxes); $params->elements[$i]->order_tax_namekey = $order_tax->tax_namekey; }else{ $j = 0; $params->elements[$i]->order_tax_namekey = ''; foreach($order_taxes as $element){ $name = 'order_tax_namekey'.$j; $params->elements[$i]->$name = $element->tax_namekey; $params->elements[$i]->order_tax_namekey.= $element->tax_namekey. ' '; $params->action['order']['order_tax_namekey'.$j] = 'order_tax_namekey'.$j; $params->lock['order']['order_tax_namekey'.$j] = new stdClass(); $params->lock['order']['order_tax_namekey'.$j]->column = true; $params->lock['order']['order_tax_namekey'.$j]->square = true; $params->lock['order']['order_tax_namekey'.$j]->ids = 'all'; $j++; } trim($params->elements[$i]->order_tax_namekey); } }
dans le fichier administrator/components/com_hikashop/classes/massaction.php et cela devrait fonctionner.

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308725 by Nicole
Nicolas c'est SUPER tout est OK
Vraiment on ne peut que rendre hommage à une telle réactivité associé à une grande compétence.
Merci à vous et votre équipe
The following user(s) said Thank You: nicolas

Please Log in or Create an account to join the conversation.

More
7 years 2 months ago #308738 by nicolas
Merci ! Si ce n'est déjà fait, n'hésitez pas à mettre un message sur le JED pour HikaShop:
extensions.joomla.org/extensions/extensi...pping-cart/hikashop/
:)

Please Log in or Create an account to join the conversation.

Time to create page: 0.336 seconds
Powered by Kunena Forum