Compiere工作流详解:一般工作流与单据处理

需积分: 3 12 下载量 76 浏览量 更新于2024-08-02 收藏 2.27MB DOC 举报
"Compiere是一款开源的企业资源规划(ERP)和客户关系管理(CRM)系统。本资料主要探讨了Compiere的工作流程系统,包括三种类型的工作流:一般工作流、单据处理工作流和单据值工作流。工作流的代码结构分布在COMPIERE_SOURCE的client和base目录下,分别对应用户界面布局和工作流处理的实现。此外,还详细讲解了一般工作流的配置,如选择工作流类型、起始节点、节点动作以及自定义节点图片的方法,并给出了相关的代码修改示例。资料也提到了单据处理工作流,这些工作流会在处理销售订单等单据时自动启动,允许在需要审批的情况下进行扩展。" Compiere的工作流程系统是其核心功能之一,它帮助用户按照预定义的流程来执行任务。首先,Compiere拥有三种工作流类型: 1. 一般工作流:这些工作流由用户从菜单中启动,用于引导用户完成特定任务,例如业务伙伴设置或初始化实体设置。用户可以通过这些工作流快速熟悉系统模块并定位所需功能。 2. 单据处理工作流:在处理销售订单或其他业务单据时自动启动。这些工作流可以扩展以适应审批等需求,确保业务流程的合规性。 3. 单据值工作流:可能与特定单据状态的变化或更新有关,用于处理基于单据值变化的业务逻辑。 在代码层面,Compiere的工作流相关代码分布在两个主要目录下: 1. client\Src\org\compiere\apps\wf:包含与用户界面相关的工作流布局,如WorkflowPanel、WorkflowActivity、Form、WorkflowIcon和WorkflowNode等。 2. base\src\org\compiere\wf:包含工作流处理的实现代码。 在配置一般工作流时,用户需要选择工作流类型(如"General"),设定起始节点,并定义节点动作。节点动作可以是Window、Form、Process或Report等,通过DocAction来指定,如"User Window"将导航到指定的窗口。 对于节点显示的自定义,可以通过修改WFIcon和WFNode类来实现。例如,通过在WFIcon类中添加Image变量并实现PaintIcon()方法来绘制图片,同时在WFNode构造函数中读取节点的Image field并赋值给图标变量。另外,MImage类负责读取图片供WFNode使用,以调整节点显示效果,如将文本居中对齐。 单据处理工作流则是在处理销售订单等业务单据时自动触发,例如,如果需要审批,可以通过扩展这些工作流来增加审批步骤,确保业务流程的完整性和可控性。这种灵活性使得Compiere能够适应不同企业的业务规则和流程定制。