Jump to content
Agnès

Auto Entrée Sur Multivaluées Recalculée

Recommended Posts

Coucou

me semble que je ne l'ai pas encore vu ça, des multivaluées en auto entrée qui se recalculent suivant la saisie de l'utilisateur

oui c'est dans la catégorie truk, oui c'est exploitable

Et dans la catégorie top en ce qui me concerne

Et un jour, on se passera du lien ;)

Zou

Agnès

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

MultiAutoEntree.fp7.zip

Share this post


Link to post
Share on other sites

Merci Agnès. Pourrais-tu détailler le fonctionnement intime de la 2e partie du clacul ? Je ne capte pas le fonctionnement, et surtout le rôle de la fonction ReferenceExterne.

Christian

Share this post


Link to post
Share on other sites

Hello M'sieur,

la 2e partie du clacul ? Je ne capte pas le fonctionnement, et surtout le rôle de la fonction ReferenceExterne.

le lien est sur la multivaluée, il va donc se "réévaluer" à chaque fois que l'on va "toucher" l'une des itérations

La fonction de la 2eme partie du calcul sert donc, grâce à ce lien et à ReférenceExterne() , à réévaluer le calcul auto entré pour chaque itération

La référenceExterne () agit après le calcul, si j'ai bien compris cette fonction, quand on la coche dans les options de calcul on a le message :

"(Lorsqu'une nouvelle entrée est ajoutée à la rubrique "Multival" cette référence externe copie la valeur du premier enregistrement lié concordant dans la table"

Ugo nous avait déjà démontré comment modifier une multivaluée via l'option référence Externe

mais on ne peut pas utiliser cette option + l'option auto entrée

pour voir ici ce qu'il se passe ici :

si tu enlèves tout le calcul et que tu mets juste referenceExterne(MultiRef::Multival) tu obtiens que la rubrique est vidée quelque soit la saisie

si tu remets le calcul et que tu enlèves juste le remplace2, tu verras qu'a chaque fois que tu changes l'une des Itérations, il y a un ? qui est ajouté. valeur qui n'ait donc pas trouvée (ou pas comprise)

ce qui veut dire que le résultat de referenceExterne est évalué pour chaque itération

d'ou l'essai que j'ai fait : mettre le calcul avant la demande de referenceExterne() qui servira de "trigger"

Je ne sais pas qui pousse qui à se réévaluer, mais du coup toutes les itérations se recalculent, avec le bon résultat,

via le remplace2, je supprime le ? ou, par précaution, la première valeur de l'ité 1 qui pourrait apparaitre. (on peut également mettre referenceExterne(MultiRef::Multival ; "" ) mais je préfère garder le remplace2 )

J'ai essayé avec une rubrique vide, referenceExterne(MultiRef::MaRubriqueVide ) ça marche également très bien

Bref, la réponse à ta question : non, je n'arrive pas exactement à expliquer ce qu'il se passe, je sais juste que pour un fichier, j'avais besoin de cette multivaluée auto entrée et que, globale ou non, le calcul (beaucoup plus complexe que celui que j'ai mis en démo) est très bien exécuté.

Voir donc l'explication réelle et sèrieuse. de ce qu'il se passe... pas par moi ;)

Mais, l'histoire m'intéresse hautement en tout cas.

Agnès

Share this post


Link to post
Share on other sites

hihi, quand je repense au calcul qu'Ugo et moi avions mis au point pour le même résultat... enfin, quand je dis "le même", on avait fini par le remplacer par un script par soucis de performance !

Bravo la Miss.

Et je continue de ne rien comprendre à la fonction Reference Externe. :)

Share this post


Link to post
Share on other sites

Bonjour,

Il y avait quelque petites curiosités avec le remplace2

Voici celui que j'utilise dans la vraie vie, je me sers d'une globale vide pour éviter le remplace2 et être sûre à tous les coups de ne rien avoir d'autre que ma valeur entrée.

il y a une différence par rapport à l'utilisation de deux multivaluées, puisqu'ici c'est la saisie qui se recalcule ( et je n'arrive d'ailleurs pas à faire la même chose via 2 multis )

j'ai ajouté un autre modèle pour montrer une autre possibilité

Bon, bien évidement je ne m'en sers pas tous les jours :rolleyes:

Bonne journée

Agnès

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

MultiAutoEntree_2.fp7.zip

Share this post


Link to post
Share on other sites

Coucou,

Je ne vois vraiment pas ce qui t'empêche de le faire fonctionner avec deux rubriques, l'une de saisie, et l'autre calculée.

Definir ([R = Obtenir ( NombreRépétitionsCalcul )];Cas ( Obtenir ( NomModèle ) = "MultiAutoEntree_2" ;CustomList ( 1 ; DecompteValeurs ( Saisie_MV) ; "Let ([Value = GetValue ( Saisie_MV ; [n] ) ;P = Position ( Value ; \"].\" ; 1 ; 1 ) ;Value = Case ( P > 0 ; Trim ( Middle ( Value ; P + 2 ; Length ( Value ) ) ) ; Value )]; \"[\" & [n] & \"]. \" & Value )" );Cas ( ObtenirNombre ( Saisie_MV ) = ( 2* R ) ; "oui, " & Saisie_MV & " est le bon chiffre." ; "non, pas le bon chiffre" )))

