IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

problème de code


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    janvier 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : janvier 2015
    Messages : 147
    Points : 0
    Points
    0
    Par défaut problème de code
    Bonjour cher tous.
    Je suis sur un projet de gestion commercial et tout avance bien. Mais j'un petit souci et j'ai besoin d'aide.
    En effet j'ai une TABLE_Vente qui est remplie par programmation.
    Dans cette table, j'ai une COL_IDProduit qui contient des combos alimentées par le fichier "produit". J'ai aussi un fichier "Stock" lié au fichier produit qui contient "IDProduit" et "Quantitéenstock". J'ai aussi SAI_Quantitiéstock qui me donne la quantité en stock du produit sélectionné.
    Ce que je souhaiterais est que lorsque je sélectionne un produit que L'ID de ce produit soit recherché dans le fichier "Stock" et si il n'y est pas alors une information doit me le dire.
    voici le code que j'ai utilisé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    HLitRecherche(Stock,IDProduit,TABLE_Vente.COL_Produits)
    SI HTrouve(Stock) ALORS
    	SAI_Quantitiéstock=Stock.Quantitéenstock
    SINON
     
    	Info("Désolé, ce produit n'est pas en stock")
    	TABLE_Facture=""
    	SAI_Quantitiéstock=0
    FIN
    J'ai placé ce code dans Affichage d'une ligne de TABLE_Vente.
    Mais j'ai des soucis car lorsque je sélectionne n'importe quel produit même s'il y en a en stock, le message affiche "Désolé, ce produit n'est pas en stock" mais quand je le refais, ça marche. Je ne comprends pas et j'ai besoin d'aide svp

  2. #2
    Membre confirmé
    Avatar de Narwe
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2013
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2013
    Messages : 212
    Points : 531
    Points
    531
    Par défaut
    si ce code est dans la partie "Affichage d'une ligne", il doit être exécuté à chaque ligne ajoutée dans la table et non au moment de la sélection de la ligne. Le code cité n'est-il pas dans la partie "Sélection d'une ligne" ?

    Je pars du principe que le code est dans la partie "Sélection d'une ligne" pour la suite du message.
    Je suis étonné que ça ne fonctionne pas mais j'imagine que la valeur de TABLE_Vente.COL_Produits est toujours celle de la première ligne de la talbe ?
    => Sans doute faut-il préciser la ligne sur laquelle on travaille (pour moi, normalement, Windev prend la ligne en cours, c'est pour cela que cela m'étonne). Dans ce cas essayez ceci : TABLE_Vente[TABLE_Vente].COL_Produits

    Ce qui donne ce code en faisant les corrections suivantes
    - Utilisation de HLitRecherchePremier au lieu de HLitRecherche. HLitRecherche est, par défaut, une recherche générique (ce qui n'a pas d'incidence pour une recherche sur une valeur numérique mais il faut prendre les bons reflexes)
    - Même si le produit existe dans la table STOCK, peut-être que la quantité est à 0 est donc il n'y a pas de stock
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SAI_Quantitiéstock  = HLitRecherchePremier(Stock,IDProduit,TABLE_Vente[TABLE_Vente].COL_Produits) ? Stock.Quantitéenstock SINON 0
     
    SI SAI_Quantitiéstock =0 ALORS 
    	Info("Désolé, ce produit n'est pas en stock")
    	TABLE_Facture=""
    FIN
    Remarque 1 : Ne jamais mettre d'instruction Info dans la partie "Affichage d'une ligne" car il sera potentiellement affiché à chaque ligne et l'utilisateur devra le validé plusieurs fois. L'utilisateur peut-être le premier message, éventuellement le deuxième mais les messages suivants ne seront pas lus et éventuellement il appellera le service informatique considérant cela comme un bug.

    Remarque 2 : Peut-être revoir la procédure de remplissage de la table pour y faire une première recherche sur le stock afin par exemple de mettre en valeur (couleur de fond) les lignes sans stock (et pourquoi pas afficher la quantité en stock s'il n'évolue pas trop vite)

    Remarque 3 : (Point de vu purement personnel) : Le Désolé dans le message me paraît un peu familier. Le programme n'a pas à jugé si c'est un mauvaise chose ou non que ce produit ne soit plus en stock. Il s'agit peut-être d'un produit qui se vend très mal et l'utilisateur sera heureux de voir qu'il n'y a plus en stock. Personnellement, je me serais contenté d'un "Ce produit n'est pas en stock"

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    4 007
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 4 007
    Points : 6 843
    Points
    6 843
    Par défaut
    Bonjour,

    +1 Narwe. C'est peu ou prou la réponse que j'avais commencé à écrire hier avant d'avoir un souci de connexion...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    1 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 1 428
    Points : 2 506
    Points
    2 506
    Par défaut
    Bonjour,
    Je mettrais toutefois un bémol,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TABLE_Vente[TABLE_Vente].COL_Produits
    ne se réfère à le ligne en cours que si TABLE_Vente est configurée par défaut. Si TABLE_Vente renvoie une autre valeur (e.g la PK) ce code ne fonctionne pas.
    Il est préférable d'utiliser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TABLE_Vente[IndiceEnCours].COL_Produits
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TABLE_Vente[TableSelect(Table_Vente)].COL_Produits
    Il y a peut être plus simple, mais ça tourne

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    janvier 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : janvier 2015
    Messages : 147
    Points : 0
    Points
    0
    Par défaut
    Bonsoir chers tous
    j'ai essayé toutes vos propositions mais c'est toujours le même résultat. Peut être que j'ai pas été suffisamment clair dans mes explication.
    ce que je veux c'est que lorsque je sélectionne un produit dans la table, que ce produit n'existe pas dans le fichier stock alors le message s'affiche pour dire à l'utilisateur que ce produit n'est pas en stock.
    merci.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    mai 2003
    Messages
    656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : mai 2003
    Messages : 656
    Points : 1 182
    Points
    1 182
    Par défaut
    Si c'est à la sélection d'une ligne, il faut mettre ce code au niveau de la sélection et non de l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SI HLitRecherche(Stock,IDProduit,TABLE_Vente.COL_Produits[TABLE_Vente.Select()],hidentique) ALORS
    	SAI_Quantitiéstock=Stock.Quantitéenstock
    SINON
    	Info("Désolé, ce produit n'est pas en stock")
    	TABLE_Facture=""
    	SAI_Quantitiéstock=0
    FIN
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    janvier 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : janvier 2015
    Messages : 147
    Points : 0
    Points
    0
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SI HLitRecherche(Stock,IDProduit,TABLE_Vente.COL_Produits[TABLE_Vente.Select()],hidentique) ALORS
    	SAI_Quantitiéstock=Stock.Quantitéenstock
    SINON
    	Info("Désolé, ce produit n'est pas en stock")
    	TABLE_Facture=""
    	SAI_Quantitiéstock=0
    FIN
    petite erreur dans le code souligné en rouge

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    4 007
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 4 007
    Points : 6 843
    Points
    6 843
    Par défaut
    Bonjour,

    Philouz utilise la nouvelle notation. Mais tu aurais pu corriger toi même. L'info t'a été donnée auparavant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI HLitRecherche(Stock,IDProduit,TABLE_Vente.COL_Produits[TableSelect(TABLE_Vente)],hidentique) ALORS
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Make it real not fantasy.

  9. #9
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    juin 2017
    Messages
    1 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : juin 2017
    Messages : 1 428
    Points : 2 506
    Points
    2 506
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    L'info t'a été donnée auparavant.
    A priori, ce sont des lignes de code qu'il désire, pas des infos cf l'utlisation de HLitRecherche au lieu de HLitRecherchePremier et de "Désolé" qui existe toujours dans le code
    Il y a peut être plus simple, mais ça tourne

Discussions similaires

  1. problème de code avec un tableau
    Par richard038 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/05/2006, 18h35
  2. problème de code javascript pour une vue 360°
    Par tomguiss dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2006, 23h50
  3. [POO] Problème de code PHP avec Internet Explorer
    Par bzoler dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2006, 12h00
  4. Problème de code besoin d un petit depannage
    Par rakengoule dans le forum MFC
    Réponses: 3
    Dernier message: 10/10/2005, 17h25
  5. Probléme de code non portable
    Par Stany dans le forum Windows
    Réponses: 2
    Dernier message: 23/08/2005, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo