03任务单任务单006单据设计_第1页
03任务单任务单006单据设计_第2页
03任务单任务单006单据设计_第3页
03任务单任务单006单据设计_第4页
03任务单任务单006单据设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、任务单 006:单据设计1.基本信息2.任务导读2.1. 设计器简介单据设计器提供了一种所见所得的生成交互界面的方式,大大提升开发效率。用单据设计器首先要选择合适的单据模型,单据模型是对单据业务场景的抽象。模型中的动作实现(体现在常用工具栏按钮支持、单据编号规则支持、打印模板支持、导入模板支持等),能方便地生成需要的交互界面。单据模型大体上分为三类:只有一个单据主表的单据模型:没有浮动信息需要保存的卡片类业务单据一般采用。一个主表和一个子表的单据模型:最常用的单据模态,主表存业务的固定信息,子表存业务的浮动信息。这类单据只能存一类浮动信息。比如:销售订单,主表存订单的整体信息,子表存订单的商品

2、信息。一个主表和多个子表的单据模型:该类单据可以多个浮动信息。主表和子表的关系是一对多的关系,即主表的某条可以对应子表的多条,子表中的字段 MRecid(主表)是子表的外键,对应主表的系统主键 Recid。所见所得的操作方式能够在设计界面中根据需要随时调整。为了更好支持业务逻辑,单据设计器提供了公式编辑器这个,通过公式编辑器可以1任务名称单据设计预计时长6 小时实际时长 小时任务目标完成租赁单需求规定的单据设计重要知识点界面、公式、单据编号规则、打印模板、单据 excel 模板工具资料二次开发用户手册 V2016、车辆租赁管理 V2.0、任务导读编写需要的公式,支持复杂的业务逻辑。单据设计器支

3、持设计单业务主表,一主 N 子表等各类型的单据界面。2.2. 界面设计界面是应用软件的脸面,是客户对软件的第一印象。所以软件界面一定要规范,给用户舒服的操作体验,好的界面有如下的特点:绘制业务场景交互界面,要根据需要设置布局或引入多页签支持,好的布局设计能保持设备显示的兼容性,多页签能够提高界面的“容积”,使布局更美观、合理。布局和页签请参考二次开发用户手册 V2016。一般建议的界面布局风格如下:页签容器使用提示­单据主表所在页签要包含所有子表页签,以保证单据的整体性­通过页签右上角的工具栏管理页签项(增加和删除页签项、移动页签项位置)­切换页签项不方便时,可以

4、通过大纲视图选择页签项­页签项容器里面控件大小尽量不要超过页签大小,否则会出现不必要的滚动条网格容器使用提示2­把网格控件加入到页签,并摆放到合适的位置­双击控件,在打开的网格编辑界面中,按界面要求设计网格(网格行列数、行高列宽、是否合并单元格、单元格线型及颜色等)­把字段页签中的字段添加到对应网格中(放置到目标单元格前的单元格,系统会自动在目标单元格添加相应类型的录入控件)­预览模式下确认网格界面是否满足需求,以便随时调整审批流程控件使用提示­审批流程页签用于展示单据审批流转信息­直接把控件页签下工作流分组下的审批流程控件

5、放置到设计界面的审批流程页签下,调整控件大小和位置(注意高度要和整个单据高度相近)­不需要对审批流程控件做任何设置2.3.单据公式业务逻辑的实现在 DNA 中一般通过单据公式实现,单据编辑器提供了强大的公式编写能力支持,公式编辑器功能布局说明如下:3单据公式编写和在 Excel 中编写公式基本类似,可以使用编辑器提供的函数、上下文数据及运算符,区别是公式提供了执行时机和公式类别选项。执行时机:执行时机可以单选也可多选,多选时在多个时机均执行初始时新建按钮和增、删行按钮会触发,单据初始界面即显示公式运行结果启动后界面数据每次呈现前会执行,如果需要点击编辑按钮时执行的可选择运行时单据在编

6、辑状态下,当公式内容中涉及字段值发生变化时执行,从编辑到保存期间保存时点击保存动作时执行公式审核时仅提供给资产项目使用,可忽略!公式类别:根据公式的达到的目的不同,选择不同的公式类别运算不赋值运算结果不给字段赋值,通常用到的运算不赋值公式有:过滤基础数据项、控件可见、控件可用等。执行时机可选择初始时、启动后、保存时运算赋值运算结果赋值给公式指定的当前项,执行时机可选择初始时、启动后、运行时、保存时4审核提示审核提示公式如果没有通过,要求用户对填入的数据进行检查、核实,但不一定要求必须进行数据修改。执行时机一般选择保存时审核错误审核错误公式如果没有通过,不择保存时保存,必须对数据进行修改。执行时

7、机一般选当前项运算赋值公式、审核提示公式及审核错误公式均需设置当前项,运算赋值公式对当前项赋值,审核提示公式及审核错误公式是为提示信息审核提示和审核错误公式需设置提示信息,当公式执行不通过时弹出提示信息。2.3.1. 赋常量值公式最简单的公式,直接赋值即可,可以是数值,也可以是当前模型中的任意字段或字段运算结果。举例:SQ_DJD_MBILLTIME/把当前模型中单据主表 SQ_DJD_M 的字段 BILLTIME 赋给公式当前项指定的字段。2.3.2. 级联过滤公式当某个值变化的时候,驱动另一个值自动过滤需要的项目。该公式生效的前提是公式的参数之间有逻辑关系,这种关系是在数据建模环节确定的。

8、举例:BasedataLinkageFilter(SQ_DJD_MKEHXL,SQ_DJD_MKEHDL,MD_KEHHYLB KEHDL)/当第二个参数变化时,第三个参数对应的表中滤,或者简化为:按照指定的字段进行过BasedataLinkageFilter(被过滤项,过滤触发项,被过滤表过滤触发项)2.3.3. 根据一个值得到另一个值举例:GetNewMDValue(SQ_DJD_SRENY,MD_RENYSUOSBM)5/该公式中,第一个参数是 GUID 类型,它是第二个参数对应基础数据表的某个获取的字段,通过第一个参数,能在表 MD_RENY 中到唯一的一条记录,可以取得该条的任何一个

