11-09-2006 04:10 AM
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;
11-09-2006 06:00 AM
11-09-2006 06:15 AM
<?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>
11-09-2006 06:34 AM
var result=docGenere.processTemplate(racine.children[5]);
11-09-2006 06:40 AM
11-09-2006 09:22 AM
<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>
Post 1.4 community final, a fix has already been made to provide companyhome. I'll provide a further fix to add person and userhome.
11-09-2006 10:22 AM
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.