cancel
Showing results for 
Search instead for 
Did you mean: 

Editar propiedades de un documento (en un workflow)

roseta
Champ in-the-making
Champ in-the-making
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 6

yakon_8894
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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
World-Class Innovator
World-Class Innovator
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
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.