Skip to content

3.6 数据规范

3.6.1 概述

从本节开始,我们将学习Workfine中一个非常重要且使用频繁的功能:数据规范。
在之前的学习中,我们学会了模板样式和数据项定义的知识,定义后的模板可以在应用端填写数据,但填写的方式只能是手动编辑,无法用其他方式来输入内容。比如:性别字段,让用户直接点击男或者女选择;供应商字段,从供应商信息表中调取;日期字段,用日期选择框来选择等等。如何实现这些填写的需求,就是我们本章要学习的内容。 img 图:有数据规范的表单

有数据规范的表单录入数据:

数据规范的定义是,除手动编辑以外,其它形式的数据录入方式。它是为我们输入数据时,提供一种新的数据录入方式。比如,自动编号可以实现编码字段自动生成,系统变量可以自动获取到系统的时间、用户、角色等信息;下拉、级联列表、浮选框等可以先预设好内容,然后在预设内容范围内,让用户选择等等。
使用数据规范的好处有两个:一是更加方便,很多需要通过键盘敲击的内容,现在只需要点选就能够完成,效率更高;二是更加规范,我们可以预设一些内容,用户就只能在这些内容中进行选择,这样对用户填写内容的规范性就得到了提高,更便于我们对数据的管理。

模板绑定数据规范和没绑定数据规范的区别:

img 图:数据规范的填写对比图

在Workfine中,一共支持11种数据规范,也就是提供了11种数据录入形式。数据规范的设置过程遵循先建立后绑定的原则,部分数据规范是系统已经预设,只需进行绑定操作。在学习的过程中,我们要熟悉每一种数据规范的作用和应用场景,以及在建立和绑定过程中各种设置项的含义。以下,是我们提供的11种数据规范的具体说明。

数据规范作用说明
系统变量系统变量是指业务系统根据用户登录信息保留的一些内容等,比如当前的日期,用户,部门,角色等信息
日期日期规范的作用是能够为模板上的日期字段提供不同样式的日期选择器。绑定日期规范后,用户可在日期选择器中选择需要的日期
自动编号帮助表单自动生成唯一的编码 主表建立单据编号的同时,扩展表也要建立单据明细号
下拉下拉就是让用户通过下拉箭头的方式来填写数据内容 下拉不会填充下拉字段以外的关联字段
级联级联不仅能像下拉一样选择内容,还能根据数据间的层级关系进行分级展示。 级联能够关联填充其它内容。
列表不仅能填充绑定字段的值,还能填充相关的其它字段值
开关开关就是2选一,只能选择开值或者关值
浮选框所有的选项都直接显示在单元格中 特点:直观,能直接看到已选和未选的内容
进度条进度条是0-1之间的小数,结合Excel公式就能展示某项业务的大致进度。
评分评分有星星、爱心、奖章、等多种样式。评分中的数值是0-5的整数,其中0分是最差(就是不选),5分为最优。
定位有单点定位和两点测距

表:数据规范作用说明

整个数据规范的学习难度并不会很大,但应用会非常的普遍,基本上在我们以后设计的每个模板都会使用数据规范,所以大家需要掌握每一个数据规范的应用。
在所有的数据规范中,要重点掌握下拉,列表和级联的使用,这里面也涉及到一些数据交互的思想,如何通过数据规范调用其它表的数据,通过学习,慢慢的,我们就会了解数字化建设的本质。
下面,我们开始学习每一个数据规范的具体使用。

3.6.2 系统变量

系统变量是指在表单填报时,可以直接取得与系统相关的信息。例如:当前日期,当前用户,用户所属部门等,系统变量的内容在取出后,一般是不允许被修改的,因此,我们也会在数据管理器中将绑定系统变量的字段设置为不可编辑字段。
绑定系统变量不仅可以自动获取系统的相关信息,还可以根据这些信息处理一些特定业务场景下的数字化问题,比如利用部门ID和部门ID全称,在进行数据查询时,能根据用户的所属部门按权限查询数据。
系统变量总共提供了11个选择项,包括日期、用户、账户、角色、部门、签名等,我们先来了解一下系统变量提供的具体内容和说明。

序号系统变量名称预览和作用
1当前日期2023/08/10
2当前日期时间2023/08/10 14:52:22
3用户ID2
4用户姓名超级管理员
5账号名称Admin
6用户角色系统管理员
7用户签名Undefined
8部门ID-1
9部门ID全称-1/
10部门名称无锡本牛
11部门全称无锡本牛

表:系统变量说明

系统变量的设置
系统变量的设置非常简单,先确定好要绑定的字段,然后在【数据规范】—【系统变量】的列表中绑定相应的系统选项即可。 img 图:绑定系统变量

系统变量视频:

当前日期/当前日期时间

当前日期和当前日期时间的区别是,日期是否带有时间戳。两种日期显示的样式不一样。我们在不同的场景下有时候日期需要显示时分秒,有时候只需要显示年月日即可。在绑定日期变量时,需要保证对应的字段是日期格式,并且字段的样式要与日期规范中的样式一致。
比如,我们在一个销售订单上,设置了填报时间的字段,样式为年月日时分秒。如下,就是我们绑定系统变量当前日期时间的截图说明:
img 图:绑定当前日期时间

用户ID/用户姓名/账户名称/用户角色

用户ID/用户姓名/账户名称/用户角色/用户部门是与当前登录用户相关的信息,其中用户ID为数值型字段,在系统中,用户姓名,角色,部门有可能重复,但用户和账户名称是不允许重复的。取系统的角色或者部门可在某些统计中做判断使用,如下图,是在某个查询表中,按照用户的所属部门进行信息查询。 img 图:绑定部门系统变量,然后根据用户所属部门进行汇总

用户签名

用户签名是workfine数据规范中,比较特殊的一种规范,他实际是取得了提前上传的一张图片:用户先在设计端或者应用端上传一张用户的签名图片,然后表单上的某一个图片字段绑定系统变量-用户签名,就能达到用户登录后实现自动签名的效果。
下图是在设计端或者应用端上传签名图片: img 图:设计端上传签名图片

img 图:应用端上传签名图片

上传默认签名图片后,我们还需要完成下面两步,才能实现签名的应用:

  1. 上传签名图片后,我们需要先在数据管理器中,将该图片字段设置为签名属性
  2. 在数据规范中给该图片字段绑定用户签名

具体操作如下所示: img 图:先设置图片字段签名属性,然后绑定签名规范

img 图:应用端设置签名后提取的效果

用户签名在流程中的应用:

刚刚讲到,用户签名其实是我们提前预设的一张图片,为了达到一定的展示效果,以及避免提取时的效率问题,我们对签名图片也提出了一些要求,签名图片的大小尽量能够控制在20k以内,图片以透明底为宜。 img 图:签名图片示例:图片以透明底为宜,大小尽量在20k以内

部门ID/部门ID全程

Workfine中还特意添加了部门ID和部门ID全称两个系统变量,是为了在特定场景下的统计处理的。后面我们会讲到一个企业的组织形态是一个树形结构,在很多报表的查询权限中,我们只允许用户能查询到本部门及本部门以下的数据,平级或者上级数据是不允许查询的,那这种情况,就需要应用到部门ID和部门ID全称这样的系统变量来处理这类问题。
因为大家还没有学习表达式的功能,具体的应用在当前阶段对我们而言还很难理解,当我们学习后面的知识点后,会以专题的形式再对相关应用进行讲解。

img 图:系统组织架构的树形结构

需要给大家说明的是,系统变量的生成时机,是在绑定的字段没有值,同时也符合权限要求时,就会自动生成。这句话理解起来会有一些晦涩,大多数系统变量的应用场景是在新增表单时产生的,但如果设置了权限,也可以在表单修改的时候生成,或者在流程审批的某个环节中生成。
系统变量的使用比较简单,定义好字段后,直接绑定即可。但签名字段和部门编号全称的使用大家需要熟悉,签名字段需要设置图片字段后,上传默认签名;部门ID和部门ID全称在数据按权限查询中会用到,在后面的章节中我们会给大家具体介绍部门ID的应用。

3.6.3 日期规范

