Openerp workflow 工作流批注模块
转自:http://blog.csdn.net/yeahliu/article/details/17207289
2013-12-22 添加workflow_stop标识,感谢广州-jerry
2013-12-11 将代码提交到GitHub
2013-12-10 修复以下内容:
1. 去掉template中无用的节点
2. 修正了客户端workflow请求中参数错误,原错误会导致wkf_logs表中记录的act_id出错,或者有时会出现找不到wkf_instance的错误
3. 把workflow.logs的查看权限设置为base.group_user,即是所有雇员均能查看
openerp工作流增强,在审批或拒绝过程中,可以输入审批信息,同时记录审批记录
代码地址:
https://github.com/yeahliu/workflow_info
https://github.com/yeahliu/workflow_info_emp
功能 :
- 对于审批和拒绝,弹出输入信息的窗口,可以对此次审批作说明
- 审批记录记录在表wkf_logs中,这个表原本在openerp中就已经有,只是没有启用
- 与原工作流按钮不冲突,可以一起使用
使用说明 :
- 安装workflow_info模块
- 将需要弹出信息窗口用于输入审批信息的按钮的type设置成"workflow_ok"或"workflow_no”
- 如果需要在页面上输入审批记录,按以下步骤操作:
a. 在.py文件中引入“from openerp.addons.workflow_info import workflow_func”
b. 在_columns里加入字段,如
'wkf_logs':fields.function(workflow_func._get_workflow_logs, string='审批记录', type='one2many', relation="workflow.logs",readonly=True),
c. 在view文件里可以这样引用:
<field name="wkf_logs">
<tree string="审批记录" colors="red:(status=='no')">
<field name="job_id" />
<field name="employee_id" />
<field name="time" />
<field name="status" />
<field name="info" />
</tree>
</field>
d. 对于按钮,可以这样设置:
<button name="to_sale" string="提交" type="workflow_submit" states="draft" class="oe_highlight" />
workflow_submit表示这是提交按钮,不需要弹出输入窗口
<button name="to_delivery" string="销售审批" type="workflow_ok" states="wf_sale" class="oe_highlight"/>
workflow_ok 表示这是审批按钮,弹出输入审批信息窗口
<button name="refuse" string="拒绝" type="workflow_no" class="oe_highlight"/>
workflow_no 表示这是拒绝按钮,弹出输入拒绝信息窗口
截图:

拒绝信息

过也可弹出,可以不填

Openerp workflow 工作流批注模块的更多相关文章
- 基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
在基于Vue的工作流项目模块中,我们在查看表单明细的时候,需要包含公用表单信息,特定表单信息两部分内容.前者表单数据可以统一呈现,而后者则是不同业务的表单数据不同.为了实现更好的维护性,把它们分开作为 ...
- 风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转
如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务 ...
- 深入理解OpenERP的工作流(Workflow)
一.工作流定义: <?xml version="1.0"?> <terp><data> <record model="w ...
- WorkFlow 工作流 学习笔记
传统ERP为制造业企业产供销人财物的管理提供了一整套优化企业资源利用,集物流.信息流.资金流为一体的现代化管理工具.但是它在过程集成和企业间集成方面存在不足.具体表现在: 1.传统ERP是一个面向功能 ...
- JavaScript + SVG实现Web前端WorkFlow工作流DAG有向无环图
一.效果图展示及说明 (图一) (图二) 附注说明: 1. 图例都是DAG有向无环图的展现效果.两张图的区别为第二张图包含了多个分段关系.放置展示图片效果主要是为了说明该例子支持多段关系的展现(当前也 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(十三)
博客地址 http://blog.csdn.net/foxdave 工作流动作 35. Delegate Workflow Task(User interaction分组) 该操作将委托未处理的工作流 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(八)
博客地址 http://blog.csdn.net/foxdave 工作流动作 15. Complete Workflow Task(User interaction分组) 此工作流动作将完成任何进行 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(六)
博客地址 http://blog.csdn.net/foxdave 工作流动作 7. Call web service(Integration分组) 一个调用WebService的操作. 自然,配置项 ...
- SharePoint 2013 Nintex Workflow 工作流帮助(二)
博客地址 http://blog.csdn.net/foxdave 工作流动作 1. Action Set(Logic and flow分组) 它是一个工作流的集合,可以理解为容器的东西.所以它本身并 ...
随机推荐
- Test20171009 考试总结 NOIP模拟赛
题目难度合适,区分度适中,但是本人水平不佳,没有拿到满意的分数. T1(matrix) 一种比较容易想到的想法是枚举起点求出最长全1串做预处理,这是O(n^2)的. 接着枚举列起点,列终点,通过后缀和 ...
- bzoj 1231: [Usaco2008 Nov]mixup2 混乱的奶牛 -- 状压DP
1231: [Usaco2008 Nov]mixup2 混乱的奶牛 Time Limit: 10 Sec Memory Limit: 162 MB Description 混乱的奶牛 [Don Pi ...
- python开发_类型转换convert
在python的开发过程中,难免会遇到类型转换,这里给出常见的类型转换demo: int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float ...
- Codeforces Beta Round #7 A. Kalevitch and Chess 水题
A. Kalevitch and Chess 题目连接: http://www.codeforces.com/contest/7/problem/A Description A famous Berl ...
- hihocoder编程收割赛20
hihocoder编程收割赛20 hihocoder1542 : 无根数变有根树 hihocoder1542 思路: 树的遍历 ac代码: // hihocompete20_01.cpp : 定义控制 ...
- Spring Boot 中文参考文档
本人翻译Spring Boot官方文档已经有几天了,虽然不能全天投入,但是间隔一到两天时间还是可以翻译部分内容,Spring Boot的文档内容比较多,翻译工作注定是长期的,毕竟个人能力有限,但为了加 ...
- C# dataGridView根据数据调整列宽
//自适应列宽 this.dgvBaoming.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.A ...
- Upgrading Directly from MySQL 5.0 to 5.7 using an ‘In Place’ Upgrade
http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0-to-5-7-using-an-in-place-upgrade/
- 自己动手写js分享插件 [支持https] (可以分享QQ空间,微信,新浪微博。。。)
由于百度分享,jiathis 等分享插件在https下均会报错,就萌生了自己动手写一个分享插件的念头,其实实现起来一点都不难,以下代码都已在https网站运行通过,特附上以下代码:还请各位看官不吝赐教 ...
- jquery-问题解答
1.var v = $('.summer-input:input').val(); //依据class获取input 2.var v = $('input[name=user\\.name]').va ...