Excel服务器E立方管理平台建立业务单据类模板
2020-02-10 14:19
本章我们通过建立一个业务单据模板----《订单》,继续学习模板的设计,同时会接触到Excel服务器E立方管理平台的最精彩功能之一----表间公式的定义和应用。本章具体内容包括:

1.1 定义重复数据项

单一数据项和重复数据项


图6‑1订单表样
上图是我们要建立的业务单据类模板---《订单》模板的表样。业务单据类模板是记录业务过程的,因此大多要有如下信息:何人在何时做了何事的描述,即有填报人,填报时间,内容,同时,内容大多有多个项目一并填写。
如前所述,模板上可以填写内容的那些空白单元格称为“数据项”。在订单的表样上,有表头----2~4行的客户信息、表尾---第12行的审批信息,也有明细----7~10行的订货产品信息。我们说在《订单》模板上,有两种不同性质的数据项。
第一种,即表头和表尾处的空白单元格,为“单一数据项”。它们的特点是在一份表单上只出现一次。比如C3:F3处的“客户名称”,一份订单上只能有一个“客户名称”。
第二种,即明细中的空白区域,为“重复数据项”,它们的特点是在一份表单上会填多次,比如区域C7:C10处的“产品名称”,一份订单上会包括多种产品。该区域的每一行的单元格的内容都不一样,但它们都是“产品名称”。

建立业务单据类---《订单》模板

  1. 建立订单模板,表样如图6-1所示
  2. 权限设置为:
填报权限:
查阅权限:
  1. 输入若干Excel公式
单元格/区域 公式 作用
H7:H10 =F7*G7 金额=数量×单价
H11 =SUM(H7:H10) 计算合计金额
 
  1. 把表头、表尾定义成单一数据项,组成数据表“订单_主表”
主键 区域 字段名 数据类型 必填 填写规范 其它
C2 订单编号 文字(20字以内)   不清空
  E2:F2 订单日期 日期 当前日期  
  H2 录入人 文字(20字以内) 当前用户姓名  
  C3:F3 客户名称 名称或地址    
  H3 客户编号 文字(20字以内)    
  C4:F4 地址 名称或地址      
  H4 电话 文字(100字以内)      
  C12 审批日期 日期      
  E12:F12 审批人 文字(20字以内)      
  H12 审批意见 文字(20字以内)      
 
  1. 定义自动编号“订单编号”,设为“订单编号”字段的填写规范。

定义重复数据项,组成明细表

现在来把订单的明细部分定义成重复数据项。
在订单模板的设计状态下,选中区域B7:H10,右击鼠标,然后右击,选择“设置重复数据项目”,出现数据表定义向导,如下图:

新建数据表的名称默认为“客户资料_明细”,你可以改成你需要的名称,一般情况下,我们采用默认值即可,然后点击“下一步”,如下图:

上图显示了所选的单元格,表格布局模式,默认是“按行”循环,上方标题行数是1,表示使用数据项目上方的第一行的内容作为数据项目的名称(以后允许修改),勾上“数据区允许向下扩展”表示该数据区域可以扩展,也就是说,可以增加行。
点击“下一步”,如下图,

点击“完成”,出现数据表结构定义窗体,如下图:

项目名称如果你不满意,可以在此进行修改,数据类型、唯一、必填如图所示,最后点击“确定”,这样就完成了“重复数据项目”的定义了。最后点击保存。

动态取值的下拉列表

在上一章,我们学习过“下拉列表”这种数据规范,现在我们为订单上的“客户名称”定义下拉列表。
  1. 用Admin帐户登录,进入设计栏目。
  2. 分类树中选中“数据规范—下拉列表”,点击列表工具栏按钮【新建】,弹出“定义下拉列表数据规范”窗口。

图6‑8动态取值的下拉列表
  1. 输入下列列表名称为“客户名称列表”,数据来源选择“来自数据表”,并在其右侧的下拉列表中选择“客户表”
  2. 当选择了数据表表名后,该表中的字段或出现在“用作显示”和“用作排序”两个下拉列表中,本例中,我们设置下拉取值字段和排序字段都是“客户名称”,排序方式为“升序”。
  3. 勾选“填报时允许手工输入”;
  4. 按【确定】
  5. 回到设计栏目,在“功能模块”中找到《订单》模板,调出其“管理数据表”窗口,设置“订单_主表”中“客户名称”字段的数据规范是“客户名称列表”。
 
