codice di ritardo fino al completamento dell'applicazioneHo uno script in cui prima pongo una domanda sì/no in una finestra di dialogo, se l'utente contrassegna "sì", verrà eseguita una sezione di codice che estrae dati da un database che viene poi utilizzato per creare un'applicazione. In quell'app l'utente interagisce con i dati (tabella e grafici) per produrre un modulo PDF, finalizzare quei materiali, chiudere l'applicazione e quindi passare alla stazione successiva, momento in cui si ottiene la stessa domanda sì/no ma per una posizione diversa. Il problema è che se seleziono sì, il codice viene eseguito e crea l'applicazione (tutto perfetto), ma poi continua alla finestra di dialogo successiva. Una volta che quella finestra di dialogo si apre, non posso interagire con la mia applicazione. Come posso codificarlo in modo che il dialogo successivo non venga visualizzato finché non ho terminato la mia applicazione?
Event=dialog("Ci sono campioni nel sito A?",
Vlist(Lineup(1,eventtype=pulsanti di scelta("Sì","No"),)));
Se(Evento["tipoevento"] == 1,(
//se l'utente seleziona sì, all'interno di questo sito viene eseguito il codice per produrre un'applicazione con grafici e tabelle (vedere l'esempio seguente). L'utente deve selezionare i punti nel grafico, generare il modulo PDF e quindi chiudere l'applicazione prima di procedere.
);
);
In questa schermata puoi vedere un pulsante che dice "Termina". Non voglio che la finestra di dialogo successiva si apra prima di aver cliccato su questo pulsante.

Esecuzione di JMP 16.2.0
Automazione e scriptingEsplorazione e visualizzazione dei datiRe: codice di ritardo fino al completamento dell'applicazioneAd esempio, puoi aggiungere l'espressione per creare la finestra di dialogo successiva all'interno del pulsante Termina
Re: codice di ritardo fino al completamento dell'applicazioneÈ una buona idea, ma ho giocato un po' con il codice e non riesco a capire come farlo funzionare. Quando inserisco la finestra di dialogo nel pulsante di completamento, il codice crea quell'applicazione e poi, prima che io possa interagire con essa, passa al ciclo successivo per creare quella per la posizione successiva. Ho bisogno di un modo per mettere in pausa il codice quando l'applicazione ha finito di essere creata e riavviarla automaticamente una volta che ho premuto il pulsante di completamento. Non so se sarà utile, ma allego del codice. Il primo dialogo arriva alla riga 5, quindi se selezioni sì, estrarrà i dati dal nostro server interno... questo non verrà eseguito per nessun altro (righe 24 - 638), quindi l'applicazione viene creata dalla tabella dati creata dal codice precedente. (646 - 1069), quindi il codice si ripete ma per un diverso set di dati (riga 1080).
Re: codice di ritardo fino al completamento dell'applicazioneNon ho molta familiarità con le applicazioni/dashboard JMP (le creo sempre io stesso per avere il controllo completo), ma vorresti che la sezione dopo 1080 non venisse eseguita finché l'utente non preme "Termina"
Re: codice di ritardo fino al completamento dell'applicazioneHo trovato una "soluzione". Ho semplicemente inserito un comando wait prima della riga 1080
If( Event["eventtype"] == 1,
wait(30);
);quindi se "Sì" è stato selezionato in precedenza, sa che ho generato un'applicazione e ho bisogno di tempo per interagire con essa. Questo dà all'utente 30 secondi per completare quell'azione, "finire" e poi passerà al componente successivo dello script... è una soluzione funzionale anche se non quella che avrei preferito. Di sicuro mette l'utente "sotto torchio" Dovrò armeggiare con il tempo di attesa per trovare una via di mezzo. Grazie per il tuo aiuto... mi hai fatto pensare.
Re: codice di ritardo fino al completamento dell'applicazioneTi ho inviato un messaggio in cui mostro cosa avrei potuto fare. In pratica sposterei la seconda parte dello script in expression (farei altre separazioni per migliorare la leggibilità, ma questa dovrebbe essere l'unica "necessaria") e poi la aggiungerei alla funzione/script button5. Ciò farebbe sì che l'espressione si attivi quando si preme button5. Questa opzione potrebbe richiedere del lavoro aggiuntivo a seconda di come vengono gestiti gli ambiti e gli spazi dei nomi.