标准数据之间在名称、结构和语义上的差异,需要通过手工配置来修改自动生成的单据交换规则,以保证内外系统交换时数据的完整性和有效性。
图3.1.2 可编辑交换规则轮廓
现在假设有一外部的XML数据样本文件,如图1.2所示。 我们将单据根标签
图3.1.3 外部XML数据文件样本
由于外系统数据文件的单据根标签为
图3.1.4 修改交换文档根标签
【单据号备选字段】用于在单据没有明确指定单据号时,将该字段的内容作为单据号,插件开发人员可选;
【注册加密解密类名】见第六章。
第 33 页
2. 表记录的配置
表头记录定义了NC系统里单据表头VO的信息及与外系统文件相应单据表头元素的对照关系。如图3.1.1.1所示。
图3.1.1.1 名为billhead的表头记录定义
【外系统定义的表标签】是外系统数据文件中单据表头元素的标签名,在上述数据文件中是
【转换后标准的表标签】是生成NC标准XML文件时使用的标签名,由NC统一发布,用户一般不应该做修改。
图3.1.1.2 设置表头记录“外系统定义的表标签”属性项的值
3. 字段属性项的配置
接下来,我们需要配置表记录中的每个字段。先介绍两个概念:字段元素和实体元素。DOM树中的叶子节点(简单元素)我们称之为简单字段元素,因为一般情况下它与我们NC系统中的一个数据对象的属性或者数据库表中的一个字段对应。除了简单字段元素之外,还有复杂字段元素。关于复杂字段元素的介绍请参考高级篇。图3.1.3.1示例了数据文件中的简单字段元素。
由字段元素(简单字段元素或者复杂字段元素)组成的父元素我们称之为实体元素。
第 34 页
图3.1.3.1 数据文件中简单字段元素示例
下面介绍字段的各个属性的含义和配置:
? 【该字段在NC的名称】
这个字段在NC的数据结构中的名称,这个名称是由NC系统的元数据决定的,由校验文件自动生成时自动填充,用户一般不需要修改它。
? 【该字段在外系统中的名称】 表示字段元素的标签名。数据交换的本质是数据映射,让一个系统中有意义的数据变为另一个系统中同样有意义的数据,但两者的名称可能不一样。在这个地方我们要正确填写外系统数据文件中跟NC中某字段对应的字段元素的标签名,否则就会丢失信息。如表体记录定义的字段exsystemcode默认的外系统名称为< exsystemcode>,与数据文件中相应字段元素的标签名< excode>不一致,需要将该字段的这个属性值设置为相应字段元素的标签名“excode”,否则在转换过程中就会丢失这个字段的值。
图3.1.3.3 校验文件默认生成的“该字段在外系统中的名称”
第 35 页
图3.1.3.4 数据文件中简单字段的标签名
图3.1.3.5 修改字段的“该字段在外系统中的名称”属性
? 【字段描述】
对字段的详细描述,使易于理解。校验文件管理界面左侧树上的字段节点的名称显示为字段描述设置的值。
? 【数据类型】
字段在NC的数据结构中的数据类型,在转换过程中用于校验外系统数据。可以设置的值包括字符串、整型、UFBoolean、UFDouble、日期、时间戳等等。通过元数据自动生成。
? 【允许为空】
字段值是否允许为空,在转换过程中用于校验外系统数据的合法性。通过元数据自动生成。
? 【最大长度】
字段值的最大长度,在转换过程中用于校验外系统数据的合法性。通过元数据自动生成,一般不用修改。
第 36 页
? 【默认值】
通过该属性为字段定义一个默认值,当外系统数据文件中没有该字段的值,那么取此默认值导入到NC系统中。适合于NC内的非空字段,但外系统不具备相应字段元素值的情形,比如导入U860的部门档案、会计科目时,U860相应数据文件均没有公司字段元素,所以需要修改数据文件,或者在校验文件中设置默认值,相对来说,在校验文件中设置默认值显得一劳永逸一些。下面的图例说明了如何设置默认值以及默认值的作用。
图3.1.3.12 为字段定义默认值属性
图3.1.3.13 定义默认值字段的转换前数据
第 37 页