日期规范的作用是能够为模板上的日期字段提供不同样式的日期选择器,这样用户使用的时候,不用手动输入,而是只需要通过选择日期,就可以完成输入。
这里,我们再回顾下数据规范的定义:除手动编辑外,其它形式的数据输入录入方式。
我们在进行字段定义的时候,如果是日期字段,我们会默认的给一个日期规范,我们也可以在数据规范里的日期规范中进行调整,日期规范的使用比较简单,需要什么样式的日期规范,选择对应的样式绑定即可。
以下,是日期规范的视频介绍,请小伙伴们仔细观看。

日期规范视频:


日期区间:

在日期规范的使用中,还有一种是区间的日期规范,就类似我们订酒店,要选择入住时间和离开时间一样,需要一次性选择一个区间段。区间日期规范的使用也很简单,只需要在绑定规范后,在绑定设置中,设置好区间的开始日期和结束日期即可。 img 图:区间日期操作示意图

日期区间视频:

3.6.4 自动编号

我们前面讲了两个数据规范,都是系统提前预设好,我们只需要绑定即可。这一节,我们来学习一个新的数据规范:自动编号。自动编号需要我们先设置,然后再绑定使用。

自动编号是我们在系统设计过程中非常重要的一个功能。它代表了系统设计思想的精髓,在我们任何一个称之为"系统"的应用中,其实都是通过编码来实现大多数系统功能的。可以这么说,在关系型应用中,如果没有编码,将会减少90%的应用价值。
自动编号能够在表单上生成唯一的ID码,目的是可以给每一条数据一个唯一的身份信息。就像我们每个人都有一个身份证号码,他代表着每个人信息的唯一性。这样我们在进行数据处理时,就能够通过唯一编码进行识别。
我们在模板样式章节中讲到,系统的一个特性就是能够实现数据关联,这是excel表格所不具备的能力。要如何能够实现数据关联,利用的就是具有唯一属性的ID码。系统之所以称之为系统,首先要保证的是数据流转过程中的强关联,ID码在其中发挥着核心的作用。
img 图:编码在关系型业务中的应用

先给大家举一个例子,我们来感受下有编码和无编码在数据管理中的区别:
我们在填写销售订单时,会选择客户信息表中的客户信息。如果某一天客户信息由于工商变更调整了单位名称,这个时候我们再统计这家客户的销售数据时就比较困难。但是如果我们使用了客户编码字段,不管客户名称如何变化,编码都是不会变的,这时,任何与之相关的统计都不会出现问题,这就是ID编码所起的作用。

img 图:有无编码的应用区别

有无编码对比操作:

自动编号的设置原则

上面的例子给大家简单的演示了一下有无编码的区别,编码的应用在系统设计过程中非常重要,希望大家一定要重视起来,如果把一套系统比喻成一栋房子,那编码就是这栋房子的承重墙,哪里缺,哪里就有可能产生坍塌的风险。 那编码的设置和利用原则是什么样的呢?这里需要大家牢记:

一、原则上,我们定义的每一个数据表,都应该有相应的编码字段,这里要强调的是每一个数据表,而不是每一个模板,如果一个模板中有主子表,不光主表上要有编码字段,子表上也应该设置编码字段,来保证每条数据的唯一性。例如,我们在建立销售管理模块时,有客户信息,产品信息,销售订单,销售订单查询等模板;客户信息和产品信息模板,我们需要建立客户编码字段和产品编码字段;销售订单是主子表结构,我们需要在主表上设置单据编码字段,明细表上设置单据明细号字段。

二、在关系型业务中,数据发生调用时,调用的数据对应的编码字段也要一并调取过来,比如我们在销售订单中调取了客户信息和产品信息,那么客户编码和产品编码也应该一起调取过来,来保证数据的关联性。 img 图: 模板中的每个数据表都设置编码字段

自动编号的建立

