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 :

[ERP X3]Choose et Sélection Rapide


Sujet :

SAGE

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [ERP X3]Choose et Sélection Rapide
    Bonjour,

    Pour des besoins spécifiques, je dois programmer un écran de sélection avec le "choose". Je sais qu'il existe plusieurs façon mais dans mon cas je ne peux qu'utiliser cette méthode.

    J'arrive à gérer la pagination (précédente et suivante), mais la sélection rapide me pose soucis.

    En effet si je fais une sélection rapide sur une colonne, j'ai le status qui est égale à 45 (pour le moment normal), mais je ne trouve pas de variable qui me donnerai ce que l'utilisateur a saisie, ni l'indice ou le nom de la colonne.

    Si une personne à une piste.

    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Déterrage de discussion
    Bonjour,

    Je suis confronté au même problème. J'utilise l'instruction "Choose" pour ouvrir une boite de sélection paramétrée. Cette boite de sélection possède des champs de saisie de critères.

    Nom : choose.PNG
Affichages : 76
Taille : 14,9 Ko

    Les utilisateurs voudraient pouvoir utiliser ces champs de saisie évidemment, mais quand ils saisissent les critères et qu'ils tabulent, la fenêtre se ferme avec le code statuts égal à 45.

    J'ai donc essayé de trouver une solution en codant ça

    Nom : code_choose.jpg
