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

SAGE Discussion :

Condition sur spécifique et update auto de champs [X3-V12]


Sujet :

SAGE

  1. #1
    Membre à l'essai
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2021
    Messages : 15
    Points : 20
    Points
    20
    Par défaut Condition sur spécifique et update auto de champs
    Bonjour,

    Dans l'en-tête de la commande d'achat, je voudrais rajouter une notation qui fonctionne comme suit :
    • Si la commande n'est pas encore facturé, la notation ne peut pas se faire
    • Après avoir donné une note, le type statut devient automatiquement "noté"


    Nom : dev_note.JPG
Affichages : 385
Taille : 14,9 Ko

    Deux champs sont créés dans la table PORDER :
    • ZSTA = Menu local avec valeur 1 = A noter et 2 = Noté
    • ZNOTA = Entier court 2


    Voici le code que je voudrais mettre dans SPEPOH de l'écran POH0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
     
    $ACTION
    Case ACTION
    When default
    Endcase
    Return
     
     
    Subprog AV_ZSTA(VALEUR)
    Variable Integer VALEUR
     
    #Lire PORDER.POHNUM
    #Si INVNBR=0 alors Griser le champ ZSTA
    Read [POH]POH0=#devrait être le numéro POHNUM
        If !clalev([POH]): Local File PORDER [POH] : Endif
        If !fstat
    		If [F:POH]INVNBR=0
            Grizo [M:POH0]ZSTA
        Endif
     
    End
     
     
    Subprog AM_ZNOTA(VALEUR)
    Variable Decimal VALEUR
     
    #A la sortie du champ, si la valeur <>0 alors modifier le champs ZSTA ci-dessus à valeur 2
    	If [M:POH0]<>0
    		[M:POH0]ZSTA=2
    		[F:POH]ZSTA=[M:POH0]ZSTA
    		Rewrite [F:POH]ZSTA
    	Endif
     
     
    End
    Pourriez-vous m'aider à corriger ce code ?

    Remerciements cordiales,
    Images attachées Images attachées  

  2. #2
    Membre éprouvé
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév & consultant Sage X3

    Informations forums :
    Inscription : Décembre 2014
    Messages : 798
    Points : 960
    Points
    960
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If [M:POH0]ZNOTA<>0 # ZNOTA ? A vous de dire
    	[M:POH0]ZSTA=2
    	[F:POH]ZSTA=[M:POH0]ZSTA # ne sert à rien, sera écrit à l'enregistrement
    	Rewrite [F:POH]ZSTA # idem
    Endif

  3. #3
    Membre à l'essai
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2021
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Merci pour la réponse, cela m'a permis de revoir le code

    Par contre je suis confronté à un autre problème : je travaille sur la fonction GESPOH, gestion des commandes
    Et ces notes se trouve sur l'écran POH0. Jusque là, il n'y a pas de souci,
    Mais lorsqu'un commande d'achat est déjà soldé, je ne peux plus modifier la commande, par conséquent mettre à jour ces nouveaux champs spécifiques.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév & consultant Sage X3

    Informations forums :
    Inscription : Décembre 2014
    Messages : 798
    Points : 960
    Points
    960
    Par défaut
    Il faut utiliser une action d'avant-zone sur les zones que vous voulez rendre modifiables en mettant dans le traitement :

    Puis en action objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $AVANT_MOD
     
    If COUZON="ZONESPE" : GPE=1 : Endif
     
    Return

  5. #5
    Membre à l'essai
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2021
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Après quelques essais, je n'arrive pas à débloquer l'interdiction

    Après recherche dans le code du standard SUBPOH, le message qui bloque la modification d'une commande d'achat soldée se trouve dans le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Subprog C_NBFAC
    #-----------------------------------------------------#
    # Contrôle sur numéro de ligne élément de facturation #
    #-----------------------------------------------------#
    Local Shortint NOL : NOL=nolign-1
    #----- Interdiction de l'insertion et de la suppression sur commande soldée -----#
    If find(status,65,73,82) & [M:POH1]CLEFLG=2
      GMESSAGE=mess(47,194,1)  : mkstat=2 : End
    Endif
    Pouvez-vous me dire si le code suivant est bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $ACTION
    Case ACTION
    	When "AVANT_MOD" : Gosub AVANT_MOD
     	When default
    Endcase
    Return
     
    $AVANT_MOD
    	If COUZON="ZSTA" : GPE=1 : Endif
    	If COUZON="ZNOTA" : GPE=1 : Endif
    Return
     
    Subprog AV_ZNOTA(VALEUR)
    Variable Decimal VALEUR
    Actzo [M:POH0]ZNOTA
    End
     
    Subprog AV_ZSTA(VALEUR)
    Variable Integer VALEUR
    Actzo [M:POH0]ZSTA
    End
    Merci d'avance

  6. #6
    Membre éprouvé
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    798
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dév & consultant Sage X3

    Informations forums :
    Inscription : Décembre 2014
    Messages : 798
    Points : 960
    Points
    960
    Par défaut
    OK. Essayez plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $AVANT_MOD
     
    If zoncou="MA_ZONE_SPE" and [F:POH]CLEFLG=2
        GPE=1
    Endif
     
    Return
    Si ça ne fonctionne pas, je ne saurais pas quoi dire de plus, car j'ai le même cas de figure et c'est bon.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2021
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2021
    Messages : 15
    Points : 20
    Points
    20
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Tester des conditions sur une boucle d'insertion de champs
    Par sardaucar dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/10/2014, 14h19
  2. Update d'un champ avec une condition sur ce champ
    Par CALI31 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 13/11/2013, 16h28
  3. Update or insert avec conditions sur les champs
    Par calou_33 dans le forum SQL
    Réponses: 7
    Dernier message: 04/08/2010, 10h36
  4. UPDATE d'un tuple avec condition sur le meme champ
    Par zwan.bourg dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/09/2009, 12h32
  5. [VB.NET] Pb sur update à partir champs Textbox
    Par patdez dans le forum ASP.NET
    Réponses: 5
    Dernier message: 28/06/2006, 09h28

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