自动编号的建立过程比较简单,但要理解几个设置项的含义。一般,自动编码的结构由前缀+日期部分+流水号三部分组成,比如销售订单编码XS20230808001,单据明细码 MX230101000001,产品信息编码 CP2300001等。
自动编码的应用是绑定在基础模板和业务模板上,基础模板的自动编码日期部分可以为无,或者设置为年份或年月即可,流水号以周期内可能产生的最大数目为准。比如,产品信息最多可达到几千个,可设置4位流水号。业务模板中主表信息,日期部分一般年月日,流水号以周期内可能产生的最大数为准,比如,每天的销售订单最多几百个,则可设置3位流水号;扩展表的自动编码我们一般叫做单据明细号,日期部分一般为年月日,流水号一般设置6-8位,同时,为了简化设计,不同扩展表的明细号可以复用。但是主表上的自动编码我们一般都是单独设置的。

模板自动编码格式说明
产品信息产品信息编码C00001基础信息编码可不用
客户信息客户信息编码K0001
供应商信息供应商信息编码G230001
销售订单销售订单编码XS20230101001单据编码以前缀,年月日+流水号形式
单据明细码MX20230101000001
采购订单采购订单编码CG20230101001
单据明细码MX20230101000001明细码可复用

图: 自动编码的示例和应用说明

自动编号组成说明:

废号重用规则

首先,我们先要理解一下什么是废号,废号是指使用过后又被舍弃掉的编码,一般是删除表单或者新建未保存表单时造成的。对于废号的使用,是根据我们的设置规则来定的。系统中废号重用有三种规则:关闭重用,完整重用(全部回收)和顺序重用(部分回收)。
我们通过举例来说明这三种规则的差异性。比如:我们生成了001,002,003,004编码,现将002和004编码删除,这就产生了两个废号。
当我们设置废号重用关闭时,再次新增单据时系统会自动往下生成编码005,再新增单据,会按顺序生成006,007……;
当我们设置废号完整重用时,再次新增单据时系统会先生成002和004,再新增单据,会按顺序生成005,006……;
下图是先生成001,002,003,004编码,然后删除002和004编码后,不设置废号重用,设置废号重用,顺序重用,完整重用的对比图
img 图: 不同废号规则的编码生成图示

需要指出的是,我们在系统设置的时候,不用一味的追求编码的连续性。对于系统编码而言,保证编码是唯一并且升序生成就足够了,按升序生成对系统的意义也非常重要,这在后面数字化处理应用会跟大家具体讲解。同时BS架构的产品,由于依赖浏览器的使用,同时,产品也无法检测到浏览器的一些动作,当用户在刷新浏览器时,也有可能产生跳号的问题。

浏览器跳号:

自动编号的生成时机

自动编号的生成时机分为两种,一种是新增时生成,一种是保存时生成,但自动编码的绑定情况也分两种,绑定在主表上,和绑定在扩展表上。当自动编码绑定在主表上时,默认是新增时生成自动编码的,如果你想减少跳号的情况,也可以设置为保存时产生;当自动编码绑定在扩展表时,由于填报时不明确扩展表的具体行数,所以扩展表的自动编码只在保存时生成。

自动编号生成:

上面我们给大家介绍了自动编码的整个建立原则和方法,希望大家对自动编码有一个深刻的理解和认识,我们建立自动编码的核心目的就是给每条数据一个唯一的标识,所有数据流转的时候,对应的唯一标识也要一起流转的。这样在进行数据管理时,我们才能更加的清晰和精准。

课后思考

编码除了具有唯一的属性外,还具有等长和升序生成的特点,这些特点在我们很多数字化场景中都可以被利用到,我们在很多取最近数据的方案中,都有利用到自动编码的一些特点。下面,请各位小伙伴考虑下,在下面的销售订单中,如何取得订单中每个客户,每款产品的最后一次销售价格。 img 图: 如何获取销售订单中每个客户,每款产品的最后一次销售价格

3.6.5 下拉规范

下拉,就是让用户通过下拉箭头的方式来填写数据内容,这种方式可以限定输入的内容,同时,让用户填入数据时更加的方便。
我们先来看一个案例,以便我们更深刻的了解下拉规范。在销售订单中,主表上有销售类型字段,内容包括生产订单,贸易订单,委托订单三项内容,现在要求填写销售订单时,销售类型的内容不允许手输,只能够通过下拉选择。 这个时候,我们就需要使用到下拉规范的功能。
整个实现过程分为两步。第一步,先建立含有生产订单,贸易订单,委托订单三项内容的下拉;第二步将销售订单中的订单类型字段绑定上一步建立的下拉即可。下面,是订单类型下拉和建立的使用过程:

