Ligne 100 - Gestion devis avec OM V3 et Windev
Modérateurs: Super-Apogea, Super Modérateur
3 messages
|Page 1 sur 1
Ligne 100 - Gestion devis avec OM V3 et Windev
Bonjour,
J'utilise les OM v3 avec Windev (21) pour la création de devis.
Tout se passe correctement mais j'ai un problème avec certains articles en nomenclature "Commerciale/composé".
Sous Sage, quand le même devis est réalisé, la création d'une ligne avec un article de ce type engendre automatiquement les lignes des articles liés.
Avec OM piloté par le programme sous Windev, je croyais que l'utilisation de WriteDefault() allait faire ce job mais il n'en est rien...
En gros, je fais :
Question : est-ce qu'il faut vérifier pour chaque article si il est dans ce type de nomenclature et si oui, de lister et d'ajouter les articles liés ? L'un d'entre-vous aurait-il la bonté de poster un petit exemple ou les fonctions OM à utiliser ?
Un grand merci aux spécialistes OM qui pourront répondre...
J'utilise les OM v3 avec Windev (21) pour la création de devis.
Tout se passe correctement mais j'ai un problème avec certains articles en nomenclature "Commerciale/composé".
Sous Sage, quand le même devis est réalisé, la création d'une ligne avec un article de ce type engendre automatiquement les lignes des articles liés.
Avec OM piloté par le programme sous Windev, je croyais que l'utilisation de WriteDefault() allait faire ce job mais il n'en est rien...
En gros, je fais :
- Code: Tout sélectionner
// Création de l'objet métier devis
pautNVDocDevis = OM_Sage:autBaseCialEXPRESS>>FactoryDocumentVente>>CreateType(0)
// Affectation du client au devis
pautNVDocDevis>>SetDefaultClient(OM_Sage:autBaseCptaEXPRESS>>FactoryTiers>>ReadNumero(sCT_Num))
// Affectation n° piece
pautNVDocDevis>>SetDefaultDO_Piece()
// Création de l'entete du devis
pautNVDocDevis>>WriteDefault
// Création de l'OM ligne de document
pautLigneCDEArticle = pautNVDocDevis>>FactoryDocumentLigne>>Create
// Affectation de l'article, le deuxieme parametre est la quantité
pautLigneCDEArticle>>SetDefaultArticle(OM_Sage:autBaseCialEXPRESS>>FactoryArticle>>ReadReference(AR_Ref),1)
// Ecriture de la ligne
pautLigneCDEArticle>>WriteDefault
Question : est-ce qu'il faut vérifier pour chaque article si il est dans ce type de nomenclature et si oui, de lister et d'ajouter les articles liés ? L'un d'entre-vous aurait-il la bonté de poster un petit exemple ou les fonctions OM à utiliser ?
Un grand merci aux spécialistes OM qui pourront répondre...
Dernière édition par fbal le Lun 18 Sep 2017 16:38, édité 2 fois.
- Posteur néophyte
- Messages: 9
- Inscription: Jeu 14 Sep 2017 11:34
Re: Ligne 100 - Gestion devis avec OM V3 et Windev
Bonjour,
Je suis aussi assez déçu par les OM qui soit disant doivent se comporter comme l'application cliente (Gescom.exe) ...
Pourtant, j'ai suivi les différents cursus de formation sur les OM, mais je ne suis pas forcément un bon développeur en .Net...
Pour avoir essayé de reprendre les exemples des formations, je n'arrive pas, par exemple, à appliquer leurs exemples sur un 'simple' transfert de dépôt à dépôt d'articles sérialisés sans gestion des emplacements.
Mais bon, c'est à moi de bien comprendre ce modèle objet SAGE...
Cordialement,
Je suis aussi assez déçu par les OM qui soit disant doivent se comporter comme l'application cliente (Gescom.exe) ...
Pourtant, j'ai suivi les différents cursus de formation sur les OM, mais je ne suis pas forcément un bon développeur en .Net...
Pour avoir essayé de reprendre les exemples des formations, je n'arrive pas, par exemple, à appliquer leurs exemples sur un 'simple' transfert de dépôt à dépôt d'articles sérialisés sans gestion des emplacements.
Mais bon, c'est à moi de bien comprendre ce modèle objet SAGE...
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
Re: Ligne 100 - Gestion devis avec OM V3 et Windev
Bonjour,
J'ai pu résoudre mon problème, il faut utiliser le processus de création de document (voir page 91 du manuel OM).
Ouf...
J'ai pu résoudre mon problème, il faut utiliser le processus de création de document (voir page 91 du manuel OM).
- Code: Tout sélectionner
// NB : strDoc est une structure que j'utilise pour stocker toutes les infos nécessaires
// à la création de mon document
mProcessDoc, mDoc est un objet Automation dynamique
mProcessDoc = :autBaseCialEXPRESS>>CreateProcess_Document(strDoc:nTypeDocument) // 0 = Devis
// Conversion (implicite) du document du processus (IBODocument3)
// dans le type du document de destination : Devis (IBODocumentVente3)
mDoc = mProcessDoc>>Document
// Affectation au client
mDoc>>SetDefaultClient(:autBaseCptaEXPRESS>>FactoryTiers>>ReadNumero(strDoc:sCT_Num))
// Affectation n° piece (donné automatiquement par Sage)
mDoc>>SetDefaultDO_Piece()
strDoc:sDOPiece = mDoc>>DO_Piece()
// Ajout références et coordonnées
mDoc>>DO_Ref = strDoc:sReference
mDoc>>DO_Coord(1) = strDoc:sContact
POUR c=1 _A_ Dimension(strDoc:tsLignes)
mLig est un objet Automation dynamique
//Si la ligne à insérer a un commentaire, on créé une ligne sans référence avant la ligne article
SI PAS strDoc.tsLignes[c].sCommentaires ~="" ALORS
// Création de l'OM ligne de document
mLig = mDoc>>FactoryDocumentLigne>>Create
// Affectation de l'article, le deuxieme parametre est la quantité
mLig>>DL_Design = strDoc.tsLignes[c].sCommentaires
// Ecriture de la ligne
mLig>>WriteDefault
FIN
// Ajout de la ligne article, si il y a un ou plusieurs articles liés, il seront créés
mLig = mProcessDoc>>AddArticle(:autBaseCialEXPRESS>>FactoryArticle>>ReadReference(strDoc:tsLignes[c]:sRéférence), strDoc.tsLignes[c]:eQuantité)
FIN
// Tout est prêt
SI mProcessDoc>>CanProcess ALORS
mProcessDoc>>Process()
FIN
// On peut ensuite éventuellement ajouter des infos libres sur le document (pas en création, après)
Ouf...
- Posteur néophyte
- Messages: 9
- Inscription: Jeu 14 Sep 2017 11:34
3 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités