L'état du stock de l'article XXXX ne permet pas de créer la ligne

Créé par Nicolas BLC, Modifié le  Jeu, 15 Mai à 11:28 H par  Nicolas BLC

Lorsqu'une erreur arrive depuis le B2B comme celle-ci dessous avec  le message "L'état du stock de l'article XXXX ne permet de créer la ligne", cela signifie qu'une commande n'a pas été importée dans Sage car un article de celle-ci n'était pas disponible dans Sage lors de son import.
Il va donc falloir se connecter à la base B2B du client pour forcer son réimport.

Par ex, pour drinkeat, la base B2B s'appelle DrinkEAT_B2B et vous avez une table Order qui stocke les commandes passées sur le site
Elles sont ensuite intégrées dans Sage via une tâche planifiée et si l'import crée un BL et que l'article n'a pas assez de stock alors son import est bloquée


Il suffit alors d'afficher les commandes via la requête ci dessous pour retrouver celle qui est restée bloqué
select * from [order]
order by id desc

Et dans l'exemple si on regarde la colonne "ProcessMessage" on va retrouver la commande en erreur
Pour les autres commande cette colonne affichera le numéro du document créé dans Sage comme vous pouvez le voir sur la copie d'écran ci-dessous

Avant de forcer le réimport il va falloir modifier le contenu de la commande pour enlever l'article qui pose problème (celui qui apparait dans le message d'erreur).

Pour cela il suffit de copier/coller le contenu de la colonne OrderDetail dans Notepad++ par exemple, et formater l'affichage en JSON pour que ce soit facilement lisible via le menu "Module d'extension" "JSON Viewer" "Format JSON (car après le copier/coller vous aurez tout sur un même ligne)

PS : cette fonction est une extension à installer dans Notepad++ si vous ne l'avez pas



Il suffit alors d'aller chercher dans le fichier l'article qui pose problème simplement, dans notre exemple ce sera l'article SOFCANCANBUBGUM33

Il suffit alors de supprimer tout le bloc de cet article de { à },



Copier ensuite le contenu du JSON (Ctrl A puis Ctrl C)

Et donc pour forcer le réimport dans Sage de cette commande, il suffit de remettre à NULL les colonnes "ProcessDate" et "ProcessMessage" sur la commande en question ainsi que le nouveau contenu copié de la colonne OrderDetail


Vous pouvez le faire via la requête :
update [order]
set 

OrderDetail = 'Contenu de votre fichier JSON corrigé'

ProcessDate=NULL, 
ProcessMessage=NULL
where id =XXX --Remplacer XXX par l'id de la commande en erreur

La tâche planifiée réimportera cette commande lors de sa prochaine éxécution

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons
La vérification CAPTCHA est requise.

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article