外系统往NC63导入凭证,最关键的问题是组织好NC能够解析的XML文件,此文档仅限于凭证能够导入,如有其他需要可查看红皮书 总体架构:
配置外系统的一般步骤;
1、注册外部系统。 如果不存在可用的外系统的话,请在“外部系统
信息设置”界面中注册一个外部系统。
按编码或是按名称,会选择不同的翻译器翻译(根据要导入的XML选择不同的);例如:如果是按名称,但是导入文件配置确实编码就会出错
2、准备外系统数据。这份数据可能是外系统直接输出的,也可能是二次开发人员通过写程序从第三方系统数据库中抓出来的,或者由 Excel 格式或其他格式文件转换过来的。写这份数据时,可以参考 NC 安装盘附带的 XML 模板,XML 文件头或者说文档头的属性项。例如: 这些属性分为三类:必须设置的属性、根据 Servlet 的 URL 参数设置决定是否必设的属性和根据需要决定是否设置的属性;
Servlet 的 URL 地址的参数中指定的信息比在 XML 数据文件的文档头属性中指定的信息有更高的优先级别。比如在 Servlet 的 URL 地址参数中指定 groupcode=yk,而在 XML 数据文件的文档头属性中指定 groupcode=yy,则最终还是将数据发送到 yk 组织。
必须设置的属性 :
billtype 属性,这个属性值决定了这个 XML 文件(文档)中所有单据的单据类型,信息交换平台所有的处理都是围绕单据类型的 ; sender 属性,这个属性值设置的是外系统编码,指定的是数据的来源系统,即习惯上所说的发送方。
【根据 Servlet 的 URL 参数设置决定是否必设的属性】:
这些属性其实也是必设属性,但如果 Servlet 的 URL 参数里面设置了这几个属性的话,XML 文档头里面可以不设置这几个属性值,即使设置了也不会起作用。
account 属性,这个属性指定要将数据导入至 NC 系统的哪个帐套。
groupcode 属性,这个属性值指定接收集团的编码。
【根据需要决定是否设置的属性】:
filename 属性,在数据导入过程中,对于每张单据我们都可以记录其原始数据、翻译后数据,对整个文档我们也可以记录其导入后的回执信息,这个 filename 属性的值就是用于记录上述数据文件时的文件名。当然,如果您没有设置的话,系统会为每个导入的文档默认生成文件名。
isexchange 属性,这个属性值决定了在外系统的数据在导入 NC 系统的过程中,是否使用信息交换平台提供的翻译转换和校验功能。正常情况下应将这个属性设置为“ Y”,或者干脆不设。除非从其他 NC 系统产生的符合 NC 转换后标准的 XML 数据直接导入 NC 系统,并且很多基础档案数据字段直接用的是 PK 值,此时可以设置属性为“ N”和“ n”,可避免无谓的翻译转换。
replace 属性,这个属性值决定是否允许将相同单据往同一个接收方重复导入。 V50 版的插件一般允许相同单据重复导入,除了将第一次导入视作新增之外,其余导入视作更新。关于这方面的具体内容请参见 2.6节内容。如果不允许相同单据的重复导入,那么将这个属性值设置为“ N”或者“ n”。否则将其设置为“ Y”或者干脆不设。
operator 属性, 这个属性指定当前发送方对应的 nc 操作员 pk,在手工加载界面会自动使用当前登陆用户 pk,无需设置。对于外系统发送到 NC 系统,需要在其发送 url 里加上对应得 NC 操作员 pk总的来说,XML 文档头的【必须设置的属性】和【根据 Servlet 的 URL 参数设置决定是否必设的属性】,均为在外系统交换文档发送过程中必须得到的初始化信息,可以在 Servlet 的 URL 地址参数中设置,也可以在 XML 文档头属性中设置,但必须进行设置。而对于 XML 文档头的【根据需要决定是否设置的属性】,也可以在 Servlet 的 URL 地址的参数中设置,但一般不推荐这么做。
导入数据XML模板参照NCHOME----->pfxx---->billdefine---->模块(如gl)对应XML:模板格式说明
外部系统XML格式说明:
设置NCHOME---->pfxx---->businessprossor路径下相应模块的值,此配置为NC调用其内部方法处理,如凭证,则调用凭证相应的方法(保存,查询等)
3、配置辅助信息(可选)。如果要导入的单据数据需要辅助信息配置,在“辅助信息配置”界面根据外部系统、单据类型、接收组织为此次文件发送配置辅助信息。
4、设置基础数据对照(可选)。如果要导入的单据数据需要作基础数据对照(对于需要参照基本档案的字段,如果其值不能按名称或者编码自动翻译过来的话,在导入过程中系统会自动提示必须为该值做基础数据对照),在“基础数据对照”界面根据需要参照的外部系统、需要参照的基本档案、组织为需要对照的值做基础数据对照。
5、五、配置 Servlet 的 URL 地址。将要发送至的帐套编码作为 account 属性值写入要发送到的 Servlet 的URL 中(或者写入 XML 文件的头中);将接收集团编码作为 groupcode 属性写入要发送到的 Servlet 的URL 中(或者写入 XML 文件的头中);将接收组织的代码作为 receiver 属性写入要发送到的 Servlet 的URL 中(或者 XML 文件的头中)
信息交换平台服务器端文件目录结构
exportbills 目录,存放信息交换平台发送给外系统的数据文件。
billdefine 目录,存放所有需要交换的档案和单据的交换规则文件。
auxiregister 目录,每个模块在这个目录下注册一个文件,文件的内容是模块所涉及单据的辅助信息格式。
businessprocessor 目录,每个模块在这个目录下注册一个文件,文件的内容是模块所涉及单据在信息交换平台的注册信息,如单据类型、业务插件类名称、元数据 ID、单据加锁级别等。详细内容参考 4.1 节注册单据相关信息。
l 用于存放信息交换平台的全局参数,如默认帐套、单篇最大传输上限等。
已上步骤配置好了以后,就可以导入导入凭证了
注:NC 信息交换平台内置了常用单据类型数据的导入功能,对于这些单据类型, 如果外系统数据遵照了这些单据类型的交换规则定义(即如果外系统的数据严格按照 NC 安装盘附带的相应单据的 XML 模板生成),那么按上述步骤相对比较简单地就可以导入数据。但是如果外系统数据未能遵照单据类型的交换规则定义,则需要修改该单据类型的交换规则定
义。做法就是将该单据的普通交换规则定义文件另存为特定该外部系
统的交换规则定义文件,并根据单据交换规则定义规范修改该特定交换规则定义文件,具体需要参见第三章[单据交换规则定义],然后再行导入。对于非系统内置或者自定义的单据的导入,需要基于信息交换平台做二次开发,这部分内容可参见第四章。
外部交换平台涉及到的表: