Action de masse relative aux commandes

  • Posts: 64
  • Thank you received: 2
  • Hikashop Business
4 years 9 months ago #308646

-- 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..

Attachments:

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

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
4 years 9 months ago #308675

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.

  • Posts: 64
  • Thank you received: 2
  • Hikashop Business
4 years 9 months ago #308678

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.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
4 years 9 months ago #308687

Bonjour,

Changez le 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:
									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.

  • Posts: 64
  • Thank you received: 2
  • Hikashop Business
4 years 9 months ago #308725

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.

  • Posts: 81539
  • Thank you received: 13069
  • MODERATOR
4 years 9 months ago #308738

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.067 seconds
Powered by Kunena Forum