Donnez vie à vos documents numériques !
 

Répondre à : Boite de dialogue pour récupérer des valeurs

abracadabraPDF Forums PDF – Général Boite de dialogue pour récupérer des valeurs Répondre à : Boite de dialogue pour récupérer des valeurs

#76013
bebarth
Maître des clés

bonjour,
voici un exemple avec quelques vérifications.
Ici on vérifie que tous les champs de la boite de dialogue sont remplis, que HP est supérieur à HC (supposition) et que à par le champ « Motif » tous les autres champs sont des nombres.
On peut bien sûr rajouter des vérifications…
J’ai fait en sorte que le script pour la boite de dialogue soit le plus compréhensible possible. Ici on doit vérifier tous les champs avec la fonction validate ce n’est donc pas indispensable d’utiliser commit (qui valide sans vérification).

var bbDialogue={
loadDefaults: function(boiteDialogue) {
boiteDialogue.load({
HPtx: "987",
HCtx: "123",
redu: "0",
moti: "Réduction du "+util.printd("dd mmm yyyy", new Date()),
})
},
initialize: function(boiteDialogue) {
this.loadDefaults(boiteDialogue);
},
validate: function(boiteDialogue) {
var oRslt=boiteDialogue.store();
HP=oRslt["HPtx"];
HC=oRslt["HCtx"];
EJ=oRslt["EJtx"];
EA=oRslt["EAtx"];
reduc=oRslt["redu"];
motif=oRslt["moti"];
var testOK0=true;
if (!HP || !HC || !EJ || !EA || !reduc || !motif) var testOK0=false;
var testOK1=true;
if (isNaN(HP) || isNaN(HC) || isNaN(EJ) || isNaN(EA) || isNaN(reduc)) var testOK1=false;
var testOK2=true;
if (Number(HC)>=Number(HP)) var testOK2=false;
if (!testOK0) app.alert("Veuillez remplir tous les champs.",3);
else if (!testOK1) app.alert("A part le motif de réduction, la valeur des autres champs doit être un nombre.",3);
else if (!testOK2) app.alert("Le montant HP doit être supérieur au montant HC.",3);
var testOK=testOK0 && testOK1 && testOK2;
return testOK;
},
description: {
name: "b2Tools",
elements: [
{
type: "view",
alignment: "align_fill",
elements: [
{
type: "static_text",
alignment: "align_center",
char_width: 20,
char_height: 3,
name: "Veuillez de remplir\rtous les champs".toUpperCase(),
font: "dialog",
bold: true,
},
{
type: "static_text",
name: "HP",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "HPtx",
width: 200,
},
{
type: "static_text",
name: "HC",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "HCtx",
alignment: "align_fill",
},
{
type: "static_text",
alignment: "align_center",
char_width: 20,
char_height: 3,
name: "Attention,\rHP doit être > à HC",
font: "dialog",
italic: true,
},
{
type: "static_text",
name: "EJ",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "EJtx",
alignment: "align_fill",
},
{
type: "static_text",
name: "EA",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "EAtx",
alignment: "align_fill",
},
{
type: "gap",
height: 5,
},
{
type: "cluster", //
elements: [
{
type: "static_text",
name: "Montant de la réduction",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "redu",
alignment: "align_fill",
},
{
type: "static_text",
name: "Motif de la réduction",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "moti",
multiline: true,
alignment: "align_fill",
height: 75,
},
]
},
{
type: "gap",
height: 15,
},
{
type: "ok_cancel",
},
]
},
]
}
};
if(app.execDialog(bbDialogue)=="ok"){
this.getField("HP").value=HP;
this.getField("HC").value=HC;
this.getField("EJ").value=EJ;
this.getField("EA").value=EA;
this.getField("reduc").value=reduc;
this.getField("motif").value=motif;
}

@+
😎

Attachments:
You must be logged in to view attached files.