OM - rendre objet non persistant
Posté: Mer 23 Nov 2016 11:38
Bonjour,
Je développe ma première application à l'aide des objets métiers, où je dois créée un BL client.
Dans mon cas, je fais appel aux objets métiers pour remonter le prix unitaire d'un article (comme je ne sais pas si le client a ou non un tarif préférentiel, je préfère faire ainsi). Pour y arriver, je fais appel à un processus de création d'un BL client mais je n'exécute pas le processus, j'insère une unique ligne dans mon document de vente avec l'article dont il est question, puis je remonte la valeur du champ "prix unitaire", voici mon code (en vb.net) :
Ce code fonctionne. Là, j'ai voulu ajouter une info libre au niveau de l'entête du document, et là, le vilain message d'erreur qui apparait à l'écran : Ce fichier est en cours d’utilisation !
Quand je ferme mon application, je n'ai pas de problème pour créer mon info libre.
Je pensais instancier mon objet processus de document en faisant
Mais j'ai l'erreur
Vous auriez des suggestions?
Merci
PS: je suis en version 6.0 sur les objets métiers
Je développe ma première application à l'aide des objets métiers, où je dois créée un BL client.
Dans mon cas, je fais appel aux objets métiers pour remonter le prix unitaire d'un article (comme je ne sais pas si le client a ou non un tarif préférentiel, je préfère faire ainsi). Pour y arriver, je fais appel à un processus de création d'un BL client mais je n'exécute pas le processus, j'insère une unique ligne dans mon document de vente avec l'article dont il est question, puis je remonte la valeur du champ "prix unitaire", voici mon code (en vb.net) :
- Code: Tout sélectionner
Public Function GetPrixVente(ByVal _ar_ref As String, ByVal _ct_num As String) As Double
Dim OM_ProcDocVente As Objets100Lib.IPMDocument = Nothing
OM_ProcDocVente = _OM_Gescom.CreateProcess_Document(Objets100Lib.DocumentType.DocumentTypeVenteLivraison)
Dim OM_CLIENT As Objets100Lib.IBOClient3 = _OM_Gescom.CptaApplication.FactoryClient.ReadNumero(_ct_num)
Dim OM_DocVenteEntete As Objets100Lib.IBODocumentVente3 = OM_ProcDocVente.Document
OM_DocVenteEntete.SetDefaultClient(OM_CLIENT)
Dim OM_ARTICLE As Objets100Lib.IBOArticle3 = _OM_Gescom.FactoryArticle.ReadReference(_ar_ref)
OM_ProcDocVente.AddArticle(OM_ARTICLE, 10)
Dim pLig As Objets100Lib.IBODocumentVenteLigne3 = OM_ProcDocVente.Document.FactoryDocumentLigne().List(1)
Return pLig.DL_PrixUnitaire
End Function
Ce code fonctionne. Là, j'ai voulu ajouter une info libre au niveau de l'entête du document, et là, le vilain message d'erreur qui apparait à l'écran : Ce fichier est en cours d’utilisation !
Quand je ferme mon application, je n'ai pas de problème pour créer mon info libre.
Je pensais instancier mon objet processus de document en faisant
- Code: Tout sélectionner
Using OM_Proc As Objets100Lib.IPMDocument = _OM_Gescom.CreateProcess_Document(Objets100Lib.DocumentType.DocumentTypeVenteLivraison)
End Using
Mais j'ai l'erreur
l'opérande 'Using' de type 'IPMDocument' doit implémenter 'System.IDisposable'
Vous auriez des suggestions?
Merci
PS: je suis en version 6.0 sur les objets métiers