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 :

Modifier GROPRI / NETPRI via traitement spé


Sujet :

SAGE

  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2022
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2022
    Messages : 67
    Par défaut Modifier GROPRI / NETPRI via traitement spé
    Bonjour,

    Je me permets encore une fois de faire appel à vous car je bloque sur un petit problème.

    Dans certains cas, je suis amené à modifier le champ GROPRI des lignes du devis via le traitement SPESQH.
    J'ai remarqué que lorsque GROPRI est modifié de cette manière, le champ NETPRI lui n'est pas mis à jour, même après avoir enregistré le devis.

    NETPRI est uniquement mis à jour si je rentre la valeur GROPRI manuellement.

    Je ne vois pas trop comment faire à part forcer la valeur NETPRI dans le spé au moment ou je modifie GROPRI mais ça ne me semble pas très propre (surtout que ça nécessite une formule pour prendre en compte les éventuelles remises etc...)


    J'ai tenté de passer le champ UPDFLG de la ligne à "1" mais cela ne fonctionne pas non plus.

    Merci d'avance pour votre aide précieuse

  2. #2
    Membre très actif
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    835
    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 : 835
    Par défaut
    Bonjour,

    Quand on modifie un champ standard, il faut bien penser à déclencher toutes les actions qui se déclencheraient si la modification était manuelle.
    Donc il convient d'appeler le standard avec des commandes de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call AM_GROPRI(VALEUR) From W1SOH4
    (de tête)

    Le cas échéant, pensez aussi aux actions d'après-ligne (calcul du montant de la commande).

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2022
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2022
    Messages : 67
    Par défaut
    Citation Envoyé par bimiman Voir le message
    Bonjour,

    Quand on modifie un champ standard, il faut bien penser à déclencher toutes les actions qui se déclencheraient si la modification était manuelle.
    Donc il convient d'appeler le standard avec des commandes de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call AM_GROPRI(VALEUR) From W1SOH4
    Bonjour, merci pour votre retour.

    Je confirme que l'ajout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call AM_GROPRI([M:SQH2]GROPRI([L]YL)) From W1SQH2
    permet bien de calculer le champ NETPRI.

    Comment savoir quelles sont les actions qui se déclenchent lors d'une modification manuelle ?

  4. #4
    Membre très actif
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    835
    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 : 835
    Par défaut
    Depuis le dictionnaire de l'écran.

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2022
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2022
    Messages : 67
    Par défaut
    Effectivement j'y ai pensé après coup.

    J'ai cependant une dernière question, pour rappel j'utilise la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call AM_GROPRI([M:SQH2]GROPRI([L]YL)) From W1SQH2
    Dans une boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For [L]YL = 0 To [M:SQH2]NBLIG
    J'ai remarqué que le NETPRI est uniquement mis à jour sur la première ligne de mon devis.
    Me serais-je trompé dans l'utilisation de cette fonction call ? Dois-je préciser un autre paramètre pour définir la ligne du NETPRI ciblé ?

    Auriez vous une idée ou une piste pour résoudre ce problème ?


    Merci pour votre aide précieuse

  6. #6
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 208
    Par défaut
    Citation Envoyé par N2XF3 Voir le message
    Effectivement j'y ai pensé après coup.

    J'ai cependant une dernière question, pour rappel j'utilise la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call AM_GROPRI([M:SQH2]GROPRI([L]YL)) From W1SQH2
    Dans une boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For [L]YL = 0 To [M:SQH2]NBLIG
    J'ai remarqué que le NETPRI est uniquement mis à jour sur la première ligne de mon devis.
    Me serais-je trompé dans l'utilisation de cette fonction call ? Dois-je préciser un autre paramètre pour définir la ligne du NETPRI ciblé ?

    Auriez vous une idée ou une piste pour résoudre ce problème ?


    Merci pour votre aide précieuse
    AM_GROPRI a besoin de la variable nolign donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For [L]YL = 0 To [M:SQH2]NBLIG-1
    nolign = YL+1 
    Call AM_GROPRI([M:SQH2]GROPRI([L]YL)) From W1SQH2
    Next
    ne pas oublier les UPDFLG de chaque ligne aussi

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2022
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2022
    Messages : 67
    Par défaut
    Citation Envoyé par GaelleH Voir le message
    AM_GROPRI a besoin de la variable nolign donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For [L]YL = 0 To [M:SQH2]NBLIG-1
    nolign = YL+1 
    Call AM_GROPRI([M:SQH2]GROPRI([L]YL)) From W1SQH2
    Next
    ne pas oublier les UPDFLG de chaque ligne aussi
    Merci ! C'était bien ça.

    Suite à vos conseils j'ai rajouté [M:SQH2]UPDFLG([L]YL)=2 après le call.
    Quelle en est l'utilité exactement ? car l'enregistrement semblait bien fonctionner même sans la mise à jour de ce flag.

Discussions similaires

  1. Modifier un TPanel via une DLL
    Par Delphi-ne dans le forum Delphi
    Réponses: 4
    Dernier message: 01/12/2006, 14h54
  2. Modifier base oracle via script ksh
    Par donny dans le forum Linux
    Réponses: 6
    Dernier message: 25/07/2006, 18h16
  3. Modifier password Access via VBA ???
    Par HookerSeven dans le forum Access
    Réponses: 4
    Dernier message: 20/02/2006, 00h48
  4. Réponses: 2
    Dernier message: 24/11/2005, 12h46
  5. Modifier L'ip via VB
    Par FlyRoxxx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/10/2005, 09h33

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