Agregue una línea de referencia en el informe a través del script del generador de aplicacionesHola a todos,
Estaba tratando de agregar la siguiente línea en mi secuencia de comandos del generador de aplicaciones para agregar líneas de referencia a los informes:
Report1[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );
Sin embargo, no hace nada.No recibo advertencias ni errores en el registro. Revisé el árbol de visualización y estoy accediendo al Axis Box correcto. Si cambio el índice del cuadro del eje, sí genera un error. No puedo ver por qué esto no debería funcionar. ¿Es esto un error?
Curiosamente, mientras jugaba con él, cambié algo que producía un error en esa línea, pero agregué con éxito la línea de referencia. Una vez. Volver a ejecutar lo mismo no agregó la línea en el futuro.
Desde entonces, lo cambié a un botón que presiona en el informe para agregar la línea de referencia, que funcionó en el primer intento usando exactamente la misma línea de script, por lo que no necesito una solución con urgencia. Sólo me preguntaba si esto es un error.
Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesHola a todos: me complace informar que el problema original informado aquí se solucionó en la última versión de JMP (15). Ya no debería necesitar esperar (0) para que esto funcione. Para aquellos que usan versiones anteriores de JMP, esta es una excelente solución.
Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesEn este caso, Wait(0) permite que la ventana se muestre en la pantalla, lo que también establece el "estado inicial" que determina si las personalizaciones se guardan en el script.Por razones de rendimiento, algunos eventos se procesan de forma asíncrona para permitir que los scripts continúen ejecutándose.
Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesGracias como siempre a todos!!
Dan, ¿puedes explicar qué es exactamente agregar Wait(0); ¿La línea lo hace? (es decir, ¿actualizar las pantallas?)
Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesTambién probé esto usando Big Class como ejemplo, y es posible que haya descubierto lo que está sucediendo.Mi aplicación está adjunta y funciona inicialmente.Sin embargo, si activa el filtro de datos locales, la línea desaparece.El LDF funciona volviendo a ejecutar la plataforma y, en este caso, las personalizaciones de la línea de referencia no se conservan.Esto sucede tanto dentro como fuera de App Builder.
El problema es que las secuencias de comandos de la plataforma (tal como se guardan desde LIRT > Guardar secuencia de comandos > A la ventana de secuencia de comandos) solo guardan las personalizaciones que se han aplicado desde la visualización inicial de la plataforma.Este es uno de los casos en los que se agrega la línea:
Wait(0);
ANTES el código que accede al informe permitirá que la plataforma muestre una vez antes de agregar la línea de referencia.En el .jmpappsource adjunto, he comentado esta línea, por lo que puede volver a agregarla para probar la solución.
Re: Agregar línea de referencia en el informe a través del script del generador de aplicaciones¿El objetivo es agregar solo una línea de referencia o el objetivo es agregar líneas de referencia dinámicamente?

A veces necesito agregar líneas de referencia basadas en datos en una tabla. En este caso, agregar este script para personalizar el gráfico es el truco.
//example<BR />For Each Row(
If( :ref > 0,
V Line( Row(), Col Minimum( :weight ) - 10, Col Maximum( :weight ) + 10 )
)
)
En un poco más de contexto, esto es lo que parece.
dt=open("$Sample_Data\Big Class.jmp");
dt<< New Column( "ref",
Set Values(
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
)
);
dt<<NEW column=""> 0,
V Line(
Row(),
Col Minimum( :weight ) - 10,
Col Maximum( :weight ) + 10
)
)
)
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
</NEW>Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesGracias por la aclaración.En ese caso, su código realmente debería funcionar.Hice un caso de prueba con un informe unidireccional en una aplicación de creación de aplicaciones y esa línea de código funcionó perfectamente.¿Tal vez valga la pena una llamada de soporte técnico?
Re: Agregar línea de referencia en el informe a través del script del generador de aplicacionesLo siento, no proporcioné más contexto. Report1 es un informe unidireccional asignado en el generador de aplicaciones. La variable existe.
Pude acceder al marco del mismo informe para agregar una leyenda usando:
Report1[FrameBox(1)] << Row Legend(
Tissue,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 ));
Así que creo que la referencia está funcionando.
Sin embargo, probé la línea que sugeriste y no produjo nada. Sin errores ni advertencias, sin línea de referencia.
Re: Agregar línea de referencia en el informe a través del script del generador de aplicaciones¿Cómo se define Informe1?ese es el nombre del modulo?
Por lo general, para acceder a los cuadros de visualización sin nombre en una ventana del módulo Application Builder, debe obtener una referencia a la ventana usando algo como:
Report1 = this module instance << Get box
Intenta reemplazar la línea que tienes con esto para ver si ese es el problema:
(this module instance << get box)[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );