数据字典是二次开发最基本的工具,可对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述。
数据字典可设定数据字段的值类型(如:货币型、比率型、数量型等)、非空限制、默认值、取值范围、计算公式、浏览状态下是否可编辑、字段行编辑时是否可用、是否可使用编码规则、是否可复制等属性。
| 字段 | 描述 | 
|---|---|
| 表名(TableID) | 对应的表名。 | 
| 字段名(FieldName) | 表中的字段名。 | 
| 字段类型(DbType) | 字段的类型。 | 
| 字段描述(FieldDescription) | 字段的中文描述,一般与界面上的描述一致,查询制作加载列操作或加载参数时可被自动带出。 | 
| 字段说明(FieldNotes) | 相当于字段的备注,比如默认值的解释说明。 | 
| 显示格式(DataType) | 设置字段预定义的格式。另,查询制作中进行加载列或加载参数等操作时可被自动带出(只能对字段类型为Decimal和DateTime的字段进行设置)。对于各字段类型,系统会自动过滤出有效的显示格式,如datetime字段类型对应的显示格式为日期以及日期时间。 | 
| 默认值 (DefValue) | 此项为数据新增时的默认数据。当字段类型为datetime时,此项填写为0则表示当前日期;也可使用系统参数,如OpUserSign的默认值可设置为@Sys_UserSign,即当前用户编号。 | 
| 非空 (NotNull) | 此项勾选时,对应字段在数据保存前必须填写内容;未勾选时,对应字段在数据保存前可不填写内容。在数据字典中可进行过滤,输入Y可过滤此项勾选的字段,输入N可过滤此项未勾选的字段。 | 
| 不复制 (NotClone) | 当复制单据或主数据时,此项勾选的字段将不被复制;未勾选时,对应字段将自动复制。如,采购订单参考编号字段的不复制设置为勾选,则复制采购订单时,参考编号不会被复制。 | 
| 控制可编辑 (CanEditCtrl) | 此配置项控制CanEdit字段是否可编辑,为Y时CanEdit不可编辑,且CanEdit值为N。此项勾选时,生成单据后再进入编辑状态时,此字段不可编辑;不勾选时,生成单据后再进入编辑状态时,此字段可编辑。 | 
| 可编辑 (CanEdit) | 此配置项控制单据或主数据的主表字段在编辑状态时,限制哪些字段不可编辑。此项勾选时,对应字段可编辑;不勾选时,对应字段被限制为不可编辑。 | 
| 新增可编辑 (OnAddEdit) | 此配置项控制单据或主数据的主表字段在新增状态下,限制哪些字段不可编辑。null表示空,此项为勾选或者为null时,对应字段可编辑;未勾选时,对应字段被限制为不可编辑。 | 
| 行编辑 (CanRowEdit) | 此配置项主要控制单据细表字段在行编辑状态下,限制哪些字段可编辑。此项为勾选时,对应字段可编辑;不勾选时,对应字段被限制为不可编辑。 | 
| 可编码(CanCoding) | 表示可以使用编码规则。Y表示可使用,N表示不可命使用。最终通过“编码规则”设置来实现“自动编码” | 
| 分组名(OnGroups) | 高级配置项,一般不用。可用于Winform中控制控件状态,多状态使用“;”分割。例如,在DocStatus=‘D’状态时,可以使用FacadeManager.OpenGroupStatus(‘D’)打开GroupName中存在字符‘D’的控件。 | 
| 列宽(DefWidth) | 此项为该字段对应的默认列宽。在查询制作中进行加载列等操作时,列宽为默认列宽,方便使用。 | 
| 计算公式(ExprCalc) | 通过定义公式,可在单据保存后自动进行运算。例如:[Qty]* [PriceFC]表示当前字段等于数量乘以单价。 | 
| 验证条件(ExprCheck) | 例如,输入[this]>0 && [this]<18,表示当前字段必须大于0且小于18才可保存;输入Identify,表示当前字段不允许输入\ / : ; * ? “ ‘ < > | & +等非法字符。 | 
| 标称属性(HashField) | 标称属性(HashField),将ID字段翻译成对应的Name字段。例如,物料信息中的仓库,在数据库中是以ID存储的,但是我们在ERP中看到的是对应的名称信息。 | 
默认值设置
例:销售订单的过账日期一般无需设置,默认为制单当天,可通过设置默认值属性完成。
内置默认值格式
| 字段 | 描述 | 
|---|---|
| 0/N/-N | 日期型字段:0表示当前日期,-N表示往前推N天,N表示往后推N天(例如:假设当前日期为2014-11-11,则0表示2014-11-11,2表示2014-11-13,-3表示2014-11-08)。 | 
| @Sys_Priod | 过账期间。 | 
| @Sys_FinancialYear | 当前财务年份(总账设置中进行设置)。 | 
| @Sys_CostYear | 下一个财务结账期间的年份。 | 
| @Sys_CostAbsID | 下一个财务结账期间。 | 
| @Sys_UserSign/@UserSign | 当前用户编号。 | 
| @Sys_UserName/@UserName | 当前用户名称。 | 
| @Sys_EmpID/@EmpID | 当前员工编号。 | 
| @Sys_EmpName/@EmpName | 当前员工名称。 | 
| @Sys_DepID | 当前员工部门编号。 | 
| @Sys_DepName | 当前员工部门名称。 | 
| @Sys_Purview | 当前用户岗位编号。 | 
| @Sys_OrgID | 当前用户组织编号。 | 
| @Sys_ZoneID | 当前用户区域编号。 | 
可编辑设置
例:销售订单细行的“参考编号”一般默认为不可编辑。当需要编辑时,可修改数据字典中的可编辑属性,将该字段设置为可编辑。
不复制
例:销售订单细行中我们一般不复制数量,如需复制,可修改不复制属性进行设置。
控制可编辑
如:销售订单主表参考编号,勾选控制可编辑,已生成的单据编辑界面,该字段不可编辑,否则可编辑。
计算公式
如:为销售订单的含税单价定义计算公式,当数量>100时,含税单价(TaxAfPriceFC)= Factor1-0.5,否则不使用计算公式进行计算。
验证条件
新增或修改单据时,为了防止出错或者乱添加的情况出现,可通过验证条件来进行限制。如:限制销售订单的未税单价必须大于0。
相关操作
| 操作名称 | 操作描述 | 
|---|---|
| 加载 | 根据表名、字段名和列选项设置的过滤条件,加载对应的数据字典设置信息。 | 
| 保存 | 将修改的内容更新至数据库。 | 
| 显示引用 | 显示字段的引用关系。 | 
| 数据库同步 | 将新增或修改的内容同步至数据库。 | 
注意事项
1.数据字典的设置是实时性的,前期由于Web界面缓存的问题,数据字典更改保存后,在对应单据界面右击选择“重新加载”或者“清除缓存重新加载”才能生效。
2.当新增自定义字段后,且自定义字段在数据字典中不存在时,需要点击数据字典左上方“数据库同步”进行手动更新。
常见问题
1.查询报表加载列时默认显示的标题是数据字典中的字段描述还是说明?
答:查询报表等加载列是默认显示的标题是数据字典中的字段描述,因此在维护字段时,编辑描述信息可方便后续的查询报表制作和控件设置等。
2.数据字典中所有设置非空的字段,单据界面上对应的控件前面都会带星号吗?
答:是的。在单据界面中,控件前显示星号提示此处为必填。