Scripts de interacción con el usuario
Un Script de Interacción con el Usuario permite programar una interacción con el propietario del trabajo y modificar el trabajo en función de la respuesta del usuario. En concreto, permite mostrar una serie de cuadros de diálogo de interfaz de usuario con preguntas y botones de acción (SÍ/NO, IMPRIMIR/NO, SÍ/NO/CANCELAR). Dependiendo de la selección del usuario, se pueden mostrar más cuadros de diálogo y se pueden realizar acciones. Finalmente, cuando se procesa el último diálogo, el script finaliza y el trabajo se establece como listo
y puede ser liberado.
Si hay un script de interacción con el usuario, primero debe ejecutarse correctamente antes de poder liberar el trabajo. El trabajo se fuerza en el pausa
estado hasta entonces.
Se pueden utilizar funciones básicas de PHP, y casi todas las descritas en Referencia de secuencias de comandos de trabajo. Los dos únicos métodos que no admite la función son $this->job->setPrinted()
y $this->job->pause()
. Aparte de las clases, métodos y propiedades comunes, puede utilizar varias funciones adicionales para comunicarse con la aplicación MyQ Desktop Client.
Cómo escribir un guión de interacción con el usuario
En la pestaña MyQ Desktop Client de una cola, en la sección Interacción con el usuario añada la secuencia de comandos en el campo y haga clic en Guardar.
En primer lugar, hay que definir el main()
. Esta función decide si el cuadro de diálogo debe abrirse (en qué condiciones) y qué cuadro de diálogo debe mostrarse.
A continuación, puede definir funciones al hacer clic con reacciones a la opción seleccionada: onSí(), onNo(), onImprimir(), onCancelar()
.
Las propiedades públicas se mantienen entre llamadas. De hecho, se envían al cliente y viceversa.
Estructura del guión
Consulte la siguiente secuencia de comandos:
$body
Utilizando el script anterior, este diálogo se muestra en MDC:

Si está familiarizado con el lenguaje PHP, el script es en realidad un cuerpo del archivo clase UserScript {...}
declaración.
Puede definir propiedades como $hasMoreThan10pages
. Las propiedades son persistentes entre múltiples invocaciones de script para el mismo trabajo. Utilícelas para almacenar un estado entre múltiples diálogos.
Existe la principal
función. Se llama una vez cuando se inicia el script. Úsala para mostrar el primer diálogo.
Luego están los onXXX
funciones. Son el manejador de acciones que se llama cuando se produce un XXX
está pulsado. Por ejemplo, el botón Sí
se gestiona mediante el botón onSí
función.
Si no muestra ningún diálogo, el script ha finalizado.
Referencia API
Véase Referencia de secuencias de comandos de trabajo sobre cómo modificar el trabajo y también para muchas otras operaciones que puedes realizar.
El script de interacción con el usuario se ejecuta en el contexto de la aplicación Usuario clase. Se puede acceder al trabajo enviado como $this->empleo
.
Se puede acceder a los objetos de todas las clases, excepto a la clase Session, a través del objeto job, por ejemplo el objeto propietario $this->job->propietario
. Objetos de la Sesión se puede acceder a través de la clase MyQ()
característica global; por ejemplo: MyQ()->logInfo("Este mensaje aparece en el registro de MyQ");
.
Clase UserScript
El Guión de Interacción con el Usuario es el cuerpo del UserScript
como se ha descrito anteriormente. MyQ también proporciona varios métodos incorporados de la clase Usuario además de sus propios métodos.
Métodos de creación de diálogos
Función | Descripción |
---|---|
void diálogoSíNo(cadena $texto) | Crea un diálogo con la |
void dialogPrintNo(cadena $texto) | Crea un diálogo con la |
void dialogYesNoCancel(cadena $texto) | Crea un diálogo con la |
void diálogo(cadena $texto, campo[] $campos) | Crea un diálogo con la |
Botón de campo botón(cadena $título, cadena $id) | Crea un botón personalizado que se puede utilizar en la función |
Lista de campos singleSelectList(cadena $nombre, matriz $elementos) | Crea una lista de opciones de las que el usuario sólo puede elegir una (grupo de radio). Puede utilizarse en el |
FieldMultiSelectList multiSelectList(cadena $nombre, matriz $elementos) | Crea una lista de opciones de las que el usuario puede elegir varias (casillas de verificación). Puede utilizarse en el |
Método onCancel
onCancel
maneja el botón Cancelar y se proporciona por defecto. Llama a terminar()
. Usted puede proporcionar su propia implementación para cambiar el comportamiento.
Otros métodos
Función | Descripción |
---|---|
void terminar() | Finaliza el procesamiento del script. El script no se ha ejecutado correctamente y el trabajo permanece en la carpeta |
mixto getField(cadena $nombre) | Obtiene el valor del campo con el |