9、字段的值(当然包括字段 SUOSBM 的值)。该公式还可以嵌套使用,把内层公式计算的结果作为外层公式的第一个参数。如:GetNewMDValue(GetNewMDValue(MD_DJDCZY,MD_RYBM),MD_BMZRZX)/黑体部分根据操作员得到部门 Objectid,外套公式根据部门 Objectid 得到责任中心的 Objectid。说明:单据中保存的基础数据 GUID 是 Recid,所以,单据中使用时,要在外层用公式 GetMDRecidByObjectId 得出 Recid。GetMDRecidByObjectId("MD_BM",GetNewMDVal

10、ue(SQ_DJD_SRENY,MD_RENYSUOSBM)2.3.4. 根据基础数据条目的代码,得到该条基础数据的 RECID举例:GetMDRecid("0001",MD_DEFSXSTDCODE)/该公式中,第一个参数是要获取目标的代码 STDCODE,第二个参数中MD_DEFSX 是目标释。所在的基础数据表,STDCODE表示对第一个参数的解2.3.5. 限制模型中子表的行数不能为空,一般用作审核公式举例:GetItemCount(SQ_DJD_SRECID)>0/该表达式中,注意:参数必须是单据模型中子表的任何字段;而公式的当前项必须是单据模型中主表的任何字

11、段。2.3.6. 对子表中指定列进行数值汇总计算举例:ColSum(MFIELD)/参数为子表中的某数值型字段2.3.7. 公式编写时,还可以引入 IF THEN ELSE 表达式举例:IF GetNewMDValue(SQ_DJDRY,MD_RYNL)=>65 THEN ">=65 岁" ELSE “656以下”/假设以下”的>=65 岁时,则赋字符串“>=65 岁”,否则,赋字符串“65IF GetNewMDValue(KH_RWDXMLX,MD_XMLXSTDCODE)=“001” THENISNULL(KH_RWDCPX)ELSEnot IS

12、NULL(KH_RWDCPX)。/假设项目类型的代码为 001,则线必为空,否则线不能为空。2.4. 单据编号该功能是确定业务单据编号的生成规则,根据该规则生成的单据编号会自动赋值给单据主表的系统字段 BILLCODE,所以,不可另外再建立单据编号字段。系统支持的单据编号规则含有三部分信息:常量:可以有 N 个,一般一个即够用了变量:可通过公式产生,变量个数不限流水号:只能有一个,流水号设置如下:流水号长度:很好理解,根据需要设置,长度决定号段数量。字段维度:流水号的变化是根据哪个日期型字段驱动的周期:当字段维度设定的日期仅周期中设定的部分变化时,流水号才跟着变化。72.5.打印模板单据多页签

13、情况下,打印是有讲究的。可以在系统生成的模板打印模板上进行调整,主要注意事项如下:子表打印布局:多个子表可以自由排列,保证都能正常打印即可;打印范围设置:可以设置主表、子表打印范围表头行打印设置:可以设置表头行打印效果;行分页设置:可以设置行分页;请设置如下图所示的打印模板:2.6.Excle 模板Excel 单据导入支持用 Excel 设计类似单据样式的界面,用户直接把数据输入 Excel单据样式模板后导入到系统中。Excel 单据导入模板关键需要指定主键,一般用具有唯一性的字段充当,比如:单据编号等,如下即为 Excel 模板案例:8Excel 模板设计提示9­主表页签,设计需要

14、的主表录入界面,注意指定主键字段­把字段拖动到对应的界面单元格中,建立关系­依次设计子表页签界面,子表注意设置浮动行注意:目前版本(BAP_3.7.201612.M9)对于 excel 导入支持还有善的地方,为了达到较好的体验,在做 Excel 导入时,建议按下面原则设计:­导入模板的主表、子表统一设计到一个页签中,尽量不要设计(多页签设计有 bug:部表数据无法导入,主键相同时,不能更新等);­如果有多个子表,子表之间要留空行(上一个子表的最后一条数据后面需要留至少一个空行)­对于有公式赋值的字段,在做模板时可以忽略(公式会自动赋值)样例:1

15、02.7. TAB 键的使用TAB 键设置控件获得焦点的顺序,要按照从左到右,从上到下的录入书序设置。注意:只有 TAB 键设置为正整数的控件才能获得焦点,设置方法见下图:2.8. 难点2.8.1. 单据工具栏设计中怎么实现下拉工具栏?单据工具栏设计界面中,有“下拉菜单”工具栏项,先添加下拉菜单工具栏项,然后增加其他工具栏项即可。2.8.2. 工具栏按钮自定义(较难,了解)单据工具栏中除了可以添加系统中已存在的工具栏按钮外,还可以添加自定义按钮。自定义按钮的功能可以来自:²自定义公式的执行²打开一个模板²当前单据模型的数据和工具栏状态举例:为某个单据增加 2 个自

16、定义按钮,分别为“确认“和“反确认”,当点击“确认”按钮时,锁定当前不能修改,同时,“确认”按钮置灰,“反确认”按钮激活;当点击“反确认”按钮时,当前,可以编辑,同时,“反确认”按钮置灰,“确认”按钮激活。首先,编写一个运算不赋值的公式,执行时机为全选(保证让其在任何状态下都能自动执行)公式名:自定义按钮状态IF HR_CHANPYWWORKFLOWSTATE =2 THENsetActionEnabledByTitle("确认",false) and setActionEnabledByTitle("反确认",true)ELSEsetActionEna

17、bledByTitle("确认",true) and11setActionEnabledByTitle("反确认",false)/该公式根据工作流状态的值自动“确认”按钮和“反确认”按钮的可用性另外编写两个公式,分别当前锁定和可编辑公式名:锁定当前行,不可编辑SetBillMasterFieldValue("HR_CHANPYWQK","WORKFLOWSTATE",2,HR_CHANPYWRECID)/修改工作流状态为审批通过(2,表示工作流审批通过),锁定当前不能编辑公式名:当前行,使其可编辑SetBillMa

18、sterFieldValue("HR_CHANPYWQK","WORKFLOWSTATE",0,HR_CHANPYWRECID)/修改工作流状态为未提交(0,表示工作流未提交),当前可编辑对当前模型所做的修改,有时需重新加载模型才能生效,写一个重加载模型公式公式名:重新加载模型。ReloadMFunction()/重新加载当前模型好了,万事俱备,接下来开始编写“确认”自定义按钮的代码,如下图:在代码中,勾选操作提示框,并把上面写好的几个公式选中即可同样道理,编写“反确认”自定义按钮,如下图:12这样,自定义的两个按钮就可以工作了。单据工具栏功能增强的相关二次开发相对复杂,有时需要协调研发,获取相关资料。3.任务步骤根据车辆租赁管理 V2.0.doc文档中 2.2.1.1 车辆租赁单要求,完成如下的任务:3.1. 完成需求文档要求的界面设计【必做】将设计完成的界面截图粘贴到过程中3.2. 完成需求文档业务逻辑要求的公式【必做】将设计完成的公式列表界面截图(要求能看到公式内容)粘贴到过程中3.3. 设计需求文档要求的单据编号规则【必做】把设计完成的编号规则公式和序列

温馨提示

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

评论

0/150

提交评论