27.1 数据字典
币加德ERP以“数据字典”的形式公开了后台数据库表的定义,打开【系统设置】/【数据字典】,如图27-1。通过数据字典不仅可以查看后台数据库表结构,还可以修改后台数据库表结构,甚至还可以新建后台表。本章只用到查看功能,后续章节再讲解其他高级功能。
图27-1 数据库字典
提醒:通过数据字典可以深入理解币加德ERP的后台数据库的逻辑,不仅在自定义字段时用得到,而且在后续章节的自定义表单、自定义报表、外挂程序也需要。
27.2 自定义字段介绍
(1)作用
①表单扩充。根据不同行业,其产品、业务单据等可能需要更多的字段来描述,而ERP现有表单没有相关字段时,可以通过自定义字段来解决。
②关联取数。举例:
Ø 比如把客户资料的某些字段带到订单、发货单中,打印的时候一并打印出来。
Ø 比如把货品的某些字段带到订单身、发货单身中。
Ø 比如客户下订单时,对每个产品项次都有QC要求,可以自动带到销售出库单中,以便发货检验人员核对。
(2)界面
通过单据界面的【设置】按钮可以打开“自定义字段”窗口,如图27-2。
字段名:自定义字段合计12个,名称为z01~z12。
是否显示:勾选后,才会在表单中显示自定义字段。
标签:自定义字段显示的中文名。
控件类型:文本、数字、日期、下拉框、下拉表、单选框、公式。
控件颜色:普通 - 白色背景、黑色标签;
非空 - 蓝色背景、黑色标签;
只读 - 灰色背景、黑色标签;
主键 - 蓝色背景、红色标签。
小数位数:1~6位。(仅当控件类型为数字时有效)
下拉框内容:双击打开数据编辑器,如图27-3。(仅当控件类型为“下拉框”时有效)
下拉表内容:客户、供应商、部门、员工、仓库。(仅当控件类型为“下拉表”时有效)
图27-2 自定义字段界面
关联取数SQL:双击打开SQL公式生成器,如图27-4。(仅当控件类型为“公式”时有效)
触发字段:由哪个字段触发当前自定义字段。
图27-3 下拉框数据编辑器
图27-4 SQL 公式生成器
提醒:关于“SQL 公式生成器”,这里仅给出界面,后面再用具体实例来详解。
27.3 自定义字段实战
(1)货品资料增加“长”、“宽”、“高”字段。在货品新增界面点【设置】,如图27-5,在打开的自定义字段窗口,如图27-6所示进行设置,最后点【应用】,最终效果如图27-7。
图27-5 打开自定义字段
图27-6 设计自定义字段
图27-7 最终效果
自定义字段和系统内置字段一样,也会显示在货品清单界面,如图27-8。
图27-8 货品清单界面的自定义字段
(2)销售订单的单头增加“包装要求”字段,单身增加“长”、“宽”、“高”字段(在单身选取货品代码时,自动带出值)。如图27-9。
图27-9 销售订单自定义字段设计
以上图中的自定义字段“长”为例,双击“关联取数SQL”栏位对应的单元格,如图27-10。这里与一般SQL语法不同的地方在于“#sc030#”:“c030”表示数据库字段名,如果是单身字段需在前面加上“s”,一对井号表示从当前单据界面的字段取值。
生成SQL公式有2种方法:
方法1:直接写SQL语句。(适合对SQL语法比较熟悉的用户)
方法2:通过填写辅助界面,最后点【预览】生成SQL语句。(适合普通用户)
图27-10 SQL公式生成器
提醒:在使用“SQL 公式生成器”时,通常需要查阅“数据字典”,找出哪个表,以及需要取哪个字段。
除了借助于“数据字典”外,币加德ERP还提供了更快捷的方式,一般的单据界面都可以通过点击单身的字段标签(或单身的列头字段)获取字段名,通过点击单头空白处(或单身空白处)(不能有遮挡)获取表名,获取的字段名(表名)会自动填写到“SQL公式生成器”的当前光标位置。
以取货品资料的自定义字段“长”为例,把“SQL公式生成器”窗口与“货品-修改”窗口并排放到一起,并把光标定位到“SQL公式生成器”要取值的地方(比如“取值字段”/“来源表”等),这样的话,再去点击“货品-修改”窗口的字段或空白,可以及时看到操作响应,如图27-11。
图27-11 通过点击获取字段名(表名)
如果不是像货品资料只是简单的表单,而是像销售订单,有单头和单身,获取字段(表)的方法也是一样的,如图27-12。
图27-12 SQL语句辅助填写
触发字段(在“图27-9 销售订单自定义字段设计”最后一列):表示何时让系统运行“关联取数SQL”。本实战演练中,触发字段为“货品代码”,当在其选择时,自动带出“长”、“宽”、“高”字段的值,和上面讲述的类似,也有2种方法:其一、查询“数据字典”,找出销售订单身的货品代码是哪个字段;其二、把销售订单窗口和自定义字段窗口,并排放置在一起,选中要填写的“触发字段”单元格,然后点击“货品代码”,它对应的字段名称会自动填写到触发字段单元格,如图27-13。
图27-13 点击单据字段,自动填写自定义字段窗口的“触发字段”
自定义字段设计完成后,重新打开单据,调整单头高度(以便可以显示出自定义字段),可以看到单头自定义的“包装要求”字段和单身的“长”、“宽”、“高”字段,当选择货品代码后,自动根据上面步骤设置的取数SQL语句,到货品资料里面找出此货品的长、宽、高的值,并自动带入到单身的自定义字段(长/宽/高)中,如图27-14。
图27-14 通过触发字段自动带出自定义字段的值
当销售订单保存后,在流水簿界面可以看到自定义的字段,如图27-15。
图27-15 流水簿界面的自定义字段
提醒:销售订单的单头、单身通过自定义字段进行扩充后,不但可以满足个性化的业务需求,而且也为个性化的打印需求提供了数据来源,币加德ERP的单据打印使用普通的Excel文件作为模板,只要在流水簿界面有的字段,都可以在Excel模板文件中引用,进而打印出来,详见前面“第23章 单据打印格式设计”。
(3)把销售订单头中的“客户单号”,带到销售出库单的单身自定义字段中。最终效果如图27-16。销售出库单的自定义字段设计,如图27-17。
图27-16 把销售订单头中的“客户单号”,带到销售出库单的单身自定义字段中
图27-17 销售出库单的自定义字段设计
触发字段:数量。保证只要录入数量,系统都会执行“关联取数SQL”。
关联取数SQL:这是实战部分最为复杂的案例,前面的案例只涉及单表查询,此处涉及多表关联查询,其他知识点与前面一样。如图27-18。
图27-18 把销售订单头中的“客户单号”,带到销售出库单的单身自定义字段中
多表连接,举例分析:以订单表、订单明细表为例,进行左连接查询,如表27-1~3。
表27-1 订单表
单号(主键) | 日期 | 客户 |
XDD-21010001 | 2021-01-01 | 客户甲 |
XDD-21010002 | 2021-01-01 | 客户乙 |
表27-2 订单明细表
单号(主键) | 项次 | 货品 | 数量 |
XDD-21010001 | 01 | A | 100 |
XDD-21010001 | 02 | B | 200 |
表27-3 “订单表”左连接“订单明细表”
单号 | 日期 | 客户 | 项次 | 货品 | 数量 | 备注说明 |
XDD-21010001 | 2021-01-01 | 客户甲 | 01 | A | 100 | 不管是连接、左连接、右连接,这2行都会显示(主键匹配) |
XDD-21010001 | 2021-01-01 | 客户甲 | 02 | B | 200 | |
XDD-21010002 | 2021-01-01 | 客户乙 |
|
|
| 如果非左连接,这行不会显示 |