现在来填报一份订单,我们看到,“客户名称”处出现了下拉列表,其中的内容是我们已经输入的两张客户登记表中的客户名称。

图6‑9
注意:
客户名称下拉列表中显示的客户名称是按升序排列,因为我们在定义下拉列表的时候指定了排序顺序。
 

1.2 用表间公式提取数据

在上一节,我们对订单模板上的客户名称字段设定了填写规范,填报时可以从下拉列表中选择,但地址、电话等依然还需要手工输入。设想一下填写订单的过程:
填好客户名称“甲公司”
--à地址在哪里?…去翻一下客户登记表…找到了!
--à把找到的地址“抄写”到收货地址处
--à接着填…
这个过程中的“翻查”和“抄写”既耽误时间又容易出错。实际上,因为所有客户的信息都已经通过《客户登记表》模板录入计算机了,所以“翻查/抄写”的工作完全可以由计算机完成,只需要告诉计算机:
 
按照“我所选定的客户名称”到客户表中查一下地址,填充到“地址”栏。
 
这句话实际上表达了四个方面的含义:
  1. 从哪里找数据?----到“客户登记表”中。
  2. 找符合什么条件的数据?----按照“我所选定的客户名称”
  3. 找什么数据?----地址  
  4. 找到数据做什么用?----填充到“地址”栏
这就是表间公式的最原始表达。用稍微规范一些的方式描述一下,教给计算机,就是这样:

1.2.1 定义表间公式

打开《订单》模板,进入设计状态
选择工具栏按钮【表间公式】,弹出“表间公式”窗口,     点击“”出现如下窗体:

 
如上图所示,该窗体有两页,分别是“表间取数公式”和“表间同步更新公式”,现在我们要建立的是“表间取数公式”,所以这一页必须是当前页(默认已经是当前页)。接着点击“新增”按钮,出现表间取数公式建立向导,如下图所示:
 

 
如上图所示,窗体顶部的文字指出了当前需要做的主要事情。接着输入公式名称“提取所有客户资料”,其它不变,点击“下一步”,出现新的页面,如下图所示:
 

 
如上图窗体顶部文字提示,在这里需要做的指定数据来源,如果来源数据表有多个还需要指定他们如何关联(属于同一个报表模板的数据表会自动产生关联关系)。点击“选择”按钮就可以选择,由于台帐所需要的数据存储在《客户资料》的主表中,所以这里选“客户资料_主表”,又由于只有一个来源表,所以不用设置“关联条件”,如上图所示。然后点击“下一步”,出现设置筛选条件的页面,如下图所示:
 

 
由于要提取所有客户的资料,所以这里就不需要设置筛选条件,直接点击“下一步”,
出现“填充方式”设置页面,如下图所示:

 
 
就是在这一页设置如何把取回来的数据填入当前报表中的。由于台帐数据是填充到模板的重复数据区域,所以“填充到数据表”选择“客户台帐_明细”。在“填充方式”表中,共有三列,第一列表示的是已经取回来的数据,第二列表示如何填入(默认是“填入值”),第三列表示要填到哪里去。接着点击按钮,出现表达式设置窗体(后面会详细说明其用法),如下图所示:

双击成员“登记日期”,上面就会显示“客户资料_主表.登记日期”,然后点击确定。这样就表示把取回来的数据中的“登记日期”填入到当前模板的“登记日期”字段,按照同样的方式设置其它的字段如何填充,如下图所示:

点击“确定”,出现如下页面表示公式设置已经完成,最后点击“完成”即可。

设置完成的公式如下图所示:

它显示了公式的完整定义。(如果你要增加的下一条公式,与现有的某条公式很相似,只有一点不同,这时可以用“复制新增”,复制某条公式后,只要做一下修改就可以完成一条新的公式了)
Copyright © 2017 沈阳凯安信通科技有限公司 All rights reserved. Power by DedeCms 辽ICP备13002452号-5