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