18采购订单制作DemoWord文档格式.docx
《18采购订单制作DemoWord文档格式.docx》由会员分享,可在线阅读,更多相关《18采购订单制作DemoWord文档格式.docx(49页珍藏版)》请在冰点文库上搜索。
定义物料编码-3-
定义物料名称-3-
定义规格型号-3-
定义计量单位-3-
定义订货数量-3-
定义单价-3-
定义税率-3-
定义金额-3-
第十步:
税额-3-
第十一步:
含税金额-3-
第十二步:
定义交货日期-3-
第十三步:
定义状态-3-
第1章设计采购订单
1.1准备工作
1.2“采购订单”的表单设计过程
我们再来回顾一下在<
采购订货原型系统>
中所描绘的采购申请单的界面:
中所描绘的采购订单的界面:
如上图所示,在表单的上半部分用红色标注框标注的内容,包括“采购订单号”,“采购组织”,“供应商”等内容,在每张表单填写过程中只需要填写一次,我们习惯性的将这部分内容称为单据表头。
在表单的下半部分用红色标注框标注的内容,包括“物料编码”,“物料名称”,“计量单位”等内容,在每张表单填写过程中以列表的方式展现和填写的,我们称之为单据表体。
一张表单一定会有表头,表体有可能有一个或者多个。
而这张采购申请单,可以明显地得出判断就是一个典型的HD(HeadDetail)的表单结构。
下面就让我们开始BIM的表单设计之路:
1.2.1新建业务组别
业务组别在《采购申请单的制作Demo》文档中已建好,这里略过
1.2.2新建“采购订单”的表单
在“第一天课程”组别中单击右键,在弹出式右键菜单中选择“新建”->
“业务单元”。
选择“业务单元”后弹出如下界面:
此处的业务单元就是我们前面所谈到的基础资料和业务单据的统称,所以在业务单元的新建向导对话框中,第一步就是要选择是建立“基础资料”还是“业务单据”,如下图所示。
单击“下一步”,向导对话框将要求录入业务数据的基本信息。
此时我们在“名称”,“别名”输入框中,分别输入“PurOrder”,“采购订单”的文字。
因为业务单元的名称将作为自动生成Java代码的类名依据,所以在业务单元的“名称”中,请不要使用中文。
单击“下一步”,向导对话框将要求选择业务单元创建的方式。
此处有四个选项:
●
直接新建——新建一张默认依据BIM预制的模板复制的单据。
复制基础模板——依据BIM预制的模板新建一张单据,系统默认选项,推荐使用。
复制其他模板——依据用户自定义的模板新建一张单据,暂不详细描述。
复制已定义单元——使用该选项,可以根据已经定义的表单结构重新建立一个新的业务表单,在定义大量结构类似的表单时推荐使用。
选中,“复制基础模板”,单击“下一步”,向导对话框将要求选择基础模板。
BIM预置的系统模板有两种:
单据基础模板——单据基础模板为一个单据头,多个分录体的模式(分录数至少为1),也就是一张单据上只有一个表头和多个表体的单据。
多分录单据基础模板——多分录的模板为一个单据头,多个分录体的模式(分录数可以为0),也就是一张单据上有一个表头和零到多个表体的单据。
我们要设计的“采购订单”属于第一种形式,所以此处选择单据基础模板
单击“下一步”,向导对话框将要求选择业务单元创建的字段。
这个选择项只有在使用用户自定义的模板进行新建业务单元的时候才需要,在使用BIM预置模板时,所有的预置字段都是必选项。
所以此处可以直接单击“完成”按钮。
单击“完成”按钮后,采购订单的编辑界面就会出现在下图所示的“单据界面编辑区域”。
如下图所示,我们把BIM的进行表单设计的主要区域分别进行了命名:
单据界面编辑区域——在该区域中,主要对表单上的界面元素进行布局,并通过右键的弹出式菜单可以进行字段管理等工作。
大纲区域——大纲区域,主要对表单上的界面元素进行导航,可以直接单击大纲区域中的字段,界面编辑区域的会自动选中并导航到相关的字段上。
界面元素属性编辑区域——在大纲区域或者界面编辑区域中,选中一个字段或者界面元素,在属性编辑区域中将会显示该元素可以编辑的属性内容,包括大小、字体、规则、是否可见、是否可编辑等属性。
1.2.3模板简介
同《采购申请单》文档的模板简介类似,这里略过。
第2章详细设计采购订单表头
定义采购订单号
序号
所在单据体
字段
类型
表格字段名
特殊字段控制要求
是否可录入
是否必录项
1
单据头
采购订单号
字符
number
采购订单号是采购申请单的唯一性表示,不能重复,如果已经定义了采购申请单相应的编码规则,则在新增时根据编码规则自动填写单据编号
是
因为单据模板中默认的有单据编号字段,所以我们可以直接利用该字段。
如上图所示,在字段管理中,选中单据编号字段,单击“修改”按钮。
在上图所示位置,将字段标题改名为“采购订单号”。
定义采购组织
采购组织
purchaseOrg
指定本次采购申请交由哪个采购组织采购。
不可为空,用户可以选择或手工输入采购组织编码。
用户只能录入或者选择采购组织类型
定义字段
输入
字段名称
字段标题
数据来源
基础资料类别
基础资料
“基础资料”组别下“组织架构”组别中选择“采购组织单元”
显示字段
名称
定义供应商
供应商
supplier
有些采购申请单需要指定供应商。
如果需要指定则录入,如果不需要则不用录入供应商。
用户可以从已经供应商列表中选择或者手工录入供应商编码
“供应商”字段的定义过程和“采购组织”字段的定义过程相同,分别在“字段名称”和“字段标题”两个输入框内,填入“Supplier”,“供应商”的文字。
选择“数据来源”为“基础资料类别”,在选择业务单元的时候如下图所示。
选择“基础资料”组别中的“主数据”组别下的“客户供应商”组别中的“供应商”的基础资料。
在“显示字段”中选择“名称”字段。
定义币种
币种
currency
如果需要在分录行上填写建议采购单价,在必须在单据头填写币种。
用户可以从币别表选择或者手工录入币种编码
否
Currency
“基础资料”组别下“辅助资料”组别中选择“币种”
定义汇率
汇率
exchageRate
用户填写了币种以后,自动根据当前汇率表携带出最新汇率,用户还可以手工更改
定义采购员
采购员
purchaseUser
用户可以从人员表中选择或输入人员编码,但必须是系统已经定义的人员。
申请人所属的行政组织必须跟申请部门一致
申请人
“基础资料”组别下的“人员”组别中选择“人员”基础资料
定义订单日期
订单日期
日期
billBizDate
采购订单的时间。
由系统自动根据当前时间录入
在需求中,因为需要采购订单的时间自动的由系统根据当前时间录入,所以我们可以直接利用。
如上图所示,在大纲区域中,选定“创建时间”,在界面编辑区域中,就会自动定位到相关的字段上,并将该字段自动置为被选中状态。
如上图所示,在“创建时间”字段被选中后,在属性编辑区域中就会显示出关于该字段可以设置的属性。
此处,我们将“创建时间”字段原来的“标签文字”属性由“制单日期”改为“订单日期”。
按回车键后,“创建时间”字段在界面上显示的名称就变成了“订单日期”了,并且其自动的具备了“由系统自动根据当前时间录入”的特性。
定义交货地址
交货地址
文本
address
详细描述本次交货地址,可以为空
手工录入
字段类型
长度
100
定义付款方式
付款方式
payType
系统预设“现购”和“赊购”。
默认为“赊购”。
付款方式列表:
状态类别
条件
备注
现购
2
赊购
默认
此处需要定制单据的付款方式,则需要先行定义一个枚举对象。
如上图所示,选择“业务单元”菜单组下的“枚举”菜单项,系统将会弹出“枚举定义”的窗体。
如上图所示,在枚举定义窗体中单击“新增”按钮,系统将会弹出“定义枚举”的窗体。
如上图所示,在定义枚举窗体中的“名称”,“别名”输入框中,分别输入“PayType”,“申请单状态”。
再单击枚举项功能按钮的“新增”按钮,系统将弹出“新增枚举值”的窗体。
如上图所示,
一、在“新增枚举值”窗体的“枚举名”,“枚举别名”,“枚举值”输入框中,分别输入“cash”,“现购”,“1”的文本。
二、在“新增枚举值”窗体的“枚举名”,“枚举别名”,“枚举值”输入框中,分别输入“tick”,“赊购”,“2”的文本。
枚举项的“枚举名”在自动生成Java代码的时候会成为枚举类的分项名称,所以请使用英文字段;
枚举项的“枚举值”可以是文本类型,整数类型。
如上图所示,经过上面的定义过程,我们可以得到了一个枚举项的列表,然后单击“确定”按钮,则该枚举类型定义完毕。
返回单据编辑区域,在单据头的区域内任一空白处单击鼠标右键,在弹出式菜单中选择“新增字段”功能。
如上图所示,在“字段定义”窗体中,分别在“字段名称”,“字段标题”,“数据来源”输入框中,分别输入“payType”,“付款方式”,“固定下拉列表”的文本。
如上图所示,在选择了“固定下拉列表”类型的数据来源后,“字段定义”窗体将会出现选择“固定列表”的选择窗体,在输入框中按“F7”键或者鼠标单击“F7”按钮。
如上图所示,在弹出的选择已定义了的枚举类型的窗体中,选择“第一天课程”组别下的“付款方式”的枚举对象。
经过前面的一系列的工作,我们再将各个界面元素排布成下图所示的版式:
第3章详细设计采购订单表体
定义行号
单据体
行号
数值
seq
由系统自动填入,用户不可输入或修改
在BIM的单据基础模板中,在每个单据体中会预置有单据行号,如下图所示:
定义物料编码
物料编码
MaterialNumber
用户可以从物料表中选择或手工输入物料编码
“基础资料”组别下的“竹数据”组别中“物料组别”,选择“物料”基础资料
编码
定义物料名称
物料名称
MaterialName
根据物料编码自动携带
此处的需求已经发生了变化了,不再是通过下拉框选择或者是手工输入了,而是要根据物料编码自动携带。
如上图所示,此处我们在定义物料名称的时候,在“数据来源”项中要选择“已有基础资料相关属性”的选项。
如上图所示,当选择“数据来源”为“已有基础资料相关属性”后,字段定义的对话框在后继的定义中将等待输入“基础资料”和“相关属性”项。
在“基础资料”下拉列表中,将列示所有在这个业务单元定义过程中已经使用到的基础资料类别。
包括我们前面所使用的“采购组织”,“人员”等。
此处我们选择“物料”选项,并在“相关属性”的选择列表中选择“名称”,如此就完成了需求中所提到的“根据物料编码自动携带”,也就是在使用这个表单时,只要选择了“物料编码”系统将会自动的把对应物料的名称填入这个字段。
定义规格型号
规格型号
MaterialModel
如上图所示,同“物料名称”字段的定义方式一样,规格型号也定义为“已有基础资料相关属性”。
定义计量单位
计量单位
BaseUnit
根据物料编码自动携带物料的基本计量单位,用户可更改。
用户可以从计量单位种选择或手工输入计量单位编码
如上图所示,因为计量单位可以由物料编码自动带出,同时又是用户可以修改的字段,所以必须先定义该字段为计量单位字段。
如上图所示,在大纲视图中定位“分录”下的“物料编码”字段。
如上图所示,在属性编辑对话框中找到“规则事件”的属性分组,选择“更新”事件,系统将会弹出事件管理的对话框。
如上图所示,此时在“物料编码”字段的“更新”事件中,已经有了两个事件。
让我们回想一下,刚才我们定义的“物料名称”,“规格型号”字段的“携带相关基础资料属性”的数据来源,其实就是BIM自动的给我们生成了这样两个值更新事件。
现在我们还要增加一个事件,就是自动携带物料的计量单位到“计量单位”字段。
单击“新增”按钮,系统将会弹出
定义订货数量
订货数量
qtyOrder
当前分录行上的物料需要订货的数量,不可为空,必须大于零
如上图所示,在分录上新增“订货数量”字段,定义其“字段类型”为数量。
为了实现需求“当前分录行上的物料需要订货的数量。
不可为空,必须大于零”,此处还必须得定义一个合法性校验的规则。
合法性校验事件一般定义在保存事件上。
如上图所示,在大纲区域内,定位到“分录”下的“订货数量”字段。
如上图所示,在属性编辑对话框中找到“规则事件”的属性分组,选择“保存”事件,系统将会弹出事件管理的对话框。
如上图所示,在事件管理对话框中单击“新增”按钮,系统将会弹出“定义事件”的对话框。
如上图所示,在“操作名称”,“响应操作”的输入框内分别输入“validate”,“单据合法性校验”。
如上图所示,选择“使用条件”选项,在“条件设置”中输入“IsNull([分录.订货数量])OR
[分录.订货数量]<
=0”,在“条件成立时设置”,设置提示信息“订货数量不能为空,且必须大于零!
”
定义单价
单价
price
必须大于等于零,单价精度参照物料上定义的精度;
如果单据头录入了币种,则此栏可以录入
定义了“建议采购单价”字段,但是根据需求的描述“单价精度参照物料上定义的精度”,所以需要在“物料编码”的“更新”事件中增加一个规则处理。
如上图所示,设置“物料编码”的“更新”事件。
如上图所示,新增一个事件处理,命名为“setPrecision”,并选择相应的操作为“根据关联资料属性设置字段精度”。
如上图所示,选择“不使用条件”选项,然后单击“新增”按钮增加一条处理的操作。
如上图所示,新增一条处理操作,设置“建议采购单价”的精度,依据“物料”上的“单价精度”而自动设置。
再仔细看看需求,“如果单据头录入了币种,则此栏可以录入”,为了满足这条需求则必须使用“币种”的值更新事件。
如上图所示,定义事件操作名称为“setEnable”,相应的操作为“设置字段属性”
如上面两图所示,分别设置“条件成立”和“条件不成立”时“分录.单价”的“锁定”属性为“是”和“否”。
定义税率
税率
taxRate
增值税的税率。
可以为零
定义金额
金额
amount
如果填写了单价,那么就根据数量×
单价计算金额,金额的精度参照币种表中设置的精度;
如上图所示,定义“金额”字段。
根据需求“如果填写了单价,那么就根据数量×
单价计算金额,金额的精度参照币种表中设置的精度”。
则我们在单价的值更新事件中定义相关的规则。
如上图所示,在“建议采购单价”字段的值更新事件中增加规则“calcAmount”的规则定义。
为了满足需求“如果单据头录入了币种,则此栏可以录入”,我们还需要将“币种”的值更新事件修改一下,增加对“金额”字段的属性设定。
如上图所示,单击“币种”值更新事件管理中的“修改”按钮。
如上面两张图所示,分别在“条件成立时设置”和“条件不成立时设置”中增加对“分录.金额”的控制。
定义税额
税额
taxAmount
即增值税金额,根据金额、税率自动计算,税额=金额×
如上图所示,定义“税额”字段。
根据需求“根据金额、税率自动计算,税额=金额×
税率”。
则我们在金额和税率的值更新事件中定义相关的规则。
如上图所示,在“税率”字段的值更新事件中增加规则“calcTaxAmount”的规则定义。
在“金额”字段中作同样一个事件。
定义含税金额
含税金额
taxAndAmount
含税金额=金额+税额。
必须大于零
如上图所示,定义“含税金额”字段。
根据需求“含税金额=金额+税额。
必须大于零”。
如上图所示,在“税额”字段的值更新事件中增加规则“calcTaxAndAmount”的规则定义。
另外要做“含税金额必须大于零”的校验,这个校验事件在保存时触发,事件定义如下:
定义交货日期
交货日期
deliveryDate
要求供应商交货的日期,默认从采购申请单分录行的需求日期携带过来
如上图所示,定义“交货日期”字段。
在业务单元定义过程中,无论是单据头还是单据体都不要使用相同的字段名称。
至此,经过前面的一系列的工作,我们再将各个界面元素排布成下图所示的版式: