Custom Page – Problème de LookUp()

  • Custom Page – Problème de LookUp()

    Posté par Sebastien sur 11 décembre 2023 à 14h25

    Bonjour à tous !

    Me voilà dans ma première mise en place réelle des ‘custom pages’, et je me trouve face à un problème que je n’arrive pas a éxpliquer.

    Mon cas : Je veux ouvrir une custom page permettant d’afficher le détail d’un devis et les lignes du devis à partir d’une sous grille vers le devis depuis un formulaire de l’opportunité.

    <figure class=”image”></figure>

    Jusque là pas de soucis, on déclenche le script JS quand la ligne est sélectionnée. Pour référence voici les fonctions utilisées :

    <code class="language-javascript">function lockGridColumns(context) {
        context.getFormContext().data.entity.attributes.forEach(function (attr) {
        attr.controls.forEach(function (c) {
        c.setDisabled(true);
        });
        });
    }
    
    
    function showCanvas(context)
    {
            // When we select a line, lock its attributes to ensure no changes can be made.
        lockGridColumns(context);
            // Retrieve the record that was selected
        var selectedRecord = context.getFormContext().data.entity;
        var id = selectedRecord.getId();
        alert("text " + id);
            //set the pageType as custom, to call a custom page that we just created
            // name is the logical name of the page you can pick this up from solution explorer
        var pageInput = {
            pageType: "custom",
            name: "aa1_pagedevis_ec46f",
            recordId: id
            };
            //target = 2 is for dialog
            //position = 1 is for center dialog
        var navigationOptions = {
            target: 2,
            height: { value: 100, unit: "%" },
            width: { value: 100, unit: "%" },
            position: 1,
            title:"Devis"
        };
    
        Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
        function success() {
                // Run code on success
            alert("loaded");
        },
        function error() {
                // Handle errors
            alert("error");
        })
    }

    Mon problème est très simple :

    La custom page s’ouvre sans soucis et le GUID est récupéré en paramètre, par contre je suis incapable de faire un LookUp avec.

    <figure class=”image”></figure><figure class=”image”></figure><figure class=”image”></figure>

    Aucune de mes variables de type ‘record’ ne se remplissent, et j’ai essayé toutes les déclinaisons des LookUp qui me sont venu en tête. J’ai vu pas mal de tutos sur qui font exactement ça, donc j’imagine que la solution est relativement simple, mais elle m’échappe complètement pour le moment.

    En espérant que vous aurez une idée..

    Bonne journée.

    Sebastien a répondu Il y a 9 mois, 1 semaine 3 Membres · 3 Réponses
  • 3 Réponses
  • DavidZed

    Membre
    11 décembre 2023 à 15h54

    Hello Sébastien,

    Dans le labeltext où tu affcihes le GUID passé en paramètre, on voit “{” au début et “} -” à la fin :

    Ces caractères sont présents dans le paramètre passé ou seulement concatainés dans le LabelText ?

    S’ils sont présents dans le paramètre, il faut les supprimer, la fonction GUID() attend un format texte, avec ou sans les “-” séparateurs, mais sans les braces {} :

    GUID( “F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4” )

    • Cette réponse a été modifiée Il y a 9 mois, 1 semaine par  DavidZed.
    • Sebastien

      Membre
      11 décembre 2023 à 16h59

      Au top, c’était ça. Merci !

      Une petite fonction Mid() et tout est repartit

      Nous voilà un pop up qui détails les lignes du devis pour les grands et les petits.

      Merci David !

  • Quentin

    Membre
    11 décembre 2023 à 16h11

    Hello Sebastien,

    As-tu regardé ce que te retourne la fonction de GUID avec ton param en query string (GUID(Param(‘recordId’)) ?

Connectez-vous pour répondre.