固定值下拉

通过上面的引例,我们对下拉规范已经有了一定的理解,它是将我们输入的内容限定在一定的范围内,并且用倒三角下拉的方式让我们录入,这在我们很多的业务场景中都有应用,我们在这里需要关注的是下拉的整个实现过程:是先建立后绑定。后面我们要学习的几个数据规范的实现都是这样一个先建立后绑定的过程,需要我们关注的是,在不同的下拉规范中,建立和绑定的细节设置会有所不同。
现在,我们把刚刚的需求再调整一下,还是在销售订单中,主表有个跟单员字段,但跟单员的信息不是固定的,而是从人员信息表中获取,而且只从销售部的人员中获取,我们又该如何实现这样的需求?
img 图:下拉中取得销售部门的人员为跟单员

此时,我们还是需要通过下拉规范来实现,所不同的是,这次我们的取值来源是某个数据表的内容(人员信息表中销售部的人员信息),而不是之前的固定值。因此,我们在建立下拉规范的时候,还要确定我们的数据源,并且从数据源中筛选出部分数据,这就是我们要学习的另一种下拉建立,数据源下拉。

数据源下拉

img 图:数据源下拉

数据源下拉:

下拉绑定设置

我们来回顾下刚刚数据源下拉的整个设置过程:先选择人员信息表为我们下拉建立的来源表;然后编辑筛选条件,筛选出销售部的人员;最后绑定下拉,将人员信息表中的姓名内容填充到销售订单中的跟单员字段上。整个过程就是选择数据源,清洗数据,使用数据的过程,这个过程,在后面我们统称为表达式过程。表达式其实就是Workfine对SQL的一种封装,让用户不需要写代码就能实现很多数据的交互。
上面,我们建立数据源的下拉时,选择数据源后,可以进行数据筛选。在某些情况下,我们筛选数据,是需要与当前绑定的数据表内容关联的,这个时候的筛选就需要在绑定的时候来进行。打个比方,人员信息表中,销售部门分为销售一部和销售二部,销售订单中有业务员和跟单员信息,业务员和业务员所属部分是通过系统变量自动取得,跟单员要求是与业务员相同部门的人员,这个时候需要先在销售订单中取得业务员的基本信息,再与人员信息表中进行匹配,就能得到相应的跟单员信息。
img 图:下拉绑定设置

下拉绑定筛选:

以上,就是我们下拉规范的应用介绍,整个过程都是先建立后绑定的过程。固定值下拉的建立比较简单,数据源下拉的建立会稍复杂,这也是我们第一次学习表达式的内容,选择数据源后,我们不仅可以在建立时进行数据筛选,在绑定时也同样可以进行数据筛选,这样,在数据的利用上就会更加的精准。

3.6.6 级联

级联的基本概述

在上一节,我们学习下拉的时候有提到,下拉内容只能填充当前绑定的字段,无法实现关联填充。当我们填充了跟单员后,如果想填充跟单员编码和跟单员电话信息时,还需要通过其它方式实现。这节课,我们来学习级联的数据规范,级联不仅能够像下拉一样选择内容,同时,还能够关联填充其它内容。
我们先通过一个案例,来熟悉一下级联的基本操作:在销售订单中,主表上有跟单员字段,跟单员是从人员信息表中获取,现要求,跟单员只从销售部的人员信息中获取,同时,在填充跟单员信息时,需要将其对应的跟单员编码和联系电话一并取出来。
img 图: 要求提取跟单员的相关信息

上面的需求与我们学习下拉时有所不同,区别是我们除了填充要绑定的字段外,还需要填充与绑定字段相关联的其它字段信息。下面我们用级联的数据规范给大家演示一下具体的实现过程。

级联操作演示:

