cancel
Showing results for 
Search instead for 
Did you mean: 

Duda property task

jjabre
Champ in-the-making
Champ in-the-making
Tengo un tipo definido que esta asociado a un TASK NODE dentro del un workflow tarea definida

<type name="wfj:OC1">
<title>Press Release</title>
<parent>bmp:startTask</parent>
<properties>
<property name="wfj:ID">
<title>ID</title>
<type>d:text</type>
</property>
</properties>
</type>

Esta tipo lo muestra sin problemas, pero cuando trato de asignarle un valor a la variable ID en el workflow pero no puedo!!

<task-node name="Vendedor">
<task name="wfj:OC1" swimlane="initiator">
            <event type="task-create"  >
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
             <script>
             taskInstance.setVariable("ID","juan");[b] /* Aqui asiganr un valor a la variable */[/b]
              </script></action>
            </event>
</task>
<transition to="Documentos Proformas" name="Aceptar OC Cliente">
</transition>
<transition to="OC Rechazadas" name="Rechazar OC Cliente">
</transition>
</task-node>

He probado varios códigos pero ninguno ha funcionado, necesito ayuda para esto !!!.

Gracias.
7 REPLIES 7

fstnboy
Champ on-the-rise
Champ on-the-rise
Buenas jjabre,

No sé si has mirado el API de JavaScript en la wiki de Alfresco, quizás te sea de utilidad.

He encontrado este post en el foro inglés, ojalá te sirva http://forums.alfresco.com/en/viewtopic.php?f=36&t=15008&hilit=task+script+workflow

Saludos y suerte

jjabre
Champ in-the-making
Champ in-the-making
Gracias por la pronta respuesta

var task = workflow.getTaskByID(taskID);
task.properties["someProperty"] = "someValue";

Pero ya había probado ese código, me entrega primero un error por getTaskByID el cual debe ser segun he buscado getTaskById

Pero luego de este cambio me reclama por el valor del taskID o taskId (probé ambas).

Según leí necesito el nombre de la tarea actual, el cual no se como recuperara.

Gracias.

fstnboy
Champ on-the-rise
Champ on-the-rise
Podría ser algo como
taskInstance.id = "loquesea";

Supongo que ya lo has probado…. pero por si no lo probaste…

Mañana sigo mirando, ok?

jjabre
Champ in-the-making
Champ in-the-making
Me arroja un error de "invalit global Id 555" lo raro es que me entrega el valor de ID pero me dice que invalida.

Sigo buscando

Gracias.

fstnboy
Champ on-the-rise
Champ on-the-rise
Buenas,

Mirando por el foro ingles el error me he encontrado con el siguiente trozo de código de la clase BPMEngineRegistry (no he mirado mucho pero igual desmenuza un poco el código que puede que el ID deba llevar un formato en particular…)



161: public static String[] getGlobalIdParts(String globalId)
162: {
163: String[] parts = globalId.split(ID_SEPERATOR_REGEX);
164: if (parts.length != 2)
165: {
166: throw new WorkflowException("Invalid Global Id '" + globalId + "'");
167: }
168: return parts;
169: }

jjabre
Champ in-the-making
Champ in-the-making
ya lo resolvi era de la siguente forma

Como yo tenia definido la propiedad "wfj:ID" tenia que utilizar

taskInstance.setVariable("wfj_ID","texto");

Gracias por la ayuda

Lo otro es que esto tratando de utilizar la propiedad title del documento en un script al momento de ejecutar el workflow pero no puedo.

para el nombre utilizo document.name, pero para le titulo del documento no me reconce

document.title ni document.titulo en ambos casos me retorna undefined

jjabre
Champ in-the-making
Champ in-the-making
Ya lo resolvi era document.properties.title

mi otra duda es como poder ampliar el campo d:text porque actualmente es de 32 caracteres mas o menos, pero necesito que sea de mas.