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 :

[V6]Bonne pratiques gestion détail Objet


Sujet :

SAGE

  1. #1
    Membre éprouvé
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Points : 1 091
    Points
    1 091
    Par défaut [V6]Bonne pratiques gestion détail Objet
    Bonjour tout le monde,

    j'avais par habitude de gérer le détail par mes soins avec des boucles dans D_NBLIG.
    Or je viens de voir avec la doc que l'on peut tout gérer avec le sous prog TABLEAUX.
    Donc je me dis je vais l'utiliser pour faire plus propore mais cela n'a pas marché.
    D'après la doc il faut passer la déclaration de la ligne détail dans DEFLIG.
    C'est ce que j'ai fait mais cela n'a pas marché. Des idées?

    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
    $ACTION
     Case ACTION
       When "DEFLIG"   : Gosub DEFLIG
       When"OUVRE"     : Gosub DECLARE From TABLEAUX
       When "FILTRE" : Default File [ZDH]
       When "LIENS" :  Gosub LIENS From TABLEAUX
      Endcase
    Return
     
     
    $DEFLIG 
    #----------------------------------# 
    # Définition du fichier des lignes # 
    # -------------------------------- # 
    # Critère lecture     (CRIT)       # 
    # Nom du fichier      (FICLIG)     # 
    # Abréviation fichier (ABLIG)      # 
    # Zone numéro ligne   (ZONLIG)     # 
    #----------------------------------# 
    Default Mask [ZDA0] 
    Default File [ZDC] 
    CRIT   = 'ZNUM="'+[M:ZDA0]ZNUM+'"' 
    FICLIG = "ZDDAC" 
    ABLIG  = "ZDC" 
    ZONLIG = "NBLIG" 
    Return

  2. #2
    Membre éclairé Avatar de PrinceCorwin
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Mars 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 337
    Points : 692
    Points
    692
    Par défaut
    bonjour,

    Il ne suffit pas que de cela pour faire fonctionner correctement le traitement TABLEAUX.

    Dans ton écran, il faut ajouter au bloc tableau ceci :
    1. au paramètre bas de tableau (NBLIG)
      1. contrôle DIVLINCONT avec le paramètre "champs numéro ligne de la table détail" (LIALIN)
      2. après_ligne DIVLINNUM
    2. en mode de saisie "invisible", il te faut ajouter les champs suivant dans ton tableau :
      1. le champ numéro de ligne de la table détail (LIALIN)
      2. champ gestion de création de ligne (CREFLG, C4)
      3. champ gestion de modification ligne (UPDFLG, c4)
    3. dans le traitement, le bloc $DEFLIG
      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
       
      $DEFLIG
      #-------------------------------------#
      # Définition du fichier des lignes    #
      #-------------------------------------#
      # critère de lecture        CRIT      #
      # Nom du fichier            FICLIG    #
      # Abréviation du fichier    ABLIG     #
      # Zone numéro ligne         ZONLIG    #
      #-------------------------------------#
       
      Default Mask   [ZLH1]
      Default File   [ZLD]
      CRIT         = '[F:ZLD]LIANUM="'+[M:ZLH0]LIANUM+'"'
      FICLIG       = "ZLIAINTARTD"
      ABLIG        = "ZLD"
      ZONLIG       = "LIALIN"
      Return


    Voilà de quoi t'aider un peu.
    Je commence le la dev aussi sous X3 v6.5. Si cela t'intéresse, j'ai des exercices de dev avec les corrigés.

    Amicalement
    Si ce message vous a aidé, appuyez sur le petit , ca fait toujours plaisir
    Merci.

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur X3 - Sage 1000
    Inscrit en
    Janvier 2012
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Administrateur X3 - Sage 1000

    Informations forums :
    Inscription : Janvier 2012
    Messages : 573
    Points : 811
    Points
    811
    Par défaut
    Décidément c'est le sujet du jour puisque moi aussi j'ai testé l'action DEFLIG (avec succès) ce matin.

    Pour compléter les propos de PrinceCorwin (ne pas oublier les actions et paramètre sur le champ NBLIG), voila le code auquel je suis arrivé.

    Pour bien comprendre il s'agit d'ajouter des lignes sur la table d'en-tête' BPS



    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
    $ACTION
    Case ACTION
          When "APRES_CRE" : Gosub APRES_MODIF
          When "OUVRE" : Gosub DECLARE From TABLEAUX
          When "LIENS" gosub LIENS From TABLEAUX
          When "DEFLIG" Gosub DEFLIG
          When "FILTRE" Gosub FILTRE
          When "MODIF" Gosub MODIF From TABLEAUX
          When "CREATION" Gosub CREATION From TABLEAUX
          When "ANNULE" Gosub ANNULE From TABLEAUX
          When "APRES_CRE" Gosub LIENS From TABLEAUX
          When "APRES_MOD" Gosub LIENS From TABLEAUX
          When "INICRE_LIG" Gosub INICRE_LIG
           When Default
    Endcase
    Return
     
    $INICRE_LIG
    [F:Z02]BPSNUM = [M:BPS0]BPSNUM
    Return
     
     
    $FILTRE
    Default File [BPS]
    Return
     
     
    $DEFLIG
    Default Mask [ZBP7]
    Default File [Z02]
    CRIT = 'BPSNUM="'+[M:BPS0]BPSNUM+'"'
    FICLIG = "ZBPSSPECHA"
    ABLIG="Z02"
    ZONLIG = "ZBPSSPECLIN"
    Return

    Seul l’action DEFLIG nécessite d’être expliquée :

    Default Mask [ZBP7]
    Mettre le code de l’écran détail

    Default File [Z02]
    Mettre le code de la table Détail

    CRIT = 'BPSNUM="'+[M:BPS0]BPSNUM+'"'
    Mettre le critère qui permet de faire le lien entre la table en-tête et la table détail

    FICLIG = "ZBPSSPECHA"
    Mettre le nom de la table détail

    ABLIG="Z02"
    Mettre le code d’abréviation de la table détail

    ZONLIG = "ZBPSSPECLIN"
    Mettre le code du champ Ligne de la table détail

  4. #4
    Membre éprouvé
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Points : 1 091
    Points
    1 091
    Par défaut
    J'avais bien compris le principe mais je voulais essayer sans créer un champ lien dans la table (comme le SOPLIN des commandes par exemple)

    Mais merci a vous 2

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 03/09/2019, 01h02
  2. [Article] Bonnes pratiques objet en .net : Introduction aux principes SOLID
    Par Philippe Vialatte dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 25/02/2009, 17h47
  3. [Procédures stockées] Bonnes pratiques de gestion des erreurs
    Par jbrasselet dans le forum Développement
    Réponses: 4
    Dernier message: 04/02/2009, 00h14
  4. Bonne pratique gestion application (dictionnaire etc.)
    Par usbeck dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 22/01/2009, 13h30
  5. Réponses: 3
    Dernier message: 29/12/2008, 16h31

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