Modifications non désirées après import

  • Posts: 119
  • Thank you received: 6
1 year 4 months ago #353359

-- url of the page with the problem -- : boutique2.abbayejouarre.org/accueil
-- HikaShop version -- : 4.7.4
-- Joomla version -- : 4.3.3
-- PHP version -- : 8.1.16

Bonjour,

J'ai migré un site Virtuemart vers Hikashop
J'utilise la fonction import (par csv) pour mettre a jour les prix et les stock. OK
Pour mes produits j'ai
product_dimension_unit=cm
product_weight_unit=g
Que j'ai importé car faux après migration.

Si j'importe que les prix, ces 2 valeurs changent automatiquement en
product_dimension_unit=m
product_weight_unit=kg
??
Mais aussi les Taux de TVA ??

C'est OK si je fais un import global avec
product_id;product_quantity;price_value_with_tax;product_tax_id;product_dimension_unit;product_weight_unit

C'est normal ?

Merci

Cordialement

Bertrand

Last edit: 1 year 3 months ago by tramber91.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 4 months ago #353381

Bonjour,

Le système d'import utilise la fonction REPLACE de MySQL remplacer/créer les produits du CSV dans la base de données. Cela permet d'optimiser le système. Le système d'import est fait principalement pour importer des nouveaux produits ou pour remplacer des produits avec un CSV complet. C'est pour cela que vous avez trouvé ce problème.
Si vous souhaitez mettre à jour uniquement certaines données des produits, il vaut mieux passer par le filtre d'import CSV du système d'action de masse dans le menu Système>Actions de masse.

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

  • Posts: 119
  • Thank you received: 6
1 year 4 months ago #353401

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

  • Posts: 119
  • Thank you received: 6
1 year 3 months ago #353791

Bonjour,

J'ai commencé à tester les import via Action de masse

1er Exemple modif quantité



Avec un CSV tout simple, une valeur
product_id product_quantity
2 6

L'import est OK (la valeur est bien changée) mais j'ai un message d'erreur


??

Sinon, je ne vois pas les prix avec taxe dans la liste des Champs produits (price_value_with_tax) ?
Seulement price_value

Merci

Bertrand

Attachments:
Last edit: 1 year 3 months ago by tramber91.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 3 months ago #353793

Bonjour,

Il n'y a pas de colonne "price_value_with_tax" dans HikaShop.
Les prix sont uniquement sauvegardés sans taxes et la taxe est ensuite calculée dynamiquement en fonction des règles de taxes.
Donc c'est normal.

Pour le message d'erreur, il faudrait l'erreur complète avec le callstack pour pouvoir en dire plus. Pour cela, il faut activer l'option "debug" de la configuration Joomla et refaire la manipulation.

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

  • Posts: 119
  • Thank you received: 6
1 year 3 months ago #353871

OK
Quand on fait un import CSV pour un produit avec une valeur pour l'attribut "price_value_with_tax", le system recalcul le prix pour mettre à jour "price_value". J'ai mon prix TTC avec la valeur demandée (arrondi)

En action de masse, je n'ai accés qu'a "price_value" c'est le systeme qui arrondi le prix TTC ?

Vous me dites bien de préférer l'action de masse.

Pour le message d'erreur j'ai ressayé avec le rapport d'erreur max.
Problematique, suis en php 8, et le site plante à cause de gantry si j'active le rapport d'erreur.
Pour info, j'ai mis la boutique en Live hier
boutique.abbayejouarre.org/
J'ai quand même fait rapidement la manip, et même constat.
Modification sauvegardé, mais même message d'erreur, rien de plus avec le rapport d'erreur en max.
Il y a un fichier quelque part ?

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 3 months ago #353874

Bonjour,

L'import via action de masse va également calculer automatiquement price_value à partir de price_value_with_tax.
Notez cependant que dans ce cas, il faut également spécifier la colonne product_tax_id
Aussi, le système prend en compte l'adresse de l'utilisateur actuellement connecté au backend pour les restrictions de zone sur les règles de taxes lors de ce calcul. Vérifiez que vous avez bien les prix HT / TTC qui sont générés lorsque vous modifiez le prix d'un produit via l'interface du backend.

