Tabla de datos al cerrar el problema según cómo se cierreHola, tengo un problema con la forma en que JMP decide cerrar las tablas de datos que tienen el siguiente script:
dt << Al cerrar (cerrar (Tabla de datos actuales (), no guardar));
Mi problema principal es cómo se cierran las tablas de datos cuando hay varias ventanas abiertas con este script. Si se usa la X en la esquina superior derecha, funcionará perfectamente 10/10 veces, pero si baja a la barra de tareas y se desplaza sobre cada tabla y presiona X, entonces puede cerrar varias tablas de datos (generalmente tablas de datos que se han abierto después de el que se está cerrando) lo que puede causar problemas si estamos usando activamente otras tablas.
¿La tabla de datos actual se está trasladando a través de las otras tablas de datos? Estaba tratando de encontrar alguna manera de alejarme del enfoque de la tabla de datos actual y hacer que tomara el nombre actual de la tabla de datos e intentara cerrarla de esa manera, pero tenía problemas.
¿Es este un problema con la secuencia de comandos o un problema con el manejo de JMP de cerrar ventanas a través de la barra de tareas?
Gracias,
Automatización y secuencias de comandosRe: Tabla de datos al cerrar el problema dependiendo de cómo se cierre¿Qué tablas de datos está tratando de cerrar con On Close ()?
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierreNo use CurrentDataTable(). Nunca, si se puede evitar. Como notó, la tabla actual se establece haciendo clic en una tabla y algunas otras posibilidades. Aparentemente, la barra de tareas no cuenta como hacer clic en la tabla.
Creo que estás tratando de aplicar el 'nosave' para olvidar cualquier cambio. (También puede usar la función setDirty(0).) He aquí dos formas de hacerlo.
Primero, con un parámetro 'este', a en este ejemplo. Contiene una ventana que tiene un cuadro secundario que conoce la tabla.
dt = Open( "$sample_data/big class.jmp" );
dt << onclose(
Function( {a},
Close( (a << child) << getdatatable, nosave );
1;
)
);
En segundo lugar, horneando en la mesa:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierreEl ejemplo setdirty:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Expr( dt ) << setdirty( 0 );
1;
)
)
);
Si ese es su objetivo, esto podría ser un poco más correcto; Las partes internas de JMP no se sorprenderán cuando el script onclose regrese y la tabla ya esté cerrada. Para éste, el 1; que se devuelve le indica a JMP que continúe cerrando la mesa.
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierreTablas de datos que extraen información de otra fuente de datos (LIMS, Excel, etc.).
Extrae la información y luego hay scripts que generan automáticamente gráficos IR, aplica límites de control a las columnas y algunas otras pequeñas comodidades.
Trato de hacer las cosas lo más automatizadas posible en el diseño de los scripts y debería haber una mínima interferencia humana con la tabla de datos. Cualquier cosa que necesitemos mirar básicamente salta a la vista e indicará si es necesario tomar alguna medida.
Dado que se extraen de una vista de solo lectura de LIMS/Excel, no hay motivo para necesitar guardar nada, excepto en circunstancias excepcionales en las que se necesita una manipulación adicional.
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierre¡Esto hace el trabajo hasta ahora! Si me encuentro con alguna situación que sale mal, volveré.
Gracias Craig!
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierre¿Has probado las otras opciones (usando Cerrar)? @Craige_Hales sugerido (sin usar << Set Dirty). Creo que deberían funcionar incluso si tiene informes abiertos. Otra opción sería obtener una lista de todos los informes asociados con la tabla de datos y cerrarlos primero (no estoy seguro de si hay alguna función fácil para esto).
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierreHola Jarmo,
Acabo de probar uno de los otros ejemplos que Craige había establecido y terminó funcionando. Realmente necesito ver todas las respuestas dadas antes de responder en el futuro. Es fácil olvidar que hay un millón de formas de hacer lo mismo en JMP y todos los comentarios aquí me ayudan a recordar eso.
Gracias por su ayuda.
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierreHola Craige, ha surgido un pequeño contratiempo con el enfoque Set Dirty.
Con el método Tabla de datos actual, también cerraría cualquier ventana abierta que dependiera de que la tabla de datos estuviera abierta, como un gráfico de control. ¿Cuál sería el mejor enfoque para forzarlo a cerrar cualquier ventana dependiente para que cierre toda la tabla de datos con un solo clic y sin otras indicaciones?
Editar:
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
Este funciona para cerrar cualquier ventana dependiente. ¡No lo había probado! Gracias por su ayuda a todos ustedes.
Re: Tabla de datos al cerrar el problema dependiendo de cómo se cierraParece que la opción onClose no se guarda con la tabla de datos.
¿Existe la posibilidad de almacenar la configuración onClose con la tabla de datos?
De lo contrario, ¿existe la posibilidad de ejecutar el mensaje OnClose de forma escuchada cuando el usuario abre la tabla de datos?
traté de poner
dt << on close( Function( {a}, Close( (a << child) << getdatatable, nosave ); 1;));en mi script On Open Table, pero ahora cada vez que abro la tabla de datos, Jmp muestra la advertencia:

Hm, programando un guión
- palabras grandes para "decirle a Jmp al final que no haga nada, ni siquiera guardar los datos";)