Mixer une galerie, formulaire et position

  • Jeremy

    Membre
    22 mai 2024 à 14h03

    Bonjour Elias,

    comment je ferais :

    • Je mettrais la création des emplacement sur le “On Sucess” de ton formulaire de création de boite
    1. Je recupere le dernier ID_Mere créé : Set(_ID_Boite_Mere;FormulaireCreationBoite.LastSubmit.ID)
    2. <div>
      <div>ForAll(Sequence(9;1;1);</div>
      <div>Patch(Liste_Emplacement_Boite;</div>
      <div>Defaults(Liste_Emplacement_Boite);</div>
      <div>{Emplacement: Value; //Ici de 1 à 9</div>
      <div>ID_Mere: _ID_Boite_Mere}))</div>
      <div> </div>
      <div></div>

      </div>

  • Elias

    Membre
    23 mai 2024 à 10h31

    Un très grand merci Jeremy pour cette autre piste très fructueuse

    CHAPITRE 1 : Ca fonctionne…presque

    Voici ce que j’ai fait avec les adaptations suivante:

    • le nom de la variable var_ID_boite_Mere : je prefere que mes noms de variable commence par var (bonne idée?)
    • le nom de la liste BoiteEmplacement
    • le nom du formulaire:Form1_

    Ce qui donne :

    Set(var_ID_Boite_Mere;Form1_1.LastSubmit.ID)

    ForAll(Sequence (9;1;1);

    Patch(BoiteEmplacement;Defaults(BoiteEmplacement);

    {emplacement: Value;

    ‘ID-mere’:var_ID_boite_Mere}))

    J’ai changé titre par emplacement car ma liste BoiteEmplacement reprend les colonnes suivantes

    titre (dont je ne sais pas quoi faire, cette colonne a été créé lors de la création de ma liste?)

    ID-mère : qui est une colonne de recherche, qui va chercher l le nom de la boite dans la liste (Boites80).

    emplacement : qui doit reprendre les n° d’emplacement de 1 à 9.

    Question 1 : remplacer titre par emplacement est ce correct dans mon cas?

    CHAPITRE 2 : Ca fonctionne

    Question 2 : j’ai un message d’erreur “le type de cet argument ‘ID_x002d_mere’ ne correspond pas au type attendu ‘record’. type trouvé ‘Number. Je pense que cela vient du fait que dans le patch on donne à ID-mere une valeur numerique var_ID_boite_Mere. Alors que cette colonne est définie dans sharepoint comme une colonne recherche (qui va chercher son info dans la colonne titre, de la liste Boites80, cette colonne titre étant une ligne de texte avec par exemple des données du type 2024-01) Mon diagnostique est il le bon?

    Pour ce problème j’ai fait l’essai suivant: j’ai changé ID-mere par titre sur la dernière ligne.

    Set(var_ID_Boite_Mere;Form1_1.LastSubmit.ID)

    ForAll(Sequence (9;1;1);

    Patch(BoiteEmplacement;Defaults(BoiteEmplacement);

    {emplacement: Value;

    titre : var_ID_boite_Mere}))

    Et cela fonctionne!! je suis super content 🙂 j’ai donc ID de ma boite dans la colonne titre et mes 9 emplacements de créer!

    CHAPITRE 3 : peut on mieux faire?

    Il reste un point qui me chagrine, comment mettre dans ID-Mere le nom de la boite qui vient d’être créer?

    Pour tester voici ce que j’ai fait j ‘ai ajouté dans ma liste BoiteEmplacement une colone ID-mere-Bis de type texte. (le modification son en gras)

    Set(var_ID_ID_Boite_Mere;Form1_1.LastSubmit.ID);; //Donne la valeur de ID de la dernière boite crée.

    Set(var_ID_Boite_mere;Form1_1LastSubmit.titre);; //donne la valeur titre (par exemple 2025-01) à la variable

    ForAll(Sequence (9;1;1);

    Patch(BoiteEmplacement;Defaults(BoiteEmplacement);

    {emplacement: Value;

    ‘titre’:var_ID_ID_boite_Mere;

    ‘ID-mere-bis:var_ID_mere}))

    cela marche :

    Question 3 : est la meilleur manière de faire? ou alors aurais je du jouer avec une fonction lookup et avoir dans la dernière ligne de mon patch : ‘ID-mere’: LookUp (boites80; ID=var_ID_ID_boite_Mere).titre?

    J’ai testé cette option et je retrouve mon message d’erreur : “”le type de cet argument ‘ID_x002d_mere’ ne correspond pas au type attendu ‘record’. type trouvé ‘Text. Avez vous une piste?

    Encore un tout grand merci !

  • Jeremy

    Membre
    23 mai 2024 à 12h49

    La colonne “Titre” ici est utilisé pour l’exemple, car j’ai eu la flemme d’en créer une autre 😅

    Effectivement la colonne est créée par défaut, tu peux la supprimer ou simplement l’ignorer. Perso je ne l’utilise pas car j’ai déjà eu des erreurs du type : En français c’est “Titre” mais dans un environnement Anglais c’est “Title” ==> Erreur de formule

    A ta place, je n’utiliserais pas de lookup column mais une colonne classique, et je ferais tout dans l’application directement. Déjà c’est plus simple, et ça permet aussi de rajouter du comportement dans l’appli.

    Exemple : mon Look-up ne retourne rienè Affichage d’un message d’erreur à l’utilisateur et impossible de valider la création.

  • Elias

    Membre
    23 mai 2024 à 13h57

    Encore un grand merci pour votre aide.

    En essayant de développer un app un peu compliquée j’ai l’imression ,de progresser un peu chaque jour, grace a vous:)

    je pense donc que je vais supprimer la colonne ID-mere et ne pas utiliser la fonction look up.

    Encore un grand merci!

Page 2 sur 2

Connectez-vous pour répondre.