请假申请功能_第1页
请假申请功能_第2页
请假申请功能_第3页
请假申请功能_第4页
请假申请功能_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、请假申请功能2.1问题背景本例开发一个简单的请假申请功能,包括创建及编辑请假单,请假单查找,请假审批流程,本节拟定的请假单包括如下信息:1)申请人:申请人默认是当前登录用户,必填项。2)请假天数:可以是小数,必填项。3)开始日期:开始休假的日期,必填项。4)请假事由:一段文本,描述请假事由,可以不填。(用户运用熟练后,可以自行添加其他信息)我们需要开发下述对象:1)请假单对象:将请假单保存到数据库,以及能从数据库查找请假单。2)请假单视图:查找、编辑请假单的画面,包括列表(tree)和表单(form)两个视图。3)菜单:准备开发三级菜单:请假申请/请假单/请假单1。点击请假单1”时,进入请假单

2、列表视 图,可以查找或创建请假单。4)请假单动作(Action ):请假单动作把对象、视图、菜单关联到一起。2.2配置详解创建请假对象首先我们要给当前用户赋予开发权限,用系统默认的超级用户Admin登陆,然后点击菜单:设置/用户/用户,选择要赋予开发权限的用户,点击编辑”按钮,在 应用程序”里选择 设置”,然后在易用性”里勾选技术特性”,点击保存”。1)点击菜单:设置/技术/数据库结构/模型,点击 新建”按钮,创建请假单对象。2)对象名:请假单对象:x_qingjd3)字段:包括四个字段,申请人(x_shenqr),请假天数(x_tians),开始日期(x_kaisrq),请假事由(x_shi

3、you)。4)注意:从界面上创建对象时,对象及字段标识符必须是x_开头,后面还会介绍编写代码来创建对象,编写代码创建对象时,就没有这个限制。创建请假单对象及创建字段的参考画面如下:镶型铎建rriftiKMl Mode*i事收 步加用 I 鞫的林林学候M签字设199流一个项目自定义不像业 Riat可*索提学点击 添加一个项目”逐个创建字段:首先添加 申请人(x_shenqr) ”这个字段,各种选项如下所示:创度工字股学快货人方崎育 3fnianyQn*对共 Mire* UMO天d,| iftffVtl 大小64国景帝|*牝方段必/G途M. 、PPl 可11宗茅司凿幸可n理然时理内交nial)也候

4、决中保存胖量闲 I碑押拜靖本画面中的“字段类型”在后面的“ openerp对象”章节会讲到,“对象关联”通俗的讲,就是该字段里面的内容是从哪个对象里取值,本字段“申请人”是从“用户”里取值,所以这里就填“用户”所对应的对象“ res.users ”。然后再用同样的方法逐渐创建其他字段,如下:存 点击 保存”,这样 请假单对象”及其字段就创建完毕。营.修瘠科-H 律 & Kffl仇,K_Mitqr JIAnwry20rMl,产外胃异kt日用aX ttWvWj:昌也雷tnlTrarwiaHrM Motfol创建视图创建好对象后,只是在数据库里有请假单”这张表,要能在界面上显示这张表,还需要为这个对

5、象创建视图。 点击菜单:设置/技术/用户界面/视图,点击 创建”按钮,依次创建请假单列表(tree) 和请假单表单(form)两个视图。请假单列表:视图名称:请假单列表视图类型:树形列表(tree)对象:x_qingjd,即刚才创建的请假单对象,如果填写的对象标识符不正确的话,保存时会提示错误。子栏位和继承视图不填。优先级:1, Action通常会关联到多个视图,优先级表示多个视图的显示顺序, 数字越小越先显示。通常列表总是最先显示,其次是表单。视图结构:视图结构是视图中最重要的部分,也是最复杂的部分。视图结构定义要在视图中显示哪些字段,及显示属性(如只读、必填、隐藏等)。 Select= 裳

6、示,在列表视图中,可以按该字 段查找资源(记录)。1)请假单列表视图树形视图结构如下:理图请单列赛调信单到*:i.qHMIfr于r&4*an外部。现,附守梅相6mf wnion=1 Ft!“ s嘴=M”&M 2中工加耐心切门小4,td nameixj1*1deld w=XJr,grq- Wct=17 d&M ft3fTH=_lhfyOu x_qingjd同理创建“请假单表单”视图。视图名称:请假单表单 视图类型:表单(form)对象:优先级:2)请假单表单视图内容如下:x_shenqr ” / x_tians ” / x_kaisrq ” / x_shiyou ” /field name=fi

7、eld name=field name=field name=3W.在睥中ronwnl7K5:1nyzw懵*出mycudW天R的下方有个 创建菜单”的按钮,点击进去样图 Run Schedulers222创建菜单和Aciton创建菜单,点击设置/技术/数据库结构/模型,查找刚才创建的 请假单”对象,点击打开,在表单6ml (T?M&te Wn叫一士,单, 曲修片 wmf=、aMi*reld型 AruE/,工的a7进去后,点击 上级菜单”右边的下拉按钮,点击 创建并编辑”,新建一个 请假申请”的父菜单, 各字段含义如下:1)完整路径:不用填,系统自动生成。2)菜单:请假申请,用于菜单显示的文字。

8、3)序号:在菜单列表中的显示位置,数字越小越显示在上位。4)上级菜单:由于本菜单式顶级菜单,不要父菜单。5)动作(action):点击菜单时将触发的 Aciton ,本菜单仅仅是父菜单,不触发 Aciton ,故不填。6)组:只有这里定义的组(group)才能看见本菜单,如果不填,表示任何组都可以看到。暂时不考 虑菜单权限,故而不填。点击 保存”。父菜单建好后,按下图创建 请假单 菜单。点击 创建菜单”按钮,系统会自动创建菜单和菜单对应的Action o该Action访问请假单对象,依次调用请假单列表和请假单表单显示数再点击 创建菜单”,创建二级菜单 请假单”的下级菜单:创建完毕后,点击菜单:

9、设置/技术/用户界面/菜单项。可以看到 请假申请”是顶级菜单, 请假申请/请假单”是二级菜单, 请假申请/请假单/请假单1”是三级菜单。to点击 请假申请”,可以查看该菜单的详细信息:因为请假申请”是顶级菜单,所以其完整路径就是 请假申请”,而 请假单”是其子菜单,所以在子菜单一栏会显示请假单”这一项。中巾 muown同理可以查看“请假申请”的子菜单的详细信息:1IH* 信何SlOCK.DPE薰事上国小井1D懵黄,请假申请/请假单/请假单1”。请假单1”是最下级菜单,所以其子菜单一栏为空,其路径是M9lNjaj零售10功作,OtuSTOCHDtrff*揭开Action的面纱 前面介绍过,是Ac

10、tion把对象、视图、菜单等各个元素集成到了一起,那么 Aciton到底是个什么东西呢?点击菜单:设置/技术/动作/窗口动作,在动作对象中输入“x_qingjd查询,得到 请假单1”动作,点击打开。从 Action编辑画面,可以看到,Action关联了对象(x_qingjd)、视图(请假单列表和请假单表单),还有其他一些属性字段。上述画面中各字段的含义,参见后文的菜单和动作”章节2.2.3权限配置在实际工作中,经理能看到所有下属递交的请假单,而下属自己只能看到自己递交的请假单,所以这里要进行权限配置。首先创建一个 经理”用户和两个 员工”用户,点击菜单:设置/用户/用户,点击创建,写好Name

11、和电子邮件地址,其他暂时不填,如下:0000“口IlDeM l:2疆泌咖dooaM 1:1 THU*用户创建完毕后,再对这三个用户进行分组。首先要创建一个审批组”,点击菜单:设置/用户/组,点击 创建”,填好各项如下所示,因为事先创建好的用户中,经理负责审批,所以在用户栏里添加 经理”这一个用户:HPMmfflAMrvqtah 1.4 ttI .g分组好了后,要让“请假单”这个对象与这两个组相关联,也就是这两个组里有权限用到“请假申请”这个功能,我们还需进行如下操作:点击设置/技术/数据库结构/模型,选才i点击“ x_qingjd”对象,然后在访问权限一栏里添加刚才创 建的两个组:h璃G*停I

12、心*市KA*息工. A tab kAil * 旱 I K点击 保存”。系统并不能自行的进行权限设置,还需要用户设置一定的安全规则。点击菜单:设置/技术/安全/设定/记录规则,点击 创建”,新建的内容如下:看事 TOC o 1-5 h z 用土界*总 *fTB.4 MMH *慢*MSIEr.irwl, T1rmlk9nli晟如定义(Donulrt过建R)V J w il*:AOJM. 1t_嘴 t _ jPffQv1修,算岫1年*Y I什流手工w*早 C Buibnaw*)条伊*介 A t,力什普通。布Pyon件woX :_巾“ . rqj dJt JWOw* ,Python作”内容为:writ

13、e(x_state:qingjd_wait_prove)批准(qingjd_proved) ”状态:AHTiff A tf H( Butrfiow )*分贰台叁*上-i,VJlFPython“Python乍”的内容为:write(x_state:qingjd_proved)拒绝(qingjd_rejected) ”状态:打活动AW工作*XIX*学 C tybAwr t)条件姆长动作务b作MWiie t 如“jdvj4MHon电府“Pytho劭作”的内容为:write(x_state:qingjd_rejected)状态建立好了之后,还需要在视图中显示,所以要修改原先的视图代码,这里只修改表单视

14、图(form),如下:状态之间会有转变,这里称之为 迁移”,例如:员工递交请假单是从 草稿”转变到 待批”;经理 批准请假,是从 待批”状态转变到 批准”状态。而状态的转变,在现实生活中是通过 递交”或者 签 字”的方式进行的,而OpenERP是通过点击按钮。 首先,草稿”只能转变为 待批”状态,所以点 击 草稿(qingjd_draft) ”,然后点击 迁移”,在 目标活动”点击 添加一个项目”,内容如下:效用川II户辩员工帆lME W11tlkAiA安史(traki*)必须的用户组”选择 员工组”是因为请假单是员工递交的,与 审批组”成员无关(这里没有考虑审批组成员的请假)。 待批(qin

15、gjd_wait_prove) ”是由 草稿”转变而来,而其又可以转变为 批 准”和拒绝”,所以同理,在 源活动”添加内容如下:un: mas*fliXifl* y在也讷阳户川-c* c *筌每禹送上年弼势事,力信号t搐制气依O条伸qingjdL wu rtjxovs10 1t_g_wAKTry*w*n -w_r 可 y-dt而,to个】由firovdwartJojjrovfdTfut3加目&苏dcd 金加一个顺目wartjo-ftleded烈而胤户即触笈ZI翕达式qmojfejeeto冷加个顺IIwamby。必孑断阳户用依发K*达式审批如申批期TrueTrue批准(qingjd_proved

16、) ”是由待批”转变而来,而其实结束状态,所以在 源活动”添加内容如下:HASH部刊条件wjilJO.prtrdTru必醐HF嘲3也娟“甲蝌 Ktiff成曲”拒绝(qingjd_rejected) ”也是由 待批”转变而来,而其也是结束状态,所以在 源活动”添加内容:HHi代入“林ffM鼻d融他通匕 ttmawiitfKpv4 EqtOAKjwfxttd* cwaH_to_rjvd*d W必由的端户HIX4送,中批项rtw所有 状态”和 迁移”就创建完毕,点击 保存”,请假单审批”工作流就创建完毕,用户就可以使用 请假申请”和请假审批”功能。测试回到主菜单,画面上增加了菜单 请假申请/请假单/

17、请假单1。点击请假单,进入列表视图,点击 新建按钮,进入创建请假单画面。点击创建1艘单1 4建移日幡必笈”酢点击保存”。福单 x.qinfljdJ解制: 好二A-开蛤日RI0W013航翱深入数据库在上述界面操作中,依次创建了对象、视图、菜单和系统动作,作成了请假申请 的功能。在界面操作的背后,OpenERP内部做了哪些动作呢?实际开发工作中,总是会碰到这样那样的问题,只有明白了其背后动作,才知道从哪里查找原因,解决问题。本节深入OpenERP数据库,探求背后内幕。 对象 当在界面上创建x_qingjd对象时,OpenERP在数据库中新建了一张表 x_qingjd , 用于保存请假单对象,如下:

18、X_qingjd Tableid PKcn inicreate_date timestamp vwrite date time stamp vwritIntexjshenqr integerx_tians double x_kai$rq datex shiyau text1112009-12-27 2: 2009-12-28 0:131,52009-12-29休年假x_qingjd对象及其字段的信息,也写入了数据表ir_model,字段信息在ir_model_fieldsir_model_币elds通过model_id字段和ir_model外键关联。如下:ir_model TableidmudelP4声erialcharacter vanamecharacter vary

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论