Editar propiedades de un documento (en un workflow)

cancel
Showing results for 
Search instead for 
Did you mean: 
roseta
Member II

Editar propiedades de un documento (en un workflow)

He creado mi propio workflow avanzado en Alfresco y me gustaría, dependiendo del camino que tome el workflow, actualizar las propiedades del documento participante en el workflow, en mi caso, un documento de tipo CV.  Es decir, si el usuario elige una transición determinada (geología), quiero dar un "tutor" geólogo a sus prácticas mediante javascritp a mi documento, distinto a si el usuario elige otra transición.

El código que no funciona y que estoy utilizando es:

<transition name="Geologia" to="geologiaTask">
   <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
      <runas>admin</runas>
         <script>                
            <expression>

               var documento = bpm_package.children[0];
               documento.properties[cv:tutor]="Jose Mesa";
               documento.properties[cv:departamento]="Geologia";
               documento.save();
               
            </expression>
         </script>
   </action>
</transition>

El workflow se ejectua bien en esta transición pero los datos no se actualizan. Supongo que realmente no estoy accediendo a las propiedades del documento cv implicado en el workflow, alguien puede decirme cómo acceder, por favor? Gracias de antemano! =)
6 Replies
yakon_8894
Member II

Re: Editar propiedades de un documento (en un workflow)

Buenas tardes roseta,

si no me equivoco lo que te falta al final es hacer un save de los cambios que has realizado. es decir poner:


documento.save();

Un saludo
roseta
Member II

Re: Editar propiedades de un documento (en un workflow)

No, no… en el ejemplo real lo tengo puesto, pero se me pasó ponerlo en la consulta del foro, ya lo agregué! Gracias de todos modos! =)

Tengo la sensación de que bpm_package.children[0] no es realmente el documento implicado en el workflow, sabe alguien si debo agregar algo más???
yakon_8894
Member II

Re: Editar propiedades de un documento (en un workflow)

Pues lo único que veo diferente a lo que suelo hacer es asignar el valor de bpm_package.children[0] a una variable. He buscado en proyectos que hemos hecho con workflows y un ejemplo sencillo de aprobación que nos funciona correctamente es:


<transition name="Aprobar" to="submitSerialReview">
            <script>
                <variable name="apbcal_approveCnt" access="read, write"/>
                <expression>
                    apbcal_approveCnt = apbcal_approveCnt + 1;
                </expression>
            </script>
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                <script>
                    <!– Si el aprobador aprueba el documento, se guarda la fecha de homologación especificada o
                    la que ya trae por defecto –>
                    bpm_package.children[0].properties["calidad:fechaHomologacion"] = apbcal_fecha;
                    bpm_package.children[0].save();
                </script>
            </action>
        </transition>

No veo diferencias con tu código…
roseta
Member II

Re: Editar propiedades de un documento (en un workflow)

Y eso si te funciona? Pues entonces, yo no me explico por qué a mí no… Ahora mismo no puedo probarlo, pero en cuanto pueda, vuelvo a intentarlo y te comento, muchas gracias! Ah, una pequeña diferencia que veo, es que yo tengo mi código metido entre clausulas <expresion>, voy a quitarlas y a ver qué tal.
roseta
Member II

Re: Editar propiedades de un documento (en un workflow)

Pues no me lo explico, pero ya he probado con tu mismo código (excepto x cv:tutor) y no me funciona… el caso es que no me sale ningún error ni nada en los logs… no lo entiendo, de verdad! Mañana escribiré en el foro en inglés, a ver si alguien pudiera ayudarme… GRACIAS DE TODOS MODOS!
cristinamr
Advanced

Re: Editar propiedades de un documento (en un workflow)

Buenas roseta. Te he mandado un mp. A ver si podemos tratarlo chateando directamente y te echo un cable depurando el código. Así es bastante más sencillo ver donde puede estar el problema.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc