Erreur de cohérence dépôt ligne sur création de document de stock en V6

SOLVED

Bonjour,

J'ai créé une fonction pour intégrer un fichier csv d'inventaire. J'ai pu faire 2 dépôts sans problème. Mais j'ai une erreur sur les 3 suivants

Erreur de cohérence sur le champ dépôt mouvementé du fichier ligne de document

Mon code

om_ProcDocument = om_BaseCommerciale.CreateProcess_Document(DocumentType.DocumentTypeStockMouvIn);
                            IBODocumentStock3 om_DocumentStock = (IBODocumentStock3)om_ProcDocument.Document;
                            om_DocumentStock.SetDefaultDO_Piece(); // Obligatoire pour recalculer le N° de pièce en fonction de la souche
                            //om_DocumentStock.Collaborateur = om_BaseCommerciale.CptaApplication.FactoryCollaborateur.ReadNomPrenom("TURPIN", "Christophe");
                            om_DocumentStock.SetDefault();
                            om_DocumentStock.DO_Date = new DateTime(2023, 6, 30);
                            string libdep = Entres.First().LibelleDepot;
                            om_DocumentStock.DepotStockage = om_BaseCommerciale.FactoryDepot.ReadIntitule(libdep);
                            om_DocumentStock.DO_Ref = "Inv+ " + libdep.Substring(0,12);

                            foreach (MajInventaire Entre in Entres)
                            {
                                ARref = Entre.Refart;
                                LibGamme = Entre.LibelleGamme;
                                //Ajout d'un article au document par un Factory:
                                IBODocumentStockLigne3 DocLigneStock = (IBODocumentStockLigne3)om_DocumentStock.FactoryDocumentLigne.Create();

                                if (string.IsNullOrWhiteSpace(Entre.LibelleGamme))
                                {
                                    DocLigneStock.SetDefaultArticleReference(Entre.Refart, (double)Entre.Qte);
                                }
                                else
                                {
                                    IBOArticle3 om_Article = om_BaseCommerciale.FactoryArticle.ReadReference(Entre.Refart);
                                    IBOArticleGammeEnum3 om_ArticleGammeEnum1 = om_Article.FactoryArticleGammeEnum1.ReadEnumere(Entre.LibelleGamme);
                                    DocLigneStock.SetDefaultArticleMonoGamme(om_ArticleGammeEnum1, (double)Entre.Qte);
                                }
                                DocLigneStock.DO_Ref = om_DocumentStock.DO_Ref;
                                DocLigneStock.WriteDefault();
                            }

                            if (om_ProcDocument.CanProcess)
                            {
                                om_ProcDocument.Process();// Créé le document dans la base
                                // Récupération de l'entête de document créé (persistant) :
                                var om_DocumentStckPersistant = (IBODocumentStock3)om_ProcDocument.DocumentResult;

                                // Modification de l'information libre entête du document persistant :
                                int nbLignes = om_DocumentStckPersistant.FactoryDocumentLigne.List.Count;
                                Console.WriteLine("Ajout " + om_DocumentStckPersistant.DO_Piece + ":" + nbLignes.ToString() + " Lignes");
                            }
                            else
                            {
                                IFailInfoCol errs = om_ProcDocument.Errors;
                                ret.AddError("Processus d'entrée en stock invalide !");
                                foreach (var err in errs)
                                {
                                    ret.AddError(err.ToString());
                                }
                            }

Là je ne comprends pas... 2 dépôts ok mais les 3 autres fichiers sont exactement pareil. Je passe le canProcess l'erreur se produit sur .process()

Merci de votre aide