以上,是我们要学习的级联规范的基本操作过程,他其实是对表达式功能更细致的应用。我们在上一节学习了数据源的下拉,在本节又学习了级联的应用,这样大家的领会应该更加深刻。首先,我们学习级联的操作时,要对表达式的使用过程更加的清晰:选择数据源-筛选数据-确定数据字段-填充数据。整个过程是我们实现数据交互的标准程式,也是我们后面学习更多表达式应用的基本思路;其次,学习级联主要是要理解级联的三种组织方式:列表,树形和字段分级,不同的数据格式都能够构造出级联的规范。
下面,我们将一一给大家介绍级联的三种数据格式是如何构建级联规范的。

列表格式的级联

我们在前面给大家实现的级联规范,数据格式就是一个典型的列表格式。列表格式是指每条记录都包含所有的上下级信息。

树形格式的级联

树形格式是指每条记录只记录本级和上级的信息。

字段分级的级联

字段分级格式是指根据字段位数来判断上下级关系。

3.6.7 列表规范

下面,我们来学习数据规范中另一个非常重要的规范,列表规范。我们在上面学习的下拉和级联规范中,当数据量过大时,选择下拉或者级联时操作还是会不太方便,这个时候我们就可以选择使用列表的数据规范。
列表与我们在级联中讲到的列表的数据格式是一致的,他是将数据一行行的显示,然后通过选择将数据调取到当前表单中来,所以,列表规范的应用过程还是选择数据源-筛选数据-选择数据字段-调用数据。
我们先用一个案例让大家了解一下列表规范的操作过程,在填写销售订单时,我们需要填写购买的产品信息,而产品信息是在基础模板的产品信息表中,这个时候,我们就需要通过列表的方式来实现产品信息的获取。
img 图:通过列表获取产品信息

上述问题的解决方法很简单。先建立列表规范,选择数据源为产品信息表,不需要对产品信息表的数据做筛选,对照着在销售订单上要填充的字段,选择出产品信息表中需要的字段,同时,要记得进行一个基本的排序;建立好产品信息列表后,再将该列表绑定到销售订单的产品名称字段上,同时可以对应填充其它的产品信息字段,整个过程操作就完成了。以下是具体的视频操作演示。

数据源列表:

列表是我们在进行系统搭建时,使用非常频繁的一项功能。我们要对基本的流程非常的熟悉,选择数据源-筛选数据-填充字段-绑定字段,在这四步过程中,每一步又有很多细节点:数据源我们要学习数据表关联;筛选数据我们要学习日期,模糊匹配等筛选方式;填充字段我们要学习排序,分类组合等设置项的含义;绑定字段我们要理解单选/多选,返回单行,执行条件等等设置项的含义。
数据源中数据表关联和筛选条件的知识点我们将在学习表间公式的时候再与大家详细介绍,这里我们重点将数据填充,和字段绑定过程中的设置项与大家做一个介绍。

填充设置

列表的填充有几个基本的设置项我们需要注意

1、填充设置-自动填充所有字段:

新建列表时,我们可以根据需要将左侧数据源的字段选择到右侧列表字段中,如果需要一次性全部选择,可以点击此按钮。 img 图:列表自动填充所有字段

自动填充所有字段:

2、填充设置-隐藏显示保留字段:

我们以后在进行设计时,凡是有选择数据源的地方,都将会有隐藏/显示保留字段的图标,保留字段是指除模板中自定义的字段外,系统也提供一部分字段,这与我们之前学习的系统变量中的字段类似。保留字段的使用与普通模板字段一样,只需要选择到右侧即可,在这里,我们需要详细了解每个保留字段含义,特别是标识字段。

img 图:列表中的隐藏字段

3、填充设置-排序:

排序是列表设计时,必须设置的一个步骤,确定好列表字段后,必须设置一个或者多个排序字段,当设置多个排序字段时,顺序在前的排序优先级高。

img 图:列表中必须要设置一个排序字段

4、填充设置-分类组合:

分类组合是对某些信息进行分组排列,便于应用者方便查看,分类组合和我们后面要学习的分级预览功能很类似,都是对数据进行一个分组。分类组合可以设置多个分类字段,顺序在前的优先级高。

img 图:列表设置分类组合

img 图:列表的分类组合

5、填充设置-隐藏:

