Infos libres en ligne de doc, Objets métiers
Posté: Lun 9 Mai 2016 11:38
Bonjour,
Je rencontre des soucis pour renseigner des informations libres dans les lignes de document avec Objets métiers.
Objets métiers : V6.00
Sage : 100 Entreprise i7 v8
Langage utilisé : C# (une réponse avec du code VB.Net me convient également)
Document créé : facture de vente
Le développement que je suis en train de réaliser a pour but l'intégration de factures de ventes dans la gestion commerciale.
J'utilise pour la création de la facture un "Process_document", une fois le document créé je souhaite y ajouter des infos libres.
J'arrive a ajouter des infos libres à l'entête de la facture, en revanche je n'arrive pas à affecter les infos libres pour les lignes de la facture.
La création du document fonctionne, ainsi que l'ajout d'infos libre en entête (qui se fait après la création du document).
Mon soucis n'est pas une erreur à l'ajout d'une info libre en ligne de document mais le fait que je ne trouve pas comment accéder à ces infos libres.
Malheureusement je n'ai pu trouver aucun exemple de modification d'infos libres de lignes de document, ni dans la documentation Objets Métiers, ni sur ce forum (ou alors je suis passé à coté et je m'en excuse), ni ailleurs sur internet.
Voici mon code qui crée le document puis y affecte une info libre à l'entête (info "Commentaires" => 'Test3')
J'espère avoir été le plus clair possible
Je vous remercie par avance.
Arnaud.
Je rencontre des soucis pour renseigner des informations libres dans les lignes de document avec Objets métiers.
Objets métiers : V6.00
Sage : 100 Entreprise i7 v8
Langage utilisé : C# (une réponse avec du code VB.Net me convient également)
Document créé : facture de vente
Le développement que je suis en train de réaliser a pour but l'intégration de factures de ventes dans la gestion commerciale.
J'utilise pour la création de la facture un "Process_document", une fois le document créé je souhaite y ajouter des infos libres.
J'arrive a ajouter des infos libres à l'entête de la facture, en revanche je n'arrive pas à affecter les infos libres pour les lignes de la facture.
La création du document fonctionne, ainsi que l'ajout d'infos libre en entête (qui se fait après la création du document).
Mon soucis n'est pas une erreur à l'ajout d'une info libre en ligne de document mais le fait que je ne trouve pas comment accéder à ces infos libres.
Malheureusement je n'ai pu trouver aucun exemple de modification d'infos libres de lignes de document, ni dans la documentation Objets Métiers, ni sur ce forum (ou alors je suis passé à coté et je m'en excuse), ni ailleurs sur internet.
Voici mon code qui crée le document puis y affecte une info libre à l'entête (info "Commentaires" => 'Test3')
- Code: Tout sélectionner
//Création d'un objet processus "Création de document"
IPMDocument mProcessDoc = bCial.CreateProcess_Document(DocumentType.DocumentTypeVenteFacture);
//Conversion du document du processus (IBODocument3) dans le type du document de destination : Facture de vente
IBODocumentVente3 mDoc = (IBODocumentVente3)mProcessDoc.Document;
IBODocumentVenteLigne3 mLigne = null;
//Modification entete de document
mDoc.Souche = bCial.FactorySoucheVente.ReadIntitule("Cession interne");
mDoc.SetDefaultDO_Piece();
string nPiece = mDoc.DO_Piece;
mDoc.SetDefaultClient(bCial.CptaApplication.FactoryClient.ReadNumero("CARAT"));
//IBODocumentVenteLigne3 mLigne = (IBODocumentVenteLigne3)mProcessDoc.AddArticle(bCial.FactoryArticle.ReadReference("CHORFA"), 5);
mLigne = (IBODocumentVenteLigne3)mDoc.FactoryDocumentLigne.Create();
mLigne.SetDefaultArticle(bCial.FactoryArticle.ReadReference("GRAVURE"), 2);
mLigne.Remise.FromString("10%+25F");
mLigne.DL_PrixUnitaire = 100.0;
mLigne.Write();
if(mProcessDoc.CanProcess)
{
mProcessDoc.Process();
Console.WriteLine("Document initialisé !");
} else
{
Console.WriteLine("Echec initialisation document !");
}
IBODocumentVente3 dDoc = bCial.FactoryDocumentVente.ReadPiece(DocumentType.DocumentTypeVenteFacture, nPiece);
dDoc.InfoLibre["Commentaires"] = "Test3";
dDoc.Write();
Console.WriteLine("Info libre entête créée");
J'espère avoir été le plus clair possible
Je vous remercie par avance.
Arnaud.