La ventana del informe no se cierraTengo un script que estoy intentando configurar y que cuando se ejecuta, aparece una GUI interactiva que se ve así:

Puedo completar el número de lote y el único botón que funciona en este momento es el de "Pantalla CPL".Hago clic en él y genera un informe sobre si las obleas de ese lote pasaron los límites de detección.Si hay códigos de error o valores muy altos dentro de los datos, se agrega un cuadro de botón al informe que pregunta si el usuario desea que se eliminen esos valores y se vuelva a realizar la evaluación.

He configurado el botón donde se supone que debe cerrar la ventana del informe actual y la tabla de datos asociada a ella y volver a ejecutar la misma "Pantalla CPL" que hice al principio después de eliminar los datos incorrectos.El único problema es que cuando hago clic en el botón volver a ejecutar, la ventana original se cierra y el informe no finaliza.
Puedo ingresar físicamente al script y resaltar el código que está conectado al botón y el script funciona bien.Sólo no funciona si realmente hago clic en el botón.Así es como se ve la lista de ventanas cuando se accede por primera vez:

Así es como se ve cuando hago clic en el botón Volver a ejecutar:

Parece que el informe original no se cierra antes de que se abra el nuevo.Estoy perplejo considerando que puedo ejecutar físicamente el mismo código y todo funciona.El siguiente es un diagrama de flujo de Suedo de lo que está haciendo el script:

Cualquier ayuda sería muy apreciada.
Re: La ventana de informe no se cierraEl botón y todas sus propiedades, incluida su secuencia de comandos, son elementos secundarios de un árbol de visualización. El árbol de visualización está contenido en la ventana. Cuando cierras la ventana, el botón y su script se destruyen. Esto provocaría un error (potencialmente muy grave) si es el script del botón el que cerró la ventana. Entonces, JMP observa eso y se asegura de que la ventana esté oculta, pero espera hasta que finalice la secuencia de comandos del botón.
Aquí hay un script para demostrar este comportamiento. Mire la lista de ventanas en su ventana de inicio para verla:
win1 = New Window( "Window 1",
V List Box(
Button Box( "Close window 1 and open window 2",
win1 << close window;
win2 = New Window( "Window 2",
<<MODAL></MODAL>
Re: La ventana de informe no se cierraDescubrí que si pones un botón en la ventana del informe que cierra esa ventana y continúa con más script, la ventana que contenía el botón no se cierra por completo. Pero si coloca un botón fuera de la ventana del informe que ejecuta exactamente el mismo script, entonces todo funciona bien. No estoy exactamente seguro de por qué es así y tuve que cambiar un poco mi guión para compensarlo, pero al final ahora funciona bien.Re: La ventana de informe no se cierraEl código para agregar el botón a la ventana del informe es el siguiente:
if(errors_exist == 1 | large_value == 1,
error_box << append(Button box("Remove Erroneous Data and Rerun Analysis",redo_analysis))
)
El código para redo_analysis es el siguiente:
redo_analysis = expr(//if the user wants to eliminate error codes or large data values need to redo the screening and remove the issue points
close(dt_screen_results, nosave);
re_run = 1; //boolean flip to not have the script pull data from the database again
screen_result_window << close window;
//wait(5);
column(dt_lot, "Screen Results") << set selected(1);
dt_lot << delete columns();
if(errors_exist == 1, //deletes the error code rows
dt_lot << selectrows(error_rows)
);
if(large_value == 1,//deletes the large value rows
dt_lot << selectrows(large_values)
);
dt_lot << delete rows()
CPL_screen
//window(char(lot_num << get text) || " CPL Results Summary") << close window;
);
Si presiono el botón en el informe, el problema persiste. Si no presiono el botón pero resalto redo_analysis en el script y ejecuto esa parte, todo funciona bien.
Re: La ventana de informe no se cierraAbrir una ventana en JMP no detiene automáticamente el procesamiento de su secuencia de comandos.Uno tiene que declarar la ventana como una ventana "modal" o incrustar el código que se ejecutará en los objetos dentro de la ventana, de modo que no se ejecuten hasta que un usuario haga clic en un botón o haga una elección en un cuadro combinado. etc.
Entonces, supongo que su código JMP continúa procesándose mientras tiene la ventana abierta y está pensando que el procesamiento está esperando la entrada del usuario antes de continuar.
Re: La ventana de informe no se cierraDespués de jugar más, parece que el script no se está ejecutando en la secuencia que pensé que debería hacerlo. Pensé que el script ejecutaría las cosas secuencialmente, ya que en la línea 10 se ejecutaría, luego pasaría a la línea 11 y la ejecutaría. Descubrí que aunque tengo la línea de informe << cerrar ventana() en una línea al comienzo de la parte de repetición, el script no ejecuta completamente esa línea hasta que el script esté completamente terminado. La ventana quedará oculta pero no se cerrará por completo hasta que se abra la nueva ventana. Como tengo un complemento < ¿Alguna idea de por qué JMP está haciendo esto y qué puedo hacer para mitigarlo? Olvidé mencionar que estoy ejecutando JMP 12.