工作流程激活脚本未触发

2020-09-06 16:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用hybris 6.7版...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用hybris 6.7版并创建一个新的自定义工作流程,该想法是在每次创建新类型的新实例时触发该工作流程。 在工作流程的POC中,在bc2_acc配方中,我创建了新的类型代码和WorkflowTemplate。

这是创建工作流程模板的提示

  INSERT_UPDATE WorkflowTemplate; 代码[unique = true]; 名称[lang = zh]; 所有者(uid);  description [lang = en]; 激活脚本
                                ;  PlayerHireWorkFlow; 雇用新球员; 管理员; 球员租用工作流程的模板;  " action.equals('create')&&
  ((de.hybris.platform.servicelayer.type.TypeService)Registry.getApplicationContext()。getBean('typeService'))。isAssignableFrom('Player',itemType.getCode())"
  

如果我使用 workflowProcessingService.startWorkflow(workflow); 命令触发一个工作流,那么该脚本将很完美。

我在 DefaultScriptEvaluationService.evaluateActivationScripts 方法上放置了一个breackpoint,但是在创建新项目时从未调用过。

缺少什么吗?

谢谢

5条回答
半个程序猿
2020-09-06 16:30

请尝试以下操作:

  INSERT_UPDATE WorkflowTemplate; code [unique = true]; name [lang = en]; owner(uid); description [lang = en];激活脚本
  ; PlayerHireWorkFlow;聘请新玩家;管理员;玩家租用工作流程的模板;
  (((" create" .equals(action)&& initialValues!= null)||
  (" save" .equals(action)&& currentValues!= null))&&
  ((de.hybris.platform.servicelayer.type.TypeService)Registry.getApplicationContext()。getBean(" typeService"))。isAssignableFrom(" Player",itemType.getCode())
  

请注意,我上面编写的代码基于以下已成功用于 Product 项目类型的代码:

  INSERT_UPDATE UserGroup; UID [unique = true]; groups(uid)[mode = append]
  ; testproductmgrgrp;后台产品经理组,员工组
 
  INSERT_UPDATE Employee; UID [unique = true]
  ; testlocmgr
 
  $ START_USERRIGHTS
  类型; UID;成员组;密码;目标;读取;更改;创建;删除; change_perm
  员工; testlocmgr ;; 1234 ;;;;;
  ;;;;工作流程; +; + ;;;;
  ;;;; WorkflowAction; +; + ;;;;
 
  类型; UID;成员组;密码;目标;读取;更改;创建;删除; change_perm
  员工; testproductmgr ;; 1234 ;;;;;
  ;;;;工作流程; +; + ;;;;
  ;;;; WorkflowAction; +; + ;;;;
  $ END_USERRIGHTS
 
  UPDATE Employee; UID [unique = true];描述;名称;组(uid); sessionLanguage(isocode); sessionCurrency(isocode)
  ; testlocmgr;本地化经理;本地化经理; testproductmgrgrp; zh-CN; EUR
  ; testproductmgr;产品经理;产品经理; testproductmgrgrp; zh-CN; EUR
 
  INSERT_UPDATE WorkflowTemplate; code [unique = true]; name [lang = en]; owner(uid); description [lang = en]; visibleForPrincipals(uid);激活脚本
  ; SampleWorkFlow; Product Workflow; admin;这是一个示例工作流程模板,当平台中的产品批准状态已更改以检查时,将启动该模板; testproductmgrgrp; \
  (((" create" .equals(action)&& initialValues!= null && initialValues.get(" approvalStatus")!= null &&" check" .equals(initialValues.get(" approvalStatus")。getCode()))||  \
  ("保存" .equals(action)&& currentValues!= null && currentValues.get(" approvalStatus")!= null &&" check" .equals(currentValues.get(" approvalStatus")。getCode())))&& \
  ((de.hybris.platform.servicelayer.type.TypeService)Registry.getApplicationContext()。getBean(" typeService"))。isAssignableFrom(" Product",itemType.getCode())
 
  INSERT_UPDATE WorkflowActionTemplate; code [unique = true]; name [lang = en]; principalAssigned(uid); workflow(code)[unique = true]; actionType(code)
  ; SampleAction1;产品本地化; testlocmgr; SampleWorkFlow;开始;
  ; SampleAction2;本地化验证; testproductmgr; SampleWorkFlow; normal;
  ; SampleAction3; End; testproductmgr; SampleWorkFlow; end;
 
  INSERT_UPDATE WorkflowDecisionTemplate; code [unique = true]; name [lang = en]; actionTemplate(code);
  ; LocalizationDone; Localization done; SampleAction1;
  ; LocalizationRejected; Localization拒绝; SampleAction2;
  ;本地化已批准;本地化已批准; SampleAction2;
 
  INSERT_UPDATE WorkflowActionTemplateLinkTemplateRelation; source(code)[unique = true]; target(code)[unique = true]; andConnectionTemplate; qualifier;
  ; LocalizationDone; SampleAction2; true; WorkflowActionTemplateLinkTemplateRelation;
  ; LocalizationRejected; SampleAction1; true; WorkflowActionTemplateLinkTemplateRelation;
  ; LocalizationApproved; SampleAction3; true; WorkflowActionTemplateLinkTemplateRelation;
  

一周热门 更多>