Obtenga un script tipo jrp desde una ventana de informeHola a todos,
Estoy tratando de guardar mi script de informe en un archivo jrp como se explica en: Guardar gráficos como archivo ".jrp" en JSL
Sin embargo, no tengo acceso directo al Graph Builder que generó mi ventana de informe.
Recibo mis informes a través de
Get Window List(Type("Reports"));
Y ahora necesito extraer el script para guardarlo como un archivo de texto, sin embargo, no puedo averiguar cómo obtener ese script.
Cuando uso << Get Script, solo termino con cosas como
GraphBuilderBox(ScaleBox(ParallelScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(GraphBuilderContainerBox(Graph[...]
¿Cómo obtengo un texto que se parece más a
Graph Builder(
Size( 1896, 975 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(...
?
secuencias de comandosRe: Obtener un script similar a jrp desde una ventana de informeGracias @MikeD_Anderson ! Estoy de acuerdo, sería una buena adición.
Re: Obtener un script similar a jrp desde una ventana de informe¡Esta pequeña pepita debería estar en el libro de cocina de JSL! Gracias @txnelson ! @DonMcCormack
Re: Obtener un script similar a jrp desde una ventana de informe¡Muchas gracias, eso lo hizo!
Re: Obtener un script similar a jrp desde una ventana de informeLa "lista de ventanas de obtención" devuelve el padre superior para la ventana.
El "Obtener objeto programable" es un mensaje a un cuadro de esquema().Por lo tanto, esta modificación debería darte lo que quieres.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dis = Distribution( Continuous Distribution( Column( :height ) ) );
x = (Get Window List( Type( "Reports" ) )[1][Outline Box( 1 )] << get scriptable object());
x << get script;
Re: Obtener un script similar a jrp desde una ventana de informeInteresante. Haciéndolo paso a paso así:
wList = Get Window List(Type("Reports"));
rep = wList[1] << report;
so = rep << Get Scriptable Object();
skr = so << get script();
Print( skr );Ahora estoy recibiendo mensajes de error que El objeto 'HeadBox' no reconoce el mensaje 'informe'; así como también El objeto 'HeadBox' no reconoce el mensaje 'Get Scriptable Object'; si corto el mensaje de informe. Asi que Obtener lista de ventanas (Tipo ("Informes")); obtiene un headbox que solo puede reconocer Get Script, que a su vez me da el mismo viejo
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box
Ya aprendí algo, pero todavía no estoy allí todavía. Cómo hacer Obtengo el objeto programable de mi ventana?
Re: Obtener un script similar a jrp desde una ventana de informePuede ser que tus mensajes en:
print(wList[1] << report << Get Scriptable Object() << get script());
no se ejecutan en el orden que crees.
Compara los resultados de estos dos:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
Print( (rbiv << Get Scriptable Object()) << get script() );
Print( rbiv << Get Scriptable Object() << get script() );
Re: Obtener un script similar a jrp desde una ventana de informeGracias por la respuesta. Sin embargo, no logré resolver mi problema todavía.
Después de abrir un archivo .jrp existente, que a su vez abre una tabla de datos y una ventana de informe, los siguientes scripts:
wList = Get Window List(Type("Reports"));
print(wList[1] << report << Get Scriptable Object() << get script());wList = Get Window List(Type("Reports"));
print(wList[1] << Get Scriptable Object() << get script());ambos darán como resultado
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box(V List Box(H List Box(ButtonBox, ButtonBox, ButtonBox), BorderBox(V List Box(H List Box(PopupBox, Text Box("40 Columns")), V List [... etc.]No es el tipo de guión que estoy buscando. Este parece ser un caso especial, ya que estoy comenzando con una ventana de informe existente. ¿Qué estoy haciendo mal?
Re: Obtener un script similar a jrp desde una ventana de informeEche un vistazo al mensaje Get Scriptable Object(). Puede usar eso para obtener acceso a la plataforma (es decir, Graph Builder) en un informe.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
bivobj = rbiv << Get Scriptable Object();
bivobj<<GET script=""></GET>