Comment mettre en majuscule un champ ?

Bonjour, 

Je souhaite que mon champ "Nom" soit enregistré en majuscule par tous les utilisateurs. Savez-vous comment utiliser la fonction "strToUpper"  dans le fenêtre "Editeur de champ" depuis Studio ?

J'ai besoin de vos lumières Cry

Merci d'avance la communauté :) 

Parents
  • Bonjour,

    malheureusement il n'est pas possible, depuis le studio, de faire qu'un champ soit saisissable par l'utilisateur et converti à postériori (dans votre cas en lettres majuscules).

    Il est possible de faire ceci sur un autre champ via cette formule strToUpper

    Il faudrait donc soit dupliquer le champ et avoir le champ converti avec la formule, soit aller sur un développement custom type HOOK AFTER SAVE qui converti le champ.

    Frédéric

  • La solution de  fonctionne bien si vous pouvez utiliser un autre champ pour la version majuscule.

    Si cette solution n'est pas viable, vous pouvez utilizer un simple before save logic hook, et utiliser PHP strtoupper.

    FrancescaS

  • Bonjour, 

    Merci pour vos réponses.

    Dans le cadre de l'amélioration de notre CRM, mon but est de ne pas créée un autre champs car on dispose déjà des données pour ce champ (les numéros téléphone). En créant un nouveau champ avec les formules, j'ai peur que ce nouveau champ ne récupère pas toutes les données déjà saisies avant.. 

    Je n'ai jamais fait before save logic hook, pouvez-vous m'éclairer sur ce sujet avec mon exemple ? 

    Je vous remercie par avance Slight smile

  • Un example avec le nom des Accounts:

    custom/Extension/modules/Accounts/Ext/LogicHooks/logic_hooks.php

    $hook_array['before_save'][] = Array(1, 'MiseEnMajuscule', 'custom/modules/Accounts/Accounts_Logic.php','Accounts_Logic', 'MiseEnMajuscule');

    custom/modules/Accounts/Accounts_Logic.php

    class Accounts_Logic {
      function MiseEnMajuscule ($bean, $event, $arguments) {
        $bean->name = strtoupper($bean->name);
      }
    }

    Losrsque vous enregistrez, avant de sauvegarder (before_save) le logic_hook s'exécute e le champ de nom (name) est mise en majuscule. Une fois que le logic_hook se termine le nom est enregistrée avec les autres champs que vous avez changé.

    Pardonnez moi, mon Français est élémentaire, c'est difficile à expliquer tout le mécanisme.. 
    (J'apprécie les corrections pour pouvoir apprendre.) 

    J'espère que ça vous aide.

    FrancescaS

Reply
  • Un example avec le nom des Accounts:

    custom/Extension/modules/Accounts/Ext/LogicHooks/logic_hooks.php

    $hook_array['before_save'][] = Array(1, 'MiseEnMajuscule', 'custom/modules/Accounts/Accounts_Logic.php','Accounts_Logic', 'MiseEnMajuscule');

    custom/modules/Accounts/Accounts_Logic.php

    class Accounts_Logic {
      function MiseEnMajuscule ($bean, $event, $arguments) {
        $bean->name = strtoupper($bean->name);
      }
    }

    Losrsque vous enregistrez, avant de sauvegarder (before_save) le logic_hook s'exécute e le champ de nom (name) est mise en majuscule. Une fois que le logic_hook se termine le nom est enregistrée avec les autres champs que vous avez changé.

    Pardonnez moi, mon Français est élémentaire, c'est difficile à expliquer tout le mécanisme.. 
    (J'apprécie les corrections pour pouvoir apprendre.) 

    J'espère que ça vous aide.

    FrancescaS

Children
No Data