Pour le message d'erreur, vu que cela vient d'un problème avec une requête MySQL, vous pouvez récupérer plus d'informations dans le log d'erreurs de votre serveur MySQL.
Sinon, vous pouvez également modifier le fichier libraries\vendor\joomla\database\src\Exception\ExecutionFailureException.php et changer la ligne:
parent::__construct($message, 0, $previous);
en:
parent::__construct($message.' '.$query, 0, $previous);
Cela rajoutera la requête MySQL au message d'erreur, et cela devrait aider à identifier où est la requête qui cause problème.

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

  • Posts: 119
  • Thank you received: 6
1 year 3 months ago #353887

L'import via action de masse va également calculer automatiquement price_value à partir de price_value_with_tax


Je ne peux pas choisir via action mass price_value_with_tax car l'attribut n'existe pas?
Je tourne en rond
Donc obligé de passer en Import CSV, Prix TTC + Taux TVA (product_tax_id).

Concernant l'erreur, c'est compliqué, jamais été fort avec les fichiers Log.
Par contre je remarque que j'ai un produit avec ID=0 dans la table produit
C'est normal ??

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

  • Posts: 119
  • Thank you received: 6
1 year 3 months ago #353889

Arrg
Pour l'erreur j'ai compris, je crois que j'ai oublié de mettre une valeur dans les case actions



Mon import change l'ID du produit en 0. !!
Et après cela coince.
Qu'est que je dois mettre dans mes deux cases.

Pour info, j'ai corrigé les ID avec 0 dans la BDD (devait etre 3)

Attachments:

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 3 months ago #353895

Bonjour,

Je ne peux pas choisir via action mass price_value_with_tax car l'attribut n'existe pas?

Il n'y a pas de sélection à faire lorsque vous faites un import de CSV via action de masse. Donc je ne vous suis pas.
Ou alors, voulez vous parler de la sélection de colonne lorsque vous ajoutez un filtre "colonne" ou lorsque vous ajoutez une action "mettre à jour les valeurs" ?
C'est tout à fait normal qu'il n'y ait pas de colonne price_value_with_tax à ce moment vu qu'il n'y a pas de telle colonne dans la base de données.

Mais si je lis entre les lignes de votre message, voulez-vous dire que vous voulez faire une modifications des prix sans faire d'import ? C'est possible, en sélectionnant la colonne price_value dans votre action "mettre à jour les valeurs". Après, quelle valeur remplir dans le champ va dépendre de ce que vous voulez faire exactement. Par exemple, si vous voulez augmenter vos prix de 10% vous pouvez utiliser:
price.price_value*1.1
Que vous ajoutiez 10% au TTC ou 10% au HT, cela ne change rien.

Mon import change l'ID du produit en 0. !!
Et après cela coince.
Qu'est que je dois mettre dans mes deux cases.

Si vous laisser le champ vide alors en effet, HikaShop va utiliser 0. C'est à cause de cela que vous aviez une erreur MySQL car HikaShop va essayer de rajouter des produits avec le product_id or il ne peut y avoir qu'une seule entrée avec l'id 0 dans la base de données.
Mais pourquoi vouloir avoir une action sur la colonne "product_id" ? Je ne pense pas que vous voulez faire cela.
Et d'ailleurs, je ne pense pas que vous voulez modifier le stock du produit alors que vous êtres en train de faire un import de prix, non ?

Si vous voulez juste faire un import de produits, vous voulez laisser la zone "actions" vide.

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

  • Posts: 119
  • Thank you received: 6
1 year 2 months ago #354766

Bonsoir,

Il n'y a pas de sélection à faire lorsque vous faites un import de CSV via action de masse. Donc je ne vous suis pas.


Effectivement sic ... Je m'y perd aussi, Scusi

Donc pour mettre simplement à jour les prix en TTC .
Il faut donc utiliser la fonction import, CSV, avec minimum ces 3 valeurs:
1- product_id (l'ID du produit)
2- price_value_with_tax (Prix TTC)
3- product_tax_id (Code Taxe categorie)

Je ne vois pas l'utilité de "Action de masse" pour ce type d'import.
OK ?

merci

Last edit: 1 year 2 months ago by tramber91.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 2 months ago #354769

Bonjour,

Comme je disais dans www.hikashop.com/forum/5-support-en-fran...s-import.html#353381 le système d'import normal fait un replace des données, et donc il faut un CSV complet des informations du produit si vous voulez faire une mise à jour.
Le filtre d'import de produit via CSV du système d'action de masse permet de faire un vrai import de mise à jour des produits en ne fournissant que les données que vous voulez changer (plus le product_id pour avoir une référence). C'est là l'utilité du système d'action de masse pour ce que vous voulez faire.

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

Time to create page: 0.094 seconds
Powered by Kunena Forum