Saisie_MV étant une rubrique de saisie.

Pour ma part, la nécessité d'un lien pour bénéficier d'une auto-entrée en lieu et place d'un calcul n'est pas justifiée. Mais c'est une gymnastique intéressante, c'est vrai. Mais ça fait longtemps que j'ai rendu mon jogging :crying:

Psst pour Fabrice, le raffraichissement provoqué par RéférenceExterne ( ) est très compréhensible en effet, le comportement est identique finalement à celui obtenu par le simple Lookup d'une multivaluée vers l'autre.

Et je préfère toujours utiliser RéférenceExterne ( ) qu'un lien direct dans une auto-entrée, c'est plus propre, et indexable même calculé au travers les liens.

Share this post


Link to post
Share on other sites

Coucou,

Je ne vois vraiment pas ce qui t'empêche de le faire fonctionner avec deux rubriques, l'une de saisie, et l'autre calculée.

ben parce que je veux que ça soit la saisie qui se recalcule, la le calcul se faisant dans la rubrique calculée, elle ne sera pas accessible.

dans l'exemple 2 que j'ai mis, si on ajoute un mot dans une des listes, ça se renumérote automatiquement pour la saisie suivante ( au sein d'une même itération )

dans l'ité 3, si j'intercale une valeur en position 3, la numérotation se refera pour la prochaine saisie,

en rajoutant la valeur "je crois", j'obtiens immédiatement :

[1]. A vous

[2].

[3]. je crois

[4].

[5]. d’essayer

si je divague pas, dans ton exemple, c'est la rubrique calculée qui se recalculera mais l'utilisateur ne pourras pas avoir sa numérotation dans sa saisie

Share this post


Link to post
Share on other sites

Le calcul doit etre non memorise, s'I'll est indexe c'est bien entendu mort. La rubrique mv peut alors etre naturellement definie comme auto-entree et recuperer la valeur du calcul dans sa propre iteration

Share this post


Link to post
Share on other sites
Je ne vois vraiment pas ce qui t'empêche de le faire fonctionner avec deux rubriques, l'une de saisie, et l'autre calculée.

juste l'envie de le faire qu'avec une seule !

Le calcul doit etre non memorise, s'I'll est indexe c'est bien entendu mort.

oui, j'avais mal essayé en mettant effectivement 2 multi auto entrée

bon, j'aime pas quand tu te forces ! ça démonte mon truc direct ! me plaisait bien pourtant, mais tu as clairement raison (...)

Merci à toi, adopté pour ma vraie vie !

Agnès

n'empeche qu'un jour j'utilserais RéférenceExterne () !!

Share this post


Link to post
Share on other sites

Coucou,

juste l'envie de le faire qu'avec une seule !

"une seule" a de la chance alors :rolleyes:

n'empeche qu'un jour j'utilserais RéférenceExterne () !!

Pourquoi pas. Je ne comprends toujours pas pourquoi cette fonction n'est pas plus souvent adoptée. C'est tout de même pour commencer l'unique fonction, avec sa soeur RéférenceExterneSuivante ( ) qui permet de ne jamais reçevoir ce message

Image 15.png

Puisqu'elle a été nativement conçue pour récupérer des valeurs liées, ou restituer le cas échéant un résultat, les constructions du type

Cas ( not EstVide ( MaTableLiee::MaValeur ) ; MaTableLiee::MaValeur { ; AutreResultat } ) 

sont obsolètes, d'autant que RéférenceExterne ( ) fonctionne très bien avec des noms d'occurrences de tables calculées - pour le rendre dynamique - ou en formulation imbriquées

RéférenceExterne ( MonLien1::Valeur ; RéférenceExterne ( MonLien2::Valeur ; RéférenceExterne ( MonLien3::Valeur ; AutreResultat ) ) )

Bref, une fonction vraiment plus qu'intéressante.

Image 15.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

post-106-12555281143582.png

Share this post


Link to post
Share on other sites

J'ai beaucoup de mal encore à juger, jauger, ce qui est le mieux dans certains cas, pour rapatrier les données liées.

référence externe, auto entrée, calculée, scriptée, non mémorisé. le choix est souvent instinctif pourtant il est dépendant du choix "client-développeur" : cette donnée ne doit jamais etre mise a jour, doit être mémorisée, doit changer si l'on change x

en fait, j'ai du mal à savoir si la donnée doit être stockée en dur ou non dans la table liée, souvent liée via un zkp, la rubrique liée est mise sur la TE alors que de temps en temps c'est mieux de l'incorporer dans la table source, mais si on l'incorpore, doit elle etre mise à jour ou figée en date de création (??!!)

bref :)

bref, un autre débat autour d'une tasse de thé !

Merci à Toi

Agnès

vais tester ta référence externe :rolleyes:

Share this post


Link to post
Share on other sites

Oui, ce n'est en effet pas le débat, d'autant que l'usage d'une fonction n'est pas vraiment lié à la problématique que tu soulèves. On peut scripter en utilisant une fonction pour la définition de la rubrique par exemple.

Et à vrai dire, c'est bien d'essayer, mais les chances sont minces qu'une tasse de thé soit indiquée, même en me forçant. :P

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...