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 :

Champ spé ITMMASTER sur les lignes devis [X3-V12]


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 Champ spé ITMMASTER sur les lignes devis
    Bonjour,

    J'ai ajouté un champ spé sur les articles (Table ITMMASTER + écran) afin de pouvoir renseigner des informations supplémentaires.
    Cependant le champ est vide quand j'essaie de l'ajouter dans les lignes devis (écran SQH2).

    Est-ce nécessaire de passer par un traitement spé pour alimenter le champ ? Je pensais que la table ITMMASTER serait déjà liée aux devis.

  2. #2
    Membre chevronné
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2007
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 231
    Par défaut
    Bonjour,

    il faut peut-être revalider les transactions devis

  3. #3
    Membre éclairé Avatar de Proscarion
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2023
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2023
    Messages : 44
    Par défaut
    Bonjour NX2F3,

    Effectivement, il ne faut pas oublier de revalider les transactions de devis pour le champ s'affiche sur les devis.
    Cependant le champ sera toujours vide une fois arrivé sur le devis (même si une valeur est présente en base).

    Le transclasse [M] = [F] (ou l'alimentation des champs de l'écran depuis la classe [F]) dans ce contexte ne s'exécutera que sur les tables SQUOTE et SQUOTED, qui sont les tables de référence de l'écran SQH2 (sur principe que les champs ait le même nom dans l'écran et la table).

    Donc un champ d'ITMMASTER ne sera pas automatiquement récupéré. Je ne conseille pas non plus de rajouter ITMMASTER dans les tables de référence de SQH2 (je ne sais pas quel comportement ca donnerait...).
    Ici, il faut à mon avis gérer le champ en spécifique.

    Cordialement,

    Proscarion

  4. #4
    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
    Bonjour,

    Effectivement j'avais déjà validé les transactions.

    Concernant le traitement spé, je souhaite que le champ soit alimenté lors de la prévisualisation d'un devis existant, mais également lors de la saisie de nouvelles lignes.
    Visiblement gérer le champ dans l'action APRES_MODIF n'est pas suffisant car cela nécessite de cliquer dans les lignes du devis. Devrais-je plutôt me placer ailleurs (J'ai tenté l'action OUVRE mais ce n'est pas bon non plus.) ?

  5. #5
    Membre éclairé Avatar de Proscarion
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2023
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2023
    Messages : 44
    Par défaut
    Bonjour N2XF3,

    Il est effectivement possible de passer par l'étiquette APRES_MODIF pour effectuer l'alimentation du champ spé lors de la saisie de l'article (nouvelle ligne). Je n'utilise en général pas cette étiquette (il faut conditionner à chaque fois) et préfère passer par une action champ "après modif" sur ITMREF (donc paramétrée sur l'écran SQH2).
    Ca donne quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Subprog AM_ITMREF(VALEUR)
    	Variable Char VALEUR()
     
    	# A ce niveau, [F:ITM] devrait avoir été alimenté par le std, sinon faire un read sur [F:ITM] avec [L]VALEUR
    	[M:SQH2]ZNOUVEAUCHAMP = [F:ITM]ZNOUVEAUCHAMP
    End
    Cela gère l'ajout de nouvelles lignes, maintenant, pour la lecture, attention, il ne faut pas passer par OUVRE, qui n'est appelée qu'une seule fois à l'ouverture de la fonction (et qui sers à faire des déclarations, pas des initialisations).
    Une étiquette plus apropriée serait par exemple LIENS, qui est appelée à chaque chargement d'enregistrement (premier chargement de la fonction, clic sur un devis dans la liste de gauche, etc.).

    On pourrait imaginer de faire une première version naïve dans LIENS, en parcourant les lignes de notre tableau et en remontant le champ en question. Exemple :
    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
     
    $LIENS
    	# Penser à déclarer ZI dans OUVRE
     
    	# On parcours l'ensemble des lignes du document
    	For [L]ZI = 0 To [M:SQH2]NBLIG-1
     
    		# On lit l'article de chaque ligne
    		Read [F:ITM]ITM0 = [M:SQH2]ITMREF([L]ZI)
    		If !fstat Then
    			# Si la lecture a réussi, on affecte notre champ spé depuis l'article
    			[M:SQH2]ZNOUVEAUCHAMP([L]ZI) = [F:ITM]ZNOUVEAUCHAMP
    		Endif
    	Next
    Return
    Ceci est comme mentionné plus haut, une première version naïve de traiter le problème (=> Ca devrait marcher fonctionnellement, mais on peux faire bien mieux). On pourrait par exemple passer par l'étiquette LIENS_LIG qui est éxécutée au chargement de chaque ligne (pas besoin d'itérer sur toutes les lignes et peut être pas besoin de faire de lecture sur [F:ITM]).

    P.S.: J'ai écrit le code à la volée, je ne l'ai pas testé, dites moi si vous avez un soucis

    Cordialement,

    Proscarion

  6. #6
    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
    Merci Proscarion pour votre retour.

    Le spé pour boucler sur les lignes est semblable à ce que j'ai réalisé et fonctionne bien (j'avais testé ça justement dans APRES_MODIF).
    J'avais un doute sur la possibilité de passer par l'action LIEN mais je vais faire ça du coup.

    Et merci pour l'astuce de l'action champ !

    Bonne journée

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/01/2006, 16h42
  2. Réponses: 4
    Dernier message: 08/11/2005, 18h13
  3. Réponses: 7
    Dernier message: 04/10/2005, 18h34
  4. [CR8.5] Table croisée champs résumés en ligne. Possible?
    Par ccquick dans le forum SAP Crystal Reports
    Réponses: 10
    Dernier message: 19/07/2004, 10h37
  5. plusieurs champs identiques en ligne
    Par viviking dans le forum Langage SQL
    Réponses: 12
    Dernier message: 18/06/2004, 12h25

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