Agregar línea de referencia en el informe a través del script del generador de aplicacionesHola a todos,
Estaba intentando agregar la siguiente línea en el script 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 cuadro de eje correcto. Si cambio el índice del cuadro del eje, genera un error. No veo por qué esto no debería funcionar. ¿Es esto un error?
Curiosamente, mientras jugueteaba con él, cambié algo que produjo 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 se 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. Me pregunto 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 informarles 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 utilizan 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 asincrónica 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); línea 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á pasando.Mi aplicación está adjunta y funciona inicialmente.Sin embargo, si activa el filtro de datos local, 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 los scripts de la plataforma (guardados desde LIRT > Guardar script > En ventana de script) 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 se muestre una vez antes de agregar la línea de referencia.En el archivo .jmpappsource adjunto, comenté 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 es agregar líneas de referencia dinámicamente?

A veces necesito agregar líneas de referencia basadas en los datos de una tabla. En este caso, agregar este script para personalizar el gráfico es la solución.
//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.¿Quizás valga la pena llamar al 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 framebox 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 ));
Entonces 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 árbitro.
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 módulo?
Normalmente, para acceder a cuadros de visualización sin nombre en una ventana del módulo Application Builder, necesita obtener una referencia a la ventana usando algo como:
Report1 = this module instance << Get box
Intente reemplazar la línea que tiene con esta 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 );