categorie tarifaire OM

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

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

categorie tarifaire OM

de demiange » Jeu 26 Mai 2016 14:44

Bonjour,

j'essai de récupérer les catégories tarifaires défini dans une gamme selon l'article.

j'arrive à récupérer les différents intitulés des catégories tarifaire mais je n'arrive pas à accéder aux contenue à chaque fois le count() est à 0.

voila mon code :
Code: Tout sélectionner
pautListeArticle, Article,contenu_gamme,gamme sont des objets Automation dynamique
prixgamme,unprixgamme sont des objets Automation dynamique
TarifQteCategorie sont des objets Automation dynamique
maxi,maxigamme,nInd,maxicategorietarif,maxitarif est un entier = 0

//cree la liste d'article
pautListeArticle =  OM_Sage:autBaseCialEXPRESS>>factoryArticle>>list()

//compte le nombre d'article
maxi = pautListeArticle>>count()

//affiche tous les articles
POUR nInd = 1 A maxi
   //récupère un article
   Article = pautListeArticle>>item(nInd)
   
   SI Article>>AR_REF = "TOTO" ALORS
      
      Trace(Article>>AR_Ref+TAB+Article>>AR_Design+TAB+Article>>AR_PrixVen)
      
      //si c'est un article de type gamme on vérifie le contenu
      SI Article>>AR_Type = 1 ALORS
         
         //ListeAjoute(Combo1,Article>>AR_Ref)
         
         //contient le contenue de la gamme
         contenu_gamme = Article>>FactoryArticleGammeEnum1>>List()
         maxigamme = contenu_gamme>>count()

         //affiche les details de la gamme      
         POUR i=1 A maxigamme

            //premier objet de la gamme
            gamme = contenu_gamme>>item(i)
            Trace(gamme>>EG_Enumere)

         FIN
         
         //contient les categories tarifaires
         prixgamme = Article>>FactoryArticleTarifCategorie>>List()
         maxicategorietarif = contenu_gamme>>count() //
         
         //affiche les details des prix de la gamme      
         POUR b=1 A maxicategorietarif
            
            //premier objet de la gamme
            unprixgamme = prixgamme>>item(b)
            Trace(unprixgamme>>CategorieTarif>>CT_Intitule)

            TarifQteCategorie = unprixgamme>>FactoryArticleTarifQte>>List()
            maxitarif = TarifQteCategorie>>count()
            

         FIN         
         
      FIN
   FIN
   
   
FIN

je n'arrive donc pas à récupérer chaque tarif défini pour chaque gamme.

Exemple j'ai un pull marque TOTO dans la gamme il y a la taille s,m,l,xl et avec un prix de 10,12,14,15€.
j'arrive donc à récupérer les tailles mais pas les prix correspondant.

Merci.
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: Mar 22 Déc 2015 09:51

Re: categorie tarifaire OM

de asr31 » Mar 14 Juin 2016 21:13

Bonjour,

Les joies de WinDev & SAGE ...

Bref, si le count est à zéro, bien que ce soit un article à Gamme 1, il est possible que ce soit dû au fait que cet article en gamme n'ait aucune occurrence de gamme.

Faire une requête avec jointure gauche sur F_ARTICLE de type Gamme 1 et F_ARTGAMME pour voir les deltas.

Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: categorie tarifaire OM

de romulus001 » Mer 15 Juin 2016 14:50

demiange a écrit:j'arrive à récupérer les différents intitulés des catégories tarifaire mais je n'arrive pas à accéder aux contenue à chaque fois le count() est à 0.


Est-ce que votre code marche si vous migrez votre code en version .NET ?
Super Contributeur
Super Contributeur
 
Messages: 176
Inscription: Sam 28 Juin 2014 20:48

Re: categorie tarifaire OM

de demiange » Lun 27 Juin 2016 11:34

Bonjour,

merci pour vos réponses et désolé du retard pour ma réponse.

du coup j'arrive récupérer les libellés et les tarifs, mais de deux objet différent.
Donc les tarifs ne correspondent pas forcement aux bon libellé.

J'aimerais avoir en fait accès au fichier F_ARTGAMME et F_ARTPRIX.
Il y a une clé qui relis ces deux tables AG_NO pour F_ARTGAMME et AG_NO1 pour F_TARIFGAM.

C'est claire que Windev et OM c'est pas génial...
Voila mon code :

Code: Tout sélectionner


pautListeArticle, Article,contenu_gamme,gamme sont des objets Automation dynamique
prixgamme,unprixgamme sont des objets Automation dynamique
TarifgammeCategorie,untarifgamme sont des objets Automation dynamique
nInd,maxicategorietarif,maxitarif est un entier = 0
categorietarif est un objets Automation dynamique
articletarif est un objets Automation dynamique

//cree la liste d'article
pautListeArticle =  OM_Sage:autBaseCialEXPRESS>>factoryArticle>>list()

//affiche tous les articles
POUR nInd = 1 _A_  pautListeArticle>>count()
   //récupère un article
   Article = pautListeArticle>>item(nInd)
   
   SI Article>>AR_REF = "TOTO" ALORS
      
      Trace(Article>>AR_Ref+TAB+Article>>AR_Design+TAB+Article>>AR_PrixVen)
      Trace(Article>>Gamme1>>G_Intitule)
      
      //si c'est un article de type gamme on vérifie le contenu
      SI Article>>AR_Type = 1 ALORS
               
         //contient la liste des catégories tarifaires
         prixgamme = Article>>FactoryArticleTarifCategorie>>List()
         maxicategorietarif = prixgamme>>count() //<--il y en a 4
         
         //affiche les details des prix de la gamme (safege, ect...)
         POUR b=1 A maxicategorietarif
            
            //un objet des catégorie tarifaire (TOTO1, TOTO2, TOTO3, TOTO4....)
            TarifgammeCategorie = prixgamme>>item(b)
            
            //contient la liste des tarifs (gamme transport on affichera donc les KG)
            categorietarif = TarifgammeCategorie>>FactoryArticleTarifGamme()>>List()
            
            Trace(TarifgammeCategorie>>CategorieTarif>>CT_Intitule)      
            
            //contient la liste des contenues de la gamme
            contenu_gamme = Article>>FactoryArticleGammeEnum1>>List()
            
            //affiche les details de la gamme (kg)   
            POUR i=1 _A_ contenu_gamme>>count()
               
               //premier objet de la gamme
               gamme = contenu_gamme>>item(i)
               
               //contient les prix
               articletarif = categorietarif>>item(i)
               
               Trace("Gamme " + i + " : " + gamme>>EG_Enumere + " prix : "+ articletarif>>Prix())
               
            FIN      
            
         FIN         
         
         Trace("****************************************")
      FIN
      
   FIN
   
   
FIN





Si vous avez une idée je prends.

Merci.
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: Mar 22 Déc 2015 09:51


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