Toutes mes réponses sur les forums
-
AuteurRéponses
-
extrapitouMembre
Effectivement ça fonctionne merci :bravo: . par contre il va falloir que je potasse des cours de script car la si je dois reproduire ou debug je suis mort
extrapitouMembreok merlin c’est bien ce que j’avais déduit mes champs “R.cuisine.baignoire_case” sont structurés comme tu le préconise hormis qu’il faut que je précise le numéro de la rangée.
je vais avancé dans ce sens, merci.
Par contre concernant mon commentaire ci-dessous, auriez vous une idée du pourquoi ?
Par contre à la fin du script j’ai une partie qui permet de reset les valeurs des champs lorsque l’on décoche la case de début de ligne. Et a priori ça ne marche pas et je ne vois pas ce qui cloche, la liste se remet bien en valeur “sélectionnez” (en vert ça fonctionne) mais les autres champs ne se vident pas (en rouge ça ne fonctionne pas)
……
//pour reset des valeurs lorsque que l’on decoche la case maitre
event.value = “Sélectionnez”
this.getField(“R.autre”).value = “”;
this.getField(“R.cuisine”).value = “”;
this.getField(“R.salle_bain”).value = “”;
this.getField(“R.salle_eau”).value = “”;
this.getField(“R.buanderie”).value = “”;
this.getField(“R.cave”).value = “”;
this.getField(“R.commun”).value = “”;
}extrapitouMembrej’ai aussi des problème d’affichage avec le fichier de merlin, quand je decoche certaines cases de debut de ligne, j’ai le menu de salle d’eau qui s’affiche sur la ligne en dessous alors que normalement tout doit rester hidden.
Et qd je coche la premiere case la souris devient un sablier avec une calculatrice (ca reflechit)….. étrange
extrapitouMembreyes trouvé
la vache ya un sacré charabia :Smiley11: :Smiley11: :Smiley11: c’est bcp moins simple à comprendre que en direct dans les formulaires lol. je suppose que ca donne plus de liberté dans la création des scripts
extrapitouMembredans ton fichier je vois que tu as dupliqué les champs en blabla.0 blabla.1 etc….
par contre qd je vais voir les scripts c’est juste marqué piece(); et case();
je ne comprends pas comment avec ceci cela fonctionne, a moins que ce soit dans la fameuse “console javascript” ?extrapitouMembreCoucou,
Bon j’ai pu avance un peu sur le sujet. J’ai renommé tout les champs sur le principe “R.cuisine.evier_liste” (décliné selon les pieces et les champs).
J’ai modifié le script en plaçant les champs parents et ça fonctionne, j’ai pu diviser par 4 le nombre de lignes c’est cool merci a vous
Par contre à la fin du script j’ai une partie qui permet de reset les valeurs des champs lorsque l’on décoche la case de début de ligne. Et a priori ça ne marche pas et je ne vois pas ce qui cloche, la liste se remet bien en valeur “sélectionnez” (en vert ça fonctionne) mais les autres champs ne se vident pas (en rouge ça ne fonctionne pas)
……
//pour reset des valeurs lorsque que l’on decoche la case maitre
event.value = “Sélectionnez”
this.getField(“R.autre”).value = “”;
this.getField(“R.cuisine”).value = “”;
this.getField(“R.salle_bain”).value = “”;
this.getField(“R.salle_eau”).value = “”;
this.getField(“R.buanderie”).value = “”;
this.getField(“R.cave”).value = “”;
this.getField(“R.commun”).value = “”;
}¨Par contre lorsque que l’on fait “créer plusieurs copies”, le script ne suit pas car mes champs s’appellent maintenant “R.cuisine.evier_liste.0” mais dans le script c’est toujours “R.cuisine.evier_liste”. Est ce un comportement normal ?
extrapitouMembreLa colonne “Autre” de ton fichier excel s’applique à TOUTES les autres pièces, (salon, chambres, cellier, wc…) ???
@+
:bonjour:tout a fait
extrapitouMembre:soleil: :soleil: :soleil: :soleil:
Ahh super tu illumine ma journée !!! ça commençait à m’énervé de devoir cliquer dans le vide pour valider la sélection
Voici en PJ un tableau excel avec l’attribution des champs par pièce.
J’ai ajouté une colonne pour proposer une nouvelle dénomination des champs, dites moi si ca convient
extrapitouMembrebonjour,
Attention, diplay and hidden ne signifient pas coché et décoché !!!
La case casepiece2 peut être cochée tout en n’étant pas visible… Que faut-il faire des champs liés à cette case ?
Tu parles de 12 lignes, si ces 12 lignes sont actives et que tu décoches pour rendre invisible une ligne, que doit-il se passer pour les lignes suivantes ??? Elles sont rendues invisibles également ???
@+
:bonjour:Oui j’ai bien noté que les display sont des critères de visibilité à l’écran.
En fait je vais essayé d’expliquer. Le pdf a l’ouverture est vide, il y a seulement une case à coché pour ajouter une pièce au descriptif (salon, cuisine etc…). Lorsque que l’on coche cette case des champ supplémentaires s’affichent pour que l’utilisateur puisse préciser les caractéristiques de la pièce (surface, revêtement sol, type de baignoire etc…). si c’est une pièce “simple” a droite il n’y aura qu’un champ commentaire, s’il s’agit d’une pièce spécifique il y aura des champs spécifiques (électroménager pour une cuisine, ou type de baignoire pour une salle de bain par exemple).
C’est une fiche technique d’agent immobilier si vous voulez tout savoir
Effectivement en décochant, il faut que ça reset les champs des lignes (c’était en place), et je viens de rajouter un reset de la case a cocher de la ligne2 si la case à cocher de la ligne1 a aussi été décoché, merci pour ta remarque.
je vous remet le fichier actualisé et fonctionnel en PJ. maintenant il faut que je m’occupe de renommer et dupliquer les champs pour faire mes 12 lignes.
extrapitouMembreQue tu peux simplifier ainsi :
if (event.target.isBoxChecked(0))
{
this.getField(“casepiece2”).display = display.visible;
}
else
{
this.getField(“casepiece2”).display = display.hidden;
}:idee: event.target (cible de l’évènement utilisateur) c’est le champ actif, celui qui est cliqué. Du coup il n’y a pas besoin de préciser son nom.
:Smiley03:Ok oui j’avais cru comprendre la subtilité, merci pour cette confirmation
Dans ton formulaire tu pourrais par exemple nommer tes champs par rangée :
– “rangee1.casePiece”, “rangee1.cuisine”, “rangee1.nbDePiece”, etc.
– “rangee2.casePiece”, “rangee2.cuisine”, “rangee2.nbDePiece”, etc.
– “rangee3.casePiece”, “rangee3.cuisine”, “rangee3.nbDePiece”, etc.Ensuite pour afficher toutes les champs d’une rangée : this.getField(“rangee2“).display = display.visible;
Ce qui affiche tous les champs enfants.Même chose pour masquer, colorer, activer, etc.
Ok je vois le principe, je vais tester merci
extrapitouMembrebonsoir,Ce n’est pas un script de calcul sur la case 2 qu’il faut mais un script d’action lorsque tu coche la case 1…
Je n’ai pas eu le temps d’étudier ton script et de voir les cases à montrer ou cacher mais il est certain que pour le simplifier il faudra revoir le nom des champs…
@+
:bonjour:Ok merci effectivement j’essayais pas de la bonne façon
j’ai mis ceci, et ca fait le job :
Code:if (this.getField(“casepiece1”).isBoxChecked(0))
{
this.getField(“casepiece2”).display = display.visible;
}
else
{
this.getField(“casepiece2”).display = display.hidden;
}maintenant il faut que je comprenne cette histoire de denomination de champs
extrapitouMembrePour le point 2 effectivement le comportement n’est pas celui voulu. En fait le but était de faire apparaître une case sur la ligne suivante pour permettre d’ajouter une pièce si voulu (et ainsi de suite jusqu’à la ligne 12). Cela permet de ne pas polluer le pdf en n’ayant que des lignes nécessaires au descriptif.
Donc je voulais mettre ceci :if (this.getField(“casepiece1”).isBoxChecked(0))
{
event.target.display = display.visible;
event.target.display = display.hidden;
}
}Mais je ne trouve pas où je pourrait mettre ca dans une case a cocher
Pour le reste merci je vais de ce pas me documenter
extrapitouMembreEDIT :
Pour le point 2, je vient de voir que c’est l’evenement “actif” ou “non actif” qui fait apparaitre/disparaitre la “casepiece2” donc effectivement ca ne marchera pas. Du coup comment faire car on ne peut pas mettre de script dans une case à cocher vu qu’il n’y a pas d’onglet “calcul”? -
AuteurRéponses