NC外部交换平台XML使用及解析
下图是一个典型的XML文档头,文档头的根标签名是ufinterface,后面跟着就是各种初始化信息的设置。我们将这些属性分为三类:必须设置的属性、根据Servlet的URL参数设置决定是否必设的属性和根据需要决定是否设置的属性。
1、必须设置的属性:
billtype属性,这个属性值决定了这个XML文件(文档)中所有单据的单据类型,外部交换平台所有的处理都是围绕单据类型的。
sender属性,这个属性值设置的是外系统编码,指定的是数据的来源系统,即习惯上所说的发送方。
2、根据Servlet的URL参数设置决定是否必设的属性:
这些属性其实也是必设属性,但如果Servlet的URL参数里面设置了这几个属性的话,XML文档头里面可以不设置这几个属性值,即使设置了也不会起作用。
account属性,这个属性指定要将数据导入至NC系统的哪个帐套。
receiver属性,这个属性指定数据的接收方。接收方又是有一定格式的,可以将这个格式用一个正则表达式表示为:
接收方 =(公司编码|公司主键)(@主体帐簿编码)?
也就是说接收方根据单据类型的需要,可以是公司或者公司下的主体帐簿。当接收方是公司,如编码为“yy”名称为“yk”的公司,其主键为“1046”,那么根据外部交换平台总体参数设置中的接收公司匹配规则的设置(参考2.5节)可设为receiver=yy或者receiver=1046。当接收方是公司下的主体帐簿时,如编码为“yy”名称为“yk”主键为“1046”的公司下有一编码为“yy-0001”名称为“yy公司基准帐簿”的主体帐簿时,根据外部交换平台总体参数设置中的接收公司匹配规则可将接收方属性设置为receiver=yy@yy-0001或者receiver=1046@yy-0001。
3、根据需要决定是否设置的属性:
filename属性,在数据导入过程中,对于每张单据我们都可以记录其原始数据、翻译后数据,对整个文档我们也可以记录其导入后的回执信息,这个filename属性的值就是用于记录上述数据文件时的文件名。当然,如果您没有设置的话,系统会为每个导入的文档默认生成文件名。
isexchange属性,这个属性值决定了在外系统的数据在导入NC系统的过程中,是否使用外部交换平台提供的翻译转换和校验功能。正常情况下应将这个属性设置为“Y”,或者干脆不设。除非从其他NC系统产生的符合NC转换后标准的XML数据直接导入NC系统,并且很多基础档案数据字段直接用的是PK值,此时可以设置属性为“N”和“n”,可避免无谓的翻译转换。
在我们制作好的XML进行发送加载的时候,翻译转换可能会将某一个属性重复翻译而导致发送失败,这时我们可以将isexchange属性设置为“N”。
replace 属性,这个属性值决定是否允许将相同单据往同一个接收方重复导入。V50版的插件一般允许相同单据重复导入,除了将第一次导入视作新增之外,其余导入视作更新。关于这方面的具体内容请参见2.6节内容。如果不允许相同单据的重复导入,那么将这个属性值设置为“N”或者“n”。否则将其设置为“Y”或者干脆不设。
如果我们要通过发送XML来更改某一张单据的时候,可以将该单据的单据号填入XML中,其余属性填上你要修改的数据或保持与原单据数据一致。
单据流水号在外部交换平台中是一个相当重要的概念,可以将其看作一张单据在外部交换平台中的标识。一般情况下,需要为待导入的每张单据定义一个流水号,如果未定义的话,系统会自动为导入的每张单据生成一个独一无二的流水号。外部交换平台将同一单据类型并具有相同流水号的单据看作是同一张单据,如果重复往同一接收方发送具有相同流水号的单据时,第一次会在NC系统新增该单据,其后均更新已导入单据。但如果往不同接收方导入具有相同流水号的单据,第一次同样是新增该单据,其后也是新增且是往不同接收方新增,但往往会发生编码名称重复等错误,取决于不同的档案或者单据在不同组织内是否控制编码或者名称重复。
总的来说,XML文档头的“必须设置的属性”和“根据Servlet的URL参数设置决定是否必设的属性”,均为在外系统交换文档发送过程中必须得到的初始化信息,可以在Servlet的URL地址参数中设置,也可以在XML文档头属性中设置,但必须进行设置。而对于XML文档头的“根据需要决定是否设置的属性”,也可以在Servlet的URL地址的参数中设置,但一般不推荐这么做。
NC外部交换平台XML使用及解析相关推荐
- 第三方调用NC外部交换平台 业务单据保存即审批 无审批人
NC系统的某业务单据 设置保存及签字,外部交换平台传入XML中设置了制单人 审批人.但单据签字后状态变为签字状态 但是单据审批人没有值. 原因:保存及签字 默认为当前NC登陆用户的操作,但外部交换平台 ...
- NC外部交换平台目录说明及新增外部交换平台接口文件位置
外部交换平台所在目录:NCHOME/pfxx pfxx\businessprocessor:查看所有的外部交换接口及对应的处理类 pfxx\billdefine:每个单间的demo内容.字段说明如果要 ...
- 通过外部交换平台发送xml文件,手动加载能正常发送,但是通过代码拼xml文件发送报错找不到用户,userid is pfxx-user 16dXXXX
问题现象:通过外部交换平台发送xml文件,手动加载能正常发送,但是通过代码拼xml文件发送却报错了 原因是:代码发送的URL里面或者xml表头少写了制单人属性:operator 解决方法:发送url调 ...
- NC6报销单外部交换平台报错“表头总金额与财务页签金额合计不一致“
问题情况: 只有一行表体数据时发送正常,如果有多行表体的数据时就出现报错:表头总金额与财务页签金额合计不一致 造成原因: 1.表体的amount总和和表头的total不一致 2.表头的财务金额(&qu ...
- 物理隔离下的数据交换平台难点解析与实践(一)
目录 第零章.前言:为什么?做什么?怎么做? 第一章.数据交换平台的一些基本概念 目录 第零章.前言:为什么?做什么?怎么做? 最近带队做了公司的一个项目,叫数据交换平台,旨在物理隔离的情况下对多端业 ...
- 数据交换平台开发之二功能需求
数据交换平台顾名思义是一个为不系统间提供数据交流.转换功能从而达到数据资料共享的软件产品.其处理 的主要对象就是各类业务数据,其使用者为各类参与交换的系统或数据源. 市面上的数据交换产品其功能很丰富, ...
- 关于用友NC数据交换的使用方法以及注意事项
1.NC数据交换的使用方法 如果你使用的是用友给的正式产品,应该会附有nc数据交换模块的使用说明,即<NCV5-外部交换平台技术红皮书>.其他版本例如NCV6版本的使用说明和V3\V5差不 ...
- 数据共享交换平台解决方案
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 一.1 术语介绍 (1)企业基础信息 工商.国税.地税.质监等部门涉及到企业注册登记.变更.注(吊)销.年检.税务登记.组织机构代码登记 ...
- 协同数据交换平台详细设计方案(word)
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 1 架构设计 1.1 总体架构 协同数据交换平台利用企业服务总线.数据抽取ETL.消息中间件.大文件传输等相关技术,包括文件适配器.数据 ...
最新文章
- Mysql日期时间Extract函数介绍
- shell脚本编程规范与变量
- Python 内置模块之 random
- Boost学习之正则表达式--regex
- Javascript基础 对象与方法的识别
- mysql数据库group by_MySQL数据库对GROUP BY子句的功能扩展(1)
- 五道口服装市场关闭前 职业“甩货人”赚一笔
- 在VMware环境下U盘的挂载与共享
- 人工智能真正值得担心的是缺德,而不是聪明
- matlab平行线的中线,cad怎么画两条平行线的中线
- 如何在PHP中使用Modulo运算符
- Thinkphp5结合layer导入excel
- SQL 字母大小写转换函数UPPER()、UCASE()、LOWER()和LCASE()
- ARM和Intel处理器区别简介
- Zeppelin上通过Spark读写mysql数据库
- Android Studio模拟器的创建和SDK的安装
- The Linux Kernel Module Programming Guide 2.4 中文版
- PowerBuilder8.0和SQL Server2008稳定升级到PowerBuilder11.5和SQL Server2016源码无报错
- 记一次gitbook的安装
- 关于威富通的微信扫码支付处理思路和流程