As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
var myRoot=bpm_context.parent; // a workaround for the missing company_home root object var model=myRoot.childByNamePath('Dictionnaire des Données/Modèles de Présentation/doc_info.ftl'); var generatedDoc=bpm_package.children[0]; // set some properties generatedDoc.properties['xxx']=yyy; … var result=generatedDoc.processTemplate(model); generatedDoc.content=result;
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:arbitrag"> <swimlane name="initiator" /> <swimlane name="chef"> <assignment actor-id="#{wf_chef.properties['cm:userName']}" /> </swimlane> <swimlane name="csag"> <assignment actor-id="#{wf_csag.properties['cm:userName']}" /> </swimlane> <swimlane name="directeur"> <assignment actor-id="#{wf_dir.properties['cm:userName']}" /> </swimlane> <swimlane name="dga"> <assignment actor-id="#{wf_dga.properties['cm:userName']}" /> </swimlane> <start-state name="debut"> <task name="wf:arbiDebut" swimlane="initiator"></task> <transition name="trCree" to="redaction"> </transition> </start-state> <task-node name="validation chef"> <task name="wf:arbiValidChef" swimlane="chef"></task> <transition name="trValidCsag" to="validation CSAG"></transition> <transition name="trAjourne" to="redaction"></transition> </task-node> <task-node name="validation CSAG"> <task name="wf:arbiValidCsag" swimlane="csag"></task> <transition name="trValidDir" to="validation directeur"></transition> <transition name="trRefuseCsag" to="validation chef"></transition> </task-node> <task-node name="validation directeur"> <task name="wf:arbiValidDir" swimlane="directeur"></task> <transition name="trValidDga" to="validation DGA"></transition> <transition name="trRefuseDir" to="validation CSAG"></transition> </task-node> <task-node name="validation DGA"> <task name="wf:arbiValidDga" swimlane="dga"></task> <transition name="trValide" to="Accepte"></transition> <transition name="trRefuseDga" to="validation directeur"></transition> </task-node> <task-node name="Accepte"> <task name="wf:arbiValid" swimlane="initiator"></task> <transition name="trFicheValidee" to="fin"></transition> </task-node> <end-state name="fin"></end-state> <task-node name="redaction"> <task name="wf:arbiRedac" swimlane="initiator"></task> <transition name="trValidChef" to="validation chef" > <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> var racine=bpm_context.parent; var docGenere=bpm_package.children[0]; docGenere.addAspect("wf:arbiAspect"); docGenere.properties['wf:montant']= wf_montant; docGenere.properties['wf:commission']= wf_commission; docGenere.properties['wf:objet']= bpm_workflowDescription; docGenere.properties['wf:beneficiaire']= wf_beneficiaire; var result=docGenere.processTemplate(racine.children[5]); docGenere.content=result; </script> </action> </transition> <transition name="trValidDirectCsag" to="validation CSAG"></transition> <transition name="trAbandon" to="fin"></transition> </task-node> </process-definition>
<?xml version="1.0" encoding="UTF-8"?> <model name="wf:workflowmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"> <imports> <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/> <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/> <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" /> </imports> <namespaces> <namespace uri="http://www.alfresco.org/model/workflow/1.0" prefix="wf"/> </namespaces> <constraints> <constraint name="wf:listeCommissions" type="LIST"> <parameter name="allowedValues"> <list> <value>Commission 1</value> <value>Commission 2</value> <value>Commission 3</value> <value>Commission 4</value> <value>Commission 5</value> <value>Commission 6</value> <value>Commission 7</value> <value>Commission S</value> </list> </parameter> </constraint> </constraints> <types> <type name="wf:arbiDebut"> <parent>bpm:startTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiRedac"> <parent>bpm:startTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiValidChef"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiValidCsag"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiValidDir"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiValidDga"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> <type name="wf:arbiValid"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>wf:arbiAspect</aspect> </mandatory-aspects> </type> </types> <aspects> <aspect name="wf:arbiAspect"> <properties> <property name="wf:objet"> <type>d:text</type> </property> <property name="wf:montant"> <type>d:float</type> <default>0</default> </property> <!– normalement déterminé par le workflow <property name="wf:nomCsag"> <type>d:text</type> </property> <property name="wf:nomDir"> <type>d:text</type> </property> <property name="wf:nomDga"> <type>d:text</type> </property> <property name="wf:nomElu"> <type>d:text</type> </property> –> <property name="wf:commission"> <type>d:text</type> <constraints> <constraint ref="wf:listeCommissions" /> </constraints> </property> <property name="wf:axe"> <type>d:text</type> </property> <property name="wf:beneficiaire"> <type>d:text</type> </property> <property name="wf:investissement"> <type>d:boolean</type> <default>false</default> </property> <property name="wf:fonctionnement"> <type>d:boolean</type> <default>false</default> </property> <property name="wf:renouvellement"> <type>d:boolean</type> <default>false</default> </property> <property name="wf:dateInitiale"> <type>d:date</type> </property> <!– AP/AE –> <property name="wf:apaeInscrites"> <type>d:float</type> <default>0</default> </property> <property name="wf:apaeDispo"> <type>d:float</type> <default>0</default> </property> <property name="wf:apaeDateDispo"> <type>d:date</type> </property> <property name="wf:apaeAnterieur"> <type>d:text</type> </property> <!– PRECISIONS –> <property name="wf:preciseContexte"> <type>d:text</type> </property> <property name="wf:preciseAutresRegions"> <type>d:text</type> </property> <property name="wf:precisePartenariats"> <type>d:text</type> </property> <property name="wf:preciseValAjout"> <type>d:text</type> </property> <!– COMMENTAIRES –> <property name="wf:commentService"> <type>d:text</type> </property> <property name="wf:commentChef"> <type>d:text</type> </property> <property name="wf:commentCsag"> <type>d:text</type> </property> <property name="wf:commentDir"> <type>d:text</type> </property> <property name="wf:commentDga"> <type>d:text</type> </property> </properties> <associations> <association name="wf:chef"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>cm:person</class> <mandatory>false</mandatory> <many>false</many> </target> </association> <association name="wf:csag"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>cm:person</class> <mandatory>false</mandatory> <many>false</many> </target> </association> <association name="wf:dir"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>cm:person</class> <mandatory>false</mandatory> <many>false</many> </target> </association> <association name="wf:dga"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>cm:person</class> <mandatory>false</mandatory> <many>false</many> </target> </association> </associations> </aspect> </aspects> </model>
var result=docGenere.processTemplate(racine.children[5]);
<start-state name="debut"> … <event type="node-leave"> <script> <variable name="person" access="write" /> <variable name="userhome" access="write" /> <variable name="companyhome" access="write" /> <expression> person = initiator; userhome = initiatorhome; companyhome = bpm_context.parent; </expression> </script> </event> </start-state>