隐藏是指设置隐藏后该字段在应用端不被显示,但是在绑定填充的时候照样可以被使用,一般我们在设置列表的时候会隐藏一些编码和文本内容很长的字段,使应用者在使用的时候简洁明了但又不影响数据的逻辑关系。 img 图:列表设置填充隐藏

img 图:列表中隐藏的字段在应用端不显示,但可以正常填充

6、填充设置-参与搜索:

参与搜索是指列表字段在应用端能否通过搜索关键词找到对应数据行,设置或者取消参与搜索的字段,除了能提高搜索的精度,还能提高搜索的效率。 img 图:列表中设置参与搜索

img 图:应用端 列表可通过关键词搜索数据

7、填充设置-高级表达式:

我们在讲下拉,级联,列表规范时提到这些功能都是表达式功能,在列表的填充方式中,我们还有个高级表达式的功能,可以提供我们更多的高级函数应用,在这里,我们给大家演示一下拼音码的使用,让大家有个基本的概念。高级表达式的具体应用,我们将在表间公式章节中与大家详细介绍。
我们在建立列表规范时,为了能够快速检索到数据,一般会建立一个拼音码字段。比如,我们建立产品信息列表时,除了必要的产品信息字段,还要建立产品名称的拼音码字段,这样就可以通过搜索产品名称的首字母来找到对应的产品。下面,是建立产品名称拼音码的操作视频。

列表拼音码设置:

绑定设置

绑定设置是在列表绑定的时候对应的一些设置项,除了填充字段,单选多选基础设置项外,还有一些返回单行,唯一约束等常用的设置项,下面,我们将填充设置时的一些设置项给大家具体做一个介绍。

1、绑定设置-单选/多选:

单选/多选,是设置一次能够选择一条记录还是多条记录的设置项,比如在销售订单中,主表上的客户名称是单选,扩展表上的产品名称是多选,一般情况下主表上的列表规范单选会多一些,扩展表上的列表规范多选会多一些。 img 图:列表绑定设置多选

2、绑定设置-返回单行:

返回单行的设置是与多选的设置一并使用的。当设置了多选,并且设置返回单行后,多选的内容会通过逗号隔开填充到一个单元格中。返回单行的设置会在某些填报,或者查询中应用的比较多,下图就是一个设置了返回单行后,查询表可以根据多条件查询的设置。 img 图:列表返回单行

3、绑定设置-唯一约束:

唯一约束是指设置后,当选择了一条内容后,该内容就不会再在列表中显示,可以防止数据被重复选择。比如,我们要求在销售订单中,产品信息的选择不能够重复,就可以在列表中将产品编码设置为唯一约束。
需要注意的是唯一约束的设置项是单选,如果我们开发习惯良好,每条数据对应的有编码字段的话,可直接设置编码信息作为唯一约束。如果在设计的时候没有唯一的编码字段,又需要设置多个字段组合唯一,可以在设置列表的时候建立一个组合字段,然后绑定时设置这个组合字段为唯一约束也能够达到需要的效果。 img 图:列表唯一约束

4、绑定设置-筛选条件:

列表绑定的筛选条件与我们之前学习的数据源下拉和级联绑定的筛选条件作用一致。都是在绑定时,可以对数据进行二次清洗,这种情况下一般是将来源数据与本表数据进行对比筛选。比如在销售订单中,如果每家客户已经确定了业务负责人,在填写销售订单时,要求当前填报人只能够选择他所负责的客户信息,这样就需要再次进行数据筛选。 img 图:客户资料

img 图:列表筛选条件设置

img 图:列表绑定筛选结果

5、绑定设置-执行条件:

执行条件是指该条件满足时,列表才能够打开。这是因为在Workfine中,提供一个字段绑定多个列表的功能,可以让其在不同的条件下执行不同的列表,所以这里会有一个执行条件的功能。通常情况下,一个字段都是绑定一个列表,执行条件可以不用关注。
当一个字段需要绑定两个列表时,我们就需要根据不同的情况填写执行条件。比如:在销售订单中,正常情况下都是销售产成品,但偶尔也会将采购的原材料直接销售,就是所谓的贸易订单,因此,当订单类型是贸易订单时,我们选择原料信息的内容;当订单类型不是贸易订单时,我们选择产品信息的内容,这个时候就需要在产品名称上绑定两个列表,具体操作请参考以下视频。 img 图:一个字段绑定多个列表