Affichages : 74
Taille : 136,9 Ko

    mais ça boucle méchamment... J'ai essayé de trouver des exemples dans les codes du standard sage mais sans succès.

    Aussi, je me décide à demander l'aide de la communauté. Avez vous déjà été confronté à ce problème et si oui avez vous une solution à celui ci ?

    Merci infiniment de votre aide.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2019
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Solution partielle
    Bonjour,

    Finalement j'ai trouvé comment faire (partiellement). Je mets ci dessous :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Subprog S_XPROMO(VALEUR)
    Variable Char    VALEUR()
     
    Local Char XSELECTION(255)(10)
    Local Integer XCPT
     
    If clalev([F:XSJ])=0 : Local File XPROMLT [XSJ] : Endif
    If clalev([F:XRU])=0 : Local File XPROOPE [XRU] : Endif
    Link [F:XSJ] With [F:XRU]XRU0 = [F:XSJ]XCOPE As[XLNK]
     
    Gosub XSEL_PROMO
     
    # Affichage de la boite de sélection des promotions en fonction de la chaine construite
    Repeat 
      Choose [XLNK]
    & Where evalue([L]XSELECTION)
    & Order By [F:XSJ]SALFCY Asc ; [F:XSJ]XCOPE Asc
    & Using
    & [F:XSJ]SALFCY Titled mess(00003,00045,1),
    & [F:XSJ]XCOPE Titled mess(00070,00190,1),
    & [F:XSJ]XLOPE Titled mess(00036,00105,1),
    & [F:XSJ]XBPCNUM Titled mess(00078,00117,1),
    & [F:XSJ]XDEBAPP Titled mess(00104,00148,1) - mess(00460,00198,1),
    & [F:XSJ]XFINAPP Titled mess(00018,00002,1) - mess(00460,00198,1),
    & [F:XSJ]XDEBOPE Titled mess(00104,00148,1) - mess(00070,00190,1),
    & [F:XSJ]XFINOPE Titled mess(00018,00002,1) - mess(00070,00190,1)
    & Sized(80,120)
    & Titled mess(00553,05001,1)
      If [S]status = 28 # Si on sélectionne une valeur
        VALEUR = [F:XSJ]XCOPE
      Elsif status = 45 # Si saisie de critères de sélection
        Raz [L]XSELECTION(9)
        If [F:XSJ]SALFCY <> ''
          [L]XSELECTION(9) -= "and pat([F:XSJ]SALFCY,'" + [F:XSJ]SALFCY + "')"
        Endif
        If [F:XSJ]XCOPE <> ''
          [L]XSELECTION(9) -= "and pat([F:XSJ]XCOPE,'" + [F:XSJ]XCOPE + "')"
        Endif
        If [F:XSJ]XLOPE <> ''
          [L]XSELECTION(9) -= "and pat([F:XSJ]XLOPE,'" + [F:XSJ]XLOPE + "')"
        Endif
        If [F:XSJ]XBPCNUM <> ''
          [L]XSELECTION(9) -= "and pat([F:XSJ]XBPCNUM,'" + [F:XSJ]XBPCNUM + "')"
        Endif
      Endif
    Until [S]status = 28 or [S]status = 7 or [S]fstat # Sortie si sélection, click sur croix ou pas d'enregistrement
     
    End
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $XSEL_PROMO
     
    # Normalement le code article et client sont obligatoires, mais en specifique certains ont autorisé les code à blanc, dans ce cas ils sont selectionnable !
    [L]XSELECTION(0) = "[F:XRU]XCACC < 3 and ([F:XRU]ITMREF = [M:SOH4]ITMREF(nolign-1) or [F:XRU]ITMREF <= '') and ([F:XSJ]SALFCY = [M:SOH0]SALFCY or [F:XSJ]SALFCY <= '') "
    [L]XSELECTION(1) = " and (([F:XSJ]XDEBAPP <> [0/0/0] and [F:XSJ]XDEBAPP <= [M:SOH2]SHIDAT and [F:XSJ]XFINAPP >= [M:SOH2]SHIDAT)"
    [L]XSELECTION(2) = " or ([F:XSJ]XDEBAPP  = [0/0/0] and [F:XSJ]XDEBOPE <= [M:SOH2]SHIDAT and [F:XSJ]XFINOPE >= [M:SOH2]SHIDAT))"
    [L]XSELECTION(3) =
    & " and (([F:XSJ]XDATCON > [0/0/0] and XPROACC <> 'Statut Acc') or ( XPROACC = 'Statut Acc' and [F:XRU]XCACC = 2))  and ([F:XSJ]XBPCNUM = [F:XBPC]XBPCFGD(0) or [F:XSJ]XBPCNUM = [F:XBPC]XBPCFGD(1)"
    [L]XSELECTION(4) = " or [F:XSJ]XBPCNUM = [F:XBPC]XBPCFGD(2) or [F:XSJ]XBPCNUM = [F:XBPC]XBPCFGD(3) or [F:XSJ]XBPCNUM = [F:XBPC]XBPCFGD(4) or [F:XSJ]XBPCNUM=[M:SOH0]BPCORD or [F:XSJ]XBPCNUM <= '')"
     
    # Ne pas utiliser XSELECTION(9) ici, car alimenté dans S_XPROMO pour saisie de critères de sélection
     
    Return
    La seule interrogation qui subsiste est comment récupérer les opérateurs ">,<,<=,>=" issus de la sélection rapide dans le choose. Si quelqu'un a une idée, je suis preneur.

    Belle journée à vous

  4. #4
    Membre éprouvé
    Homme Profil pro
    Dév & consultant Sage X3
    Inscrit en
    Décembre 2014
    Messages
    796
    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 : 796
    Points : 959
    Points
    959
    Par défaut
    Le choose est assez limité dans les recherches (sauf à coder).
    Il vaut mieux utiliser SEl_TABLE ou SEL_LISTE suivant les cas. La recherche rapide est alors gérée nativement.

Discussions similaires

  1. [SAGE ERP X3] Facture : sélection livraisons
    Par pytha dans le forum SAGE
    Réponses: 1
    Dernier message: 16/05/2011, 09h24
  2. Calcul rapide de percentiles
    Par benj63 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/12/2006, 14h50
  3. LES TECHNIQUES DES SGBDR / MySQL rapide ???
    Par SQLpro dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/09/2003, 11h16
  4. Accés rapide aux propriétés d'un Objet
    Par Alacazam dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2002, 21h56
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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