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
    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é
    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

    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 [h=3]Crystal Report / Sage X3 formules personnaliséesCrystal Report / Sage X3 formules personnalisées[/h]
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  4. #4
    Membre habitué
    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

    toi, tu es un vrai développeur qui réinventes les fonctions...
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  6. #6
    Membre habitué
    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)666252575

    Ma 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

    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
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

  8. #8
    Membre à l'essai
    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)666252575

    Ma 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

    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,"")
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

###raw>template_hook.ano_emploi###