Transformation d'un document de vente

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Transformation d'un document de vente

de herveH » Ven 7 Déc 2018 16:35

Bonjour à tous ,

J'utilise depuis peu les objets métiers avec WINDEV.
Tout est en dernière version (Windev , SAGE , OM)

Je veux transformer un document de vente. (EX. PL en BL ) tout est OK la transformation se fait bien ...
sauf que j'aimerai récupérer le F_DOCENTETE.DO_PIECE du BL qui vient d'être crée.

Comment faire ? (avec les OM si possible)

Merci de votre aide

Hervé
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Ven 7 Déc 2018 16:25

Re: Transformation d'un document de vente

de romulus001 » Ven 18 Jan 2019 15:45

Bonjour, je ne fais pas appel aux objets métiers en wlangage (car trop galère) mais en vb.net.

En lisant la doc SAGE sur les objets métiers, vous pouvez trouver cet exemple qui permet de faire cette transformation et de récupérer les numéros des documents générés :

Code: Tout sélectionner
Module ProcessusVenteCommander_1LigneDeToNewBc
'Objet base commerciale
Dim oCial As BSCIALApplication3
'emplacement du fichier commercial
Dim sPathGcm As String = "C:\Temp\Bijou.gcm"
Sub Main()
Try
'Instanciation de l'objet base commercial
oCial = New BSCIALApplication3
'Ouv erture de la base
If OpenBase(oCial, sPathGcm) Then
'Création du processus Commander
Dim pTransfo As IPMDocTransformer = oCial.Transformation.Vente.CreateProcess_Commander
'Si le dev is DE00036 existe
If oCial.FactoryDocumentVente.ExistPiece(DocumentTy pe.DocumentTypeVenteDevis, "DE00036") Then
'Sélection du dev is DE00036
Dim pDoc As IBODocumentVente3 = oCial.FactoryDocumentVente.ReadPiece(DocumentType.DocumentTypeVenteDevis, "DE00036")
'Si le document contient au moins une ligne
If pDoc.FactoryDocumentLigne.List.Count > 0 Then
'Sélection de la première ligne du devis
Dim pLig As IBODocumentVenteLigne3 = pDoc.FactoryDocumentLigne.List(1)
'Ajout de la ligne au process
pTransfo.AddDocumentLigne(pLig)
'Test pour savoir si le processus peut être v alidé
If pTransfo.CanProcess Then
'Validation du processus
pTransfo.Process()
'Affichage du numéro de pièce du document créé
'par le processus de transformation
Console.WriteLine("Ligne transformée dans le document " & CType(pTransfo.ListDocumentsResult(1), IBODocumentVente3).DO_Piece)
Else
'Traitement de récupération des erreurs
RecupError(CType(pTransfo, IPMProcess))
End If
End If
End If
End If

Catch ex As Exception
Console.WriteLine("Erreur : " & ex .Message)
Finally
'Fermeture de la connexion
CloseBase(oCial)
End Try
End Sub


Si cela peut vous aider.
Super Contributeur
Super Contributeur
 
Messages: 176
Inscription: Sam 28 Juin 2014 20:48

Re: Transformation d'un document de vente

de yvestn » Mer 23 Jan 2019 18:27

Bonjour,
j'ai deux objets automations
paut_Commande est un objet Automation dynamique (Document vente à transformer)
paut_ProcessusDeTransformation est un objet Automation dynamique (Document Transformer)
Voici le code de transformation et de la récupération du numéro

SI PAS BaseCommercial>>FactoryDocumentVente>>ExistPiece(10, s_NumeroPieceDocument) ALORS
RENVOYER Faux
SINON
// On se place sur la commande
paut_Commande = BaseCommercial>>FactoryDocumentVente>>ReadPiece(som_DocumentTypeVenteCommande,s_NumeroPieceDocument)
SI paut_Commande = Null ALORS
RENVOYER Faux
SINON
SI paut_Commande>>DO_PIECE() <> chaineVide ALORS
//Transformation
paut_ProcessusDeTransformation = BaseCommercial>>Transformation>>Vente>>CreateProcess_Livrer()
//Processus
paut_ProcessusDeTransformation>>AddDocument(paut_Commande)

QUAND EXCEPTION DANS
SI paut_ProcessusDeTransformation>>CanProcess() ALORS
paut_ProcessusDeTransformation>>Process()
SINON
RENVOYER Faux
FIN
FAIRE
RENVOYER Faux
FIN
FIN
FIN
// //Numero de BL
s_NumeroBonLivraison = paut_ProcessusDeTransformation>>ListDocumentsResult>>Item[1]>>Do_Piece()

FIN
RENVOYER Vrai
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Mer 23 Jan 2019 17:55


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités