Referencia de la biblioteca JavaScript
Qflow provee una biblioteca de JavaScript con funciones para ser utilizadas en un contexto específico. Las funciones son accesibles por medio del objeto Host. El objeto Host permite obtener otros objetos, como por ejemplo, objetos que representan datos de aplicación, que también exponen funciones y propiedades. Todas las funciones que tienen índices (típicamente, el parámetro instance) utilizan el 0 como primera posición.
Host
El objeto Host expone las siguientes funciones. Para acceder a ellas, escriba Host.nombreFunción(parámetros). Tenga en cuenta que algunas funciones sólo tienen sentido en algunos contextos. Por ejemplo, no tiene sentido getTaskName en un formulario de inicio, porque no hay tarea.
getCurrentUserGroups: devuelve los grupos a los que pertenece el usuario actual.
getCurrentUserId: devuelve el identificador del usuario actual
getData(dataName): devuelve un objeto Data, que representa el dato de aplicación cuyo nombre es dataName.
getLine(lineName): devuelve un objeto Line que representa el bloque de líneas cuyo nombre es lineName.
getRole(roleName): devuelve un objeto Role que representa el rol cuyo nombre es roleName.
getDataSourceItemDescription(key, domainId, parameters, onSuccess, onError): para utilizar con dominios que obtienen sus datos de fuentes externas de datos (o de una lista; ver el manual de Qflow Design). Obtiene, para el dominio con el identificador domainId, la descripción correspondiente a la clave key. Si el dominio recibe parámetros, estos se pasan en el parámetro parameters. Los parámetros onSuccess y onError son para especificar funciones a invocar en caso de éxito o error. La función especificada en onSuccess puede recibir un parámetro, que Qflow llenará con la descripción obtenida.
getSecurityMember(memberId, onSuccess, onError): obtiene el miembro (usuario, cola de trabajo, nodo, etc) correspondiente al identificador memberId. Si lo encuentra con éxito, invoca la función especificada por onSuccess, pasando como parámetro el miembro obtenido. Si falla, invoca la función especificada en onError.
getFlowName: devuelve el nombre del proceso.
getFlowDescription: devuelve la descripción del proceso.
getTemplateName: devuelve el nombre de la plantilla a la que pertenece el proceso.
getTemplateDescription: devuelve la descripción de la plantilla a la que pertenece el proceso.
getTemplateVersionName: devuelve el nombre de la versión que se usó para iniciar el proceso.
getTemplateVersionDescription: devuelve la descripción de la versión que se usó para iniciar el proceso.
getTaskName: devuelve el nombre de la tarea.
getTaskDescription: devuelve la descripción de la tarea.
getTaskSubject: devuelve el asunto de la tarea.
getTaskResponse: devuelve la respuesta a la tarea.
getTaskProgress: devuelve el progreso de la tarea.
setFlowName(value): asigna value al nombre del proceso (usar sólo en un formulario de inicio).
setFlowDescription(value): asigna value a la descripción del proceso (usar sólo en un formulario de inicio).
setTaskResponse(value): selecciona la respuesta con valor value.
setTaskProgress(value): asigna value al progreso de la tarea.
submit(): envía el formulario (es como hacer clic en el botón principal del formulario).
Data
Un objeto Data representa un dato de aplicación. Los objetos Data se obtienen mediante la función Host.getData. Exponen las siguientes funciones:
addInstance(): en datos multivaluados, agrega un valor al dato, sin especificar ese valor. El valor debe ser asignado después mediante la función setValue.
getInstanceCount(): devuelve la cantidad de valores que tiene el dato.
getValue(instance): devuelve el valor que tiene el dato en la posición indicada por instance (por ejemplo, getValue(0) devuelve el primer valor).
removeInstance(instance): elimina el valor en la posición indicada por instance.
setErrorMessage(itemInstance, msg): muestra el mensaje de error especificado por el parámetro msg para el dato en la posición indicada por el parámetro itemInstance.
setValue(instance, value): asigna el valor value a la posición instance del dato. Cabe destacar que se asume que el valor es del tipo de dato del dominio configurado.
Las siguientes propiedades de los objetos Data pueden resultar útiles:
addAllowed: indica si el alcance definido para el dato en el formulario permite agregar valores al dato.
dataId: identificador del dato.
dataType: representa el tipo del dato.
defaultValue: valor por defecto del dato.
domainId: identificador del dominio del dato.
group: nombre del grupo al que pertenece el dato.
isMultivalued: indica si el dato es multivaluado.
lineName: nombre del bloque de línea.
maxInstances: cantidad máxima de valores que puede tener el dato.
minInstances: cantidad mínima de valores que debe tener el dato.
name: nombre del dato.
removeAllowed: indica si el alcance definido para el dato en el formulario permite quitar valores del dato.
scope: representa el alcance del dato para el formulario en el que se está usando.
tooltip: tooltip del dato.
Line
Un objeto Line representa un bloque de líneas. Los objetos Line se obtienen mediante la función Host.getLine. Exponen las siguientes funciones:
addInstance(): agrega una fila al bloque.
getData(dataName): devuelve el dato cuyo nombre se indica en el parámetro dataName. El objeto devuelto es del tipo Data. Un bloque de líneas está compuesto por varios datos, uno por cada columna del bloque, y todos multivaluados. Cada valor de cada dato representa una celda del bloque de líneas. Por ejemplo, para obtener el valor que hay en la segunda fila de un bloque de líneas para determinada columna, hay que buscar el segundo valor del dato correspondiente a esa columna (si la columna está representada por el dato “Dirección”, hay que buscar el segundo valor del dato “Dirección”).
getInstanceCount(): devuelve la cantidad de filas que tiene el bloque.
removeInstance(instance): elimina la fila en la posición indicada por instance.
Las siguientes propiedades de los objetos Line pueden resultar útiles:
addAllowed: indica si el alcance del bloque para ese formulario permite agregar filas a la línea.
maxLines: cantidad máxima de filas que puede tener la línea.
minLines: cantidad mínima de filas que debe tener la línea.
name: nombre del bloque de líneas.
removeAllowed: indica si el alcance del bloque para ese formulario permite borrar filas de la línea.
Role
Un objeto Role representa un rol. Los objetos Role se obtienen mediante la función Host.getRole. Exponen las siguientes funciones:
addInstance(): permite agregar un miembro al rol, sin especificar cuál es el miembro.
addMember(memberId, onSuccess, onError): agrega al rol el miembro con identificador memberId. Una vez agregado con éxito el miembro, Qflow ejecutará la función indicada en onSuccess (esta función puede recibir como parámetro un objeto que representa el miembro seleccionado). Si se produce un error, invocará la función especificada en onError.
getInstanceCount(): devuelve la cantidad de miembros que tiene el rol.
getMemberId(instance): devuelve el identificador del miembro que está en la posición instance.
getMemberName(instance): devuelve el nombre del miembro que está en la posición instance.
getMemberType(instance): devuelve el tipo del miembro (por ejemplo, si es un usuario, una cola de trabajo, etc.) que está en la posición indicada por instance.
removeInstance(instance): quita del rol el miembro que está en la posición instance.
removeMember(instance): quita del rol el miembro en la posición instance.
setErrorMessage(itemInstance, msg): muestra el mensaje de error especificado por el parámetro msg para el miembro en la posición indicada por el parámetro itemInstance.
setMember(value, instance, onSuccess, onError): asigna el miembro indicado por value a la posición instance del rol. Una vez agregado con éxito el miembro, Qflow ejecutará la función indicada en onSuccess (esta función puede recibir como parámetro un objeto que representa el miembro seleccionado). Si se produce un error, invocará la función especificada en onError.
Las siguientes propiedades de los objetos Role pueden resultar útiles:
addAllowed: indica si el alcance definido para el rol en el formulario permite agregar miembros al dato.
id: identificador del rol.
isMultivalued: indica si el rol es multivaluado.
maxInstances: cantidad máxima de valores que puede tener el rol.
minInstances: cantidad mínima de valores que debe tener el rol.
name: nombre del rol.
removeAllowed: indica si el alcance definido para el rol en el formulario permite quitar miembros del rol.