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

SAP Crystal Reports Discussion :

Crystal Report / Sage X3 formater numéro de téléphone


Sujet :

SAP Crystal Reports

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 21
    Points
    21
    Par défaut Crystal Report / Sage X3 formater numéro de téléphone
    Bonjour,
    Je souhaite formater le numéro de téléphone des client selon le format de téléphone précisé dans de la table Pays (TABCOUNTRY.TELFMT_0).

    Je suppose qu'il faut utiliser formula = picture (...) en basic dans Crystal, mais je ne connais pas la syntaxe exacte.

    Est-ce quelqu'un pourrait m'aider svp?

    merci d'avance,

  2. #2
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Bonsoir,

    Quel hasard. Si quelqu'un réussi à répondre à ma demande cr-2013-crystal-report-sage-x3-formules-personnalisees, je pourrais alors vous aider. C'est justement cette formule qui permet de formater les numéros de téléphones que j'arrive pas à afficher dans Crystal Reports :-)

    Bon courage

  3. #3
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 945
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 945
    Points : 2 723
    Points
    2 723
    Par défaut
    Citation Envoyé par sfino33 Voir le message
    Bonjour,
    Je souhaite formater le numéro de téléphone des client selon le format de téléphone précisé dans de la table Pays (TABCOUNTRY.TELFMT_0).

    Je suppose qu'il faut utiliser formula = picture (...) en basic dans Crystal, mais je ne connais pas la syntaxe exacte.

    Est-ce quelqu'un pourrait m'aider svp?

    merci d'avance,

    voir le thread au dessus Crystal Report / Sage X3 formules personnaliséesCrystal Report / Sage X3 formules personnalisées


  4. #4
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Cette formule devrait faire l'affaire :
    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
    stringvar Numero := {BPADDRESS_FCY.FAX_0};
    stringvar Resultat := "";
    stringvar DonneeFixe := "";
    stringvar DonneeVariable := "";
    stringVar array TabTmp;
    numbervar i;
    numbervar Position;
    numbervar Nombre;
    numbervar Debut := 1;
     
    if (Numero <> "") then 
    (
        TabTmp := Split ({TABCOUNTRY_FCY.TELFMT_0},"#");
        for i := 1 to UBound(TabTmp)-1 do 
        (
            DonneeFixe := ExtractString (TabTmp[i],"[","]");
            Position := InStr(TabTmp[i],"]");
            if (Position > 0) then 
            (
                if (Mid(TabTmp[i],Position+1) = "") then Nombre := 1
                else Nombre := ToNumber(Mid(TabTmp[i],Position+1));
                DonneeVariable := Mid(Numero,Debut,Nombre);
                Debut := Debut + Nombre;
            );
            Resultat := Resultat + DonneeFixe + DonneeVariable;
        );
        Resultat
    )
    else ""

  5. #5
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 945
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 945
    Points : 2 723
    Points
    2 723
    Par défaut
    toi, tu es un vrai développeur qui réinventes les fonctions...

  6. #6
    Membre habitué Avatar de Avatar
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 136
    Points : 150
    Points
    150
    Par défaut
    Merci pour le ton condescendant, cela fait toujours plaisir, tout le monde n'a pas la chance d'être développeur, on fait comme on peut et on essaye d'aider...
    Il se trouve que l'ERP X3 stock les numéros de téléphone sans l'indicatif pays. L'indicatif pays est stocké dans une autre table, (TABCOUNTRY.TELFMT_0), sous la forme par exemple [(+34)]9# pour l'Espagne.
    Si j'utilise la fonction picture(MON_TEL, TABCOUNTRY.TELFMT_0), je me retrouve avec ce résultat : [(+34)]9#666252575. J'utilise peut être mal la fonction picture, mais je connais malheureusement pas Crystal Reports,je suis ouvert à toute suggestion.

    Il faut donc faire une fonction pour nettoyer le formatage pays, une fois arrivé là, c'est aussi rapide d'y coller le numéro de téléphone plutôt que d'utiliser la fonction picture. Mais en effet, j'aurais pu créé une fonction nettoyagepays et l'utiliser dans picture(MON_TEL, nettoyagepays(TABCOUNTRY.TELFMT_0)), à moins que cela soit encore pire, je ne peux pas le juger... par exemple nettoyagepays([(+34)]9#) donnera (+34)xxxxxxxxx et avec picture on aura bien (+34)666252575Ma solution n'est certes pas élégante mais elle a le mérite de réponde à mon besoin et je pensais qu'elle pouvait dépanner sfino33 qui rencontrait le même problème que moi. Je suis ouvert à toute autre solution plus pratique.

    Sur ce, sans rancune de mon côté, et je vous souhaite une bonne soirée.

  7. #7
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 945
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 945
    Points : 2 723
    Points
    2 723
    Par défaut
    aucune animosité de ma part, je n'ai pas les réponses à tous les soucis Crystal Reports, et j'apprend encore..
    "Ma solution n'est certes pas élégante mais elle a le mérite de réponde à mon besoin "... je pense que c'est le principal..

    Bien à toi

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2011
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 23
    Points : 21
    Points
    21
    Par défaut Utilisation fonction "Picture"
    Citation Envoyé par Avatar Voir le message
    Merci pour le ton condescendant, cela fait toujours plaisir, tout le monde n'a pas la chance d'être développeur, on fait comme on peut et on essaye d'aider...
    Il se trouve que l'ERP X3 stock les numéros de téléphone sans l'indicatif pays. L'indicatif pays est stocké dans une autre table, (TABCOUNTRY.TELFMT_0), sous la forme par exemple [(+34)]9# pour l'Espagne.
    Si j'utilise la fonction picture(MON_TEL, TABCOUNTRY.TELFMT_0), je me retrouve avec ce résultat : [(+34)]9#666252575. J'utilise peut être mal la fonction picture, mais je connais malheureusement pas Crystal Reports,je suis ouvert à toute suggestion.

    Il faut donc faire une fonction pour nettoyer le formatage pays, une fois arrivé là, c'est aussi rapide d'y coller le numéro de téléphone plutôt que d'utiliser la fonction picture. Mais en effet, j'aurais pu créé une fonction nettoyagepays et l'utiliser dans picture(MON_TEL, nettoyagepays(TABCOUNTRY.TELFMT_0)), à moins que cela soit encore pire, je ne peux pas le juger... par exemple nettoyagepays([(+34)]9#) donnera (+34)xxxxxxxxx et avec picture on aura bien (+34)666252575Ma solution n'est certes pas élégante mais elle a le mérite de réponde à mon besoin et je pensais qu'elle pouvait dépanner sfino33 qui rencontrait le même problème que moi. Je suis ouvert à toute autre solution plus pratique.

    Sur ce, sans rancune de mon côté, et je vous souhaite une bonne soirée.



    Merci Avatar!!

  9. #9
    Modérateur
    Avatar de luc_chivas
    Profil pro
    Consultant BO/Crystal Reports
    Inscrit en
    Avril 2004
    Messages
    1 945
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant BO/Crystal Reports

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 945
    Points : 2 723
    Points
    2 723
    Par défaut
    tu es le premier à me dire que je suis condescendant... mais avec le smiley, cela passe..
    Tu pourrais simplement faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExtractString({(TABCOUNTRY.TELFMT_0},'(',')')&TOTEXT({MON_TEL},0,"")

Discussions similaires

  1. VB6 et Crystal Report: Problème de format de papier
    Par genoud0110 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 23/05/2012, 15h11
  2. Réponses: 21
    Dernier message: 31/07/2009, 17h08
  3. Formater numéro de téléphone
    Par neiler dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2008, 22h13

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