一个字段绑定多个列表:

6、绑定设置-自动填充:

自动填充的功能是为了给予设计者在绑定列表时,填充字段更加方便。点击自动填充的快捷键,能够让列表中的字段按照与本表中的字段名称相等进行一一匹配,这样就免去了一一填充的过程,提高了设计效率。 img 图:列表字段自动填充

列表字段自动填充:

列表总结:

列表规范是数据规范中应用的最为普遍的一个功能,它也是表达式功能最为典型的代表。我们需要熟悉它每一步的设置过程,当我们熟悉了列表的设置和应用过程,也就对Workfine产品的核心功能有了掌握。剩下的就是在以后用到表达式功能时,如何融会贯通,灵活应用的问题了。

3.6.8 开关

开关的数据规范非常简单也比较实用,它是让我们设置两个值,比如男女,是否,对错等等。其中一个值为默认值,当我们需要修改内容时,只需要点击一下开关图标就能够完成,这样在操作上会更加的方便,感官上也会更加直观

开关应用:

3.6.9 浮选框

浮选框规范与下拉规范的本质是一样的,只是一种是下拉的显示方式,一种是浮选的显示方式。整个设置过程与下拉基本一致,也包括固定值的浮选和数据源的浮选,我们在学习的时候可以参照下拉的教程认真总结。
下拉和浮选框在应用场景上也没有太明显的区别,主要还是看设计者的想法,有的时候也要参照模板的样式布局,相对而言,浮选框对应的内容会少一些,内容太多,浮选的显示就会杂乱,同时浮选的内容不适合动态扩展,一般固定值的会比较多一些。
下面是浮选框的应用案例,大家可以作为学习参考,同时,也请大家回顾一下下拉规范的使用,来强化我们对浮选框的理解。

浮选框的应用:

3.6.10 进度条

进度条规范绑定的是一个数值字段,数值在0-1的范围内。进度条字段是将0到1的值用另一种方式来展示。通常这个字段的值是通过excel或取数公式得来,而不是手动输入。
进度条规范提供了细线,实线,环形三种样式,通过提供一些设置项来实现不同的展示效果,感兴趣的小伙伴可以测试体验一下。
需要关注的是:绑定进度条的这个字段,要确定这个内容是如何计算得来的,百分比的计算逻辑是什么样子的,使用excel公式还是取数公式,计算后展示成进度条的形式;一些情况下,折算成进度条时,会有除法的运算,这个时候还需要考虑分母不能为0的情况。 img 图:进度条展示样式

进度条:

3.6.11 评分

评分也是绑定的一个数值字段,内容是在0-5的范围内,0代表不选,5代表全选,评分规范多用于一些考核或者互评之类的业务场景中,显示上,比直接写数值要直观。最终得到的分值一般还会参与运算,比如干部管理中,给每个人员打分后,最终会算出一个K值排名等。 img 图:评分

评分:

3.6.12 定位

定位的数据规范是通过百度地图来获取用户的地理位置和经纬度。Workfine提供单点定位和两点测距两种定位方式。单点定位应用在考勤打卡,客户拜访,野外作业等场景会比较多,两点测距一般应用在交通运输等场景,定位数据规范的应用一般在移动端上。 img 图:定位

单点定位:

两点测距:


小结:
我们在掌握模板的定义后,要学习的第一个非常重要的功能点就是数据规范。它会让我们对模板的概念更加的清晰,同时对数据交互也有了一定的理解。我们发现,通过数据规范,不仅能够在填写内容时更加规范和方便,同时还实现了数据交互。比如:我们可以建立一个列表,将产品信息表的数据填充到销售订单上,这与我们之前使用excel有非常大的区别。在这个使用过程中,就是我们数字化思维不断进化的过程。

下一节我们将学习表间公式,其实是系统性的学习表达式的功能,我们在数据规范中已经接触了一些表达式的知识点,特别是列表规范,是典型的表达式的功能点,下一节,我们会更全面的学习表达式的知识,完成表达式的学习后,我们就能基本掌握数字化建设的设计技能。