U811.1接口EAI系列之三--采购订单生成--VB语言
采购订单业务,下面是具体代码与参数说明:
下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html
作者:王春天 2013-10-31
地址:http://www.cnblogs.com/spring_wang/p/3399316.html
1.下面是具体代码:
'采购订单生成XML
Public Function xml_purchaseorder(ls_sql1 As String, ls_sql2 As String) As Boolean
xml_purchaseorder = True
Dim ls_xml As String
Dim ls_sender As String
Dim ls_code As String
Dim ls_date As String
Dim ls_vendorcode As String
Dim ls_deptcode As String
Dim ls_personcode As String
Dim ls_purchase_type_code As String
Dim ls_operation_type_code As String
Dim ls_address As String
Dim ls_recsend_type As String
Dim ls_idiscounttaxtype As String
Dim ls_currency_name As String
Dim ls_currency_rate As String
Dim ls_tax_rate As String
Dim ls_paycondition_code As String
Dim ls_traffic_money As String
Dim ls_bargain As String
Dim ls_remark As String
Dim ls_period As String
Dim ls_maker As String
Dim i As Long
Dim ls_data As String
Dim ll_count As Long
Dim ds_head As ADODB.Recordset '主表
Dim ds_detail As ADODB.Recordset '细表 Set ds_head = CWBQuery(ls_sql1, ls_return)
If ds_head.RecordCount = Then
MsgBox "未检索到主表数据!"
Exit Function
End If
Set ds_detail = CWBQuery(ls_sql2, ls_return)
ll_count = ds_detail.RecordCount
If ll_count = Then
MsgBox "未检索到细表数据!"
Exit Function
End If
ls_code = ds_head() '订单编号
ls_date = Format(ds_head(), "0000-00-00") '订单日期
ls_vendorcode = ds_head() '供应商编号
ls_deptcode = "" '部门编号
ls_personcode = ds_head() '业务员
ls_purchase_type_code = "" '采购类型编码
ls_operation_type_code = ds_head() '业务类型
ls_address = "" '到货地址
ls_recsend_type = "" '运输方式
ls_idiscounttaxtype = ds_head() '扣税类别 (0应税外加,1应税内含)
ls_currency_name = ds_head() '外币名称
ls_currency_rate = ds_head() '汇率
ls_tax_rate = "" '税率
ls_paycondition_code = ds_head() '付款条件
ls_traffic_money = "" '运费
ls_bargain = "" '定金
ls_remark = "" '备注
ls_period = "" '采购计划期间
ls_maker = ds_head() '制单人 '增加文件头相关信息
ls_xml = "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf ls_xml = ls_xml & "<ufinterface sender=""" & u8_xtm & """ receiver=""u8"" roottag=""purchaseorder"" docid="""" proc=""Add"" renewproofno = ""Y"" codeexchanged=""N"" exportneedexch=""N"" display="""" family="""" timestamp="""">" + vbCrLf '增加文件中数据项信息 header
ls_xml = ls_xml & "<purchaseorder>" + vbCrLf
ls_xml = ls_xml & "<header>" + vbCrLf
ls_xml = ls_xml & "<code>" & ls_code & "</code>" + vbCrLf '订单编号
ls_xml = ls_xml & "<date>" & ls_date & "</date>" + vbCrLf '订单日期
ls_xml = ls_xml & "<vendorcode>" & ls_vendorcode & "</vendorcode>" + vbCrLf '供应商编号
ls_xml = ls_xml & "<deptcode>" & ls_deptcode & "</deptcode>" + vbCrLf '部门编号
ls_xml = ls_xml & "<personcode>" & ls_personcode & "</personcode>" + vbCrLf '业务员
ls_xml = ls_xml & "<purchase_type_code>" & ls_purchase_type_code & "</purchase_type_code>" + vbCrLf '采购类型编码
ls_xml = ls_xml & "<operation_type_code>" & ls_operation_type_code & "</operation_type_code>" + vbCrLf '业务类型
ls_xml = ls_xml & "<address>" & ls_address & "</address>" + vbCrLf '到货地址
ls_xml = ls_xml & "<recsend_type>" & ls_recsend_type & "</recsend_type>" + vbCrLf '运输方式
ls_xml = ls_xml & "<idiscounttaxtype>" & ls_idiscounttaxtype & "</idiscounttaxtype>" + vbCrLf '扣税类别 (0应税外加,1应税内含)
ls_xml = ls_xml & "<currency_name>" & ls_currency_name & "</currency_name>" + vbCrLf '外币名称
ls_xml = ls_xml & "<currency_rate>" & ls_currency_rate & "</currency_rate>" + vbCrLf '汇率
ls_xml = ls_xml & "<tax_rate>" & ls_tax_rate & "</tax_rate>" + vbCrLf '税率
ls_xml = ls_xml & "<paycondition_code>" & ls_paycondition_code & "</paycondition_code>" + vbCrLf '付款条件
ls_xml = ls_xml & "<traffic_money>" & ls_traffic_money & "</traffic_money>" + vbCrLf '运费
ls_xml = ls_xml & "<bargain>" & ls_bargain & "</bargain>" + vbCrLf '定金
ls_xml = ls_xml & "<remark>" & ls_remark & "</remark>" + vbCrLf '备注
ls_xml = ls_xml & "<period>" & ls_period & "</period>" + vbCrLf '采购计划期间
ls_xml = ls_xml & "<maker>" & ls_maker & "</maker>" + vbCrLf '制单人
ls_xml = ls_xml & "</header>" + vbCrLf 'body
ls_xml = ls_xml & "<body>" + vbCrLf
For i = To ll_count
ls_xml = ls_xml & "<entry>" + vbCrLf
ls_data = ds_detail()
ls_xml = ls_xml & "<inventorycode>" & ls_data & "</inventorycode>" + vbCrLf '存货编码
ls_data = ds_detail()
ls_xml = ls_xml & "<checkflag>" & ls_data & "</checkflag>" + vbCrLf '是否检验
ls_data = ds_detail()
ls_xml = ls_xml & "<unitcode>" & ls_data & "</unitcode>" + vbCrLf '物料单位编码
ls_data = Str(ds_detail())
ls_xml = ls_xml & "<quantity>" & ls_data & "</quantity>" + vbCrLf '主计量数量
ls_data = ""
ls_xml = ls_xml & "<num>" & ls_data & "</num>" + vbCrLf '辅计量数量
ls_data = ""
ls_xml = ls_xml & "<quotedprice>" & ls_data & "</quotedprice>" + vbCrLf '报价
ls_data = Str(ds_detail())
ls_xml = ls_xml & "<price>" & ls_data & "</price>" + vbCrLf '单价(原币,无税)
ls_data = Str(ds_detail())
ls_xml = ls_xml & "<taxprice>" & ls_data & "</taxprice>" + vbCrLf '含税单价(原币,无税)
ls_data = Str(ds_detail())
ls_xml = ls_xml & "<money>" & ls_data & "</money>" + vbCrLf '金额(原币,无税)
ls_data = ""
ls_xml = ls_xml & "<tax>" & ls_data & "</tax>" + vbCrLf '税额(原币)
ls_data = Str(ds_detail())
ls_xml = ls_xml & "<sum>" & ls_data & "</sum>" + vbCrLf '价税合计(原币)
ls_data = ""
ls_xml = ls_xml & "<natprice>" & ls_data & "</natprice>" + vbCrLf '单价(本币,无税)
ls_data = ""
ls_xml = ls_xml & "<natmoney>" & ls_data & "</natmoney>" + vbCrLf '金额(本币,无税)
ls_data = ""
ls_xml = ls_xml & "<nattax>" & ls_data & "</nattax>" + vbCrLf '税额(本币)
ls_data = ""
ls_xml = ls_xml & "<natsum>" & ls_data & "</natsum>" + vbCrLf '价税合计(本币)
ls_data = ""
ls_xml = ls_xml & "<natdiscount>" & ls_data & "</natdiscount>" + vbCrLf '折扣额(本币)
ls_data = ""
ls_xml = ls_xml & "<taxrate>" & ls_data & "</taxrate>" + vbCrLf '税率
ls_data = ""
ls_xml = ls_xml & "<item_class>" & ls_data & "</item_class>" + vbCrLf '项目大类
ls_data = ""
ls_xml = ls_xml & "<item_code>" & ls_data & "</item_code>" + vbCrLf '项目
ls_data = ""
ls_xml = ls_xml & "<item_name>" & ls_data & "</item_name>" + vbCrLf '项目名
ls_data = Format(ds_detail(), "0000-00-00")
ls_xml = ls_xml & "<arrivedate>" & ls_data & "</arrivedate>" + vbCrLf '到货日期
ls_data = ""
ls_xml = ls_xml & "<btaxcost>" & ls_data & "</btaxcost>" + vbCrLf '价格标准(0无税,1含税)
ls_xml = ls_xml & "</entry>" + vbCrLf
Next i
ls_xml = ls_xml & "</body>" + vbCrLf '增加文件尾相关信息
ls_xml = ls_xml & "</purchaseorder>" + vbCrLf
ls_xml = ls_xml & "</ufinterface>" + vbCrLf
Dim ls_temp As String '接收返回消息,如果成功,返回U8中采购订单编号,如果失败,返回错误信息
If SendToEAI(ls_xml, ls_temp) Then '成功
MsgBox "上传成功" & ls_temp
Else '失败
MsgBox ls_temp
xml_purchaseorder = False
End If
End Function
2.参数说明:
| 订单主表:cgt04 | |||
| 项目 | 是否必传 | 对应业务系统字段 | 描述 |
| 订单编号 | 是 | CGDDHM | 如果在U8中不重复,使用U8中使用此编号,如果重复,U8中自动生成一个新编号,但注意:不能获取到U8新生成的编号 |
| 订单日期 | 是 | CGDDRQ(数值8位) | YYYY-MM-DD |
| 供应商编号 | 是 | CGGYDM | |
| 部门编号 | 否 | 无 | |
| 业务员编号 | 否 | CGCGDM | |
| 采购类型编码 | 否 | 无 | |
| 业务类型 | 是 | 普通采购 | 普通采购、直运采购、固定资产,使用普通采购即可 |
| 到货地址 | 否 | 无 | |
| 运输方式 | 否 | 无 | |
| 扣税类别 | 是 | 1 | (0应税外加,1应税内含) |
| 外币名称 | 是 | XTHBDM,需要转换成名称 | 人民币、美元、日元 |
| 汇率 | 是 | CGDHHL,7位小数位 | |
| 税率 | 是 | 无 | 如:17 |
| 付款条件 | 否 | 可用付款期限?XTQXDM | |
| 运费 | 否 | 无 | |
| 定金 | 否 | 无 | |
| 备注 | 否 | 无 | |
| 采购计划期间 | 否 | 无 | |
| 制单人名称 | 否 | CGLRYH |
如果需要上传,传入名称 |
| 订单细表:cgt05 | |||
| 项目 | 是否必传 | 对应业务系统字段 | 描述 |
| 存货编码 | 是 | KCWPDM | |
| 是否检验 | 是 | 0,不需要检验 | 1 or 0,在U8直接做时默认为0 |
| 物料单位编码 | 是 | XTJLDW | |
| 主计量数量 | 是 | CGCGSL | |
| 辅计量数量 | 否 | 无 | 如果是浮动转换率不传,如果是固定转换率必传 |
| 报价 | 否 | 无 | |
| 单价(原币,无税) | 否 | CGDWJG | 不传的话,在U8的采购订单中为空 |
| 含税单价(原币,无税) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 金额(原币,无税) | 否 | CGWPJE | 不传的话,在U8的采购订单中为空 |
| 税额(原币) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 价税合计(原币) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 单价(本币,无税) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 金额(本币,无税) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 税额(本币) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 价税合计(本币) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 折扣额(本币) | 否 | 无 | 不传的话,在U8的采购订单中为空 |
| 税率 | 是 | 无 | 如17 |
| 项目大类 | 否 | 无 | |
| 项目 | 否 | 无 | |
| 项目名 | 否 | 无 | |
| 到货日期 | 是 | CGJHRQ(数值8位) | YYYY-MM-DD |
| 价格标准 | 否 | 无 | 0无税,1含税,不知道和后续有什么关系 |
U811.1接口EAI系列之三--采购订单生成--VB语言的更多相关文章
- U811.1接口EAI系列之六--物料上传--VB语言
1. 业务系统同步U811.1存货档案通用方法. 2.具体代码处理如下: 作者:王春天 2013-11-06 地址:http://www.cnblogs.com/spring_wang/p/34098 ...
- U811.1接口EAI系列之五--材料出库--VB语言
主要业务有:09其他出库单 11:材料出库单 32:销售出库单 主要业务代码: '材料出库生成XML Public Function xml_storeout(ds_head As MSHFlexGr ...
- U811.1接口EAI系列之四--委外订单生成--VB语言
委外订单主细表.子个构成需求.具体代码与参数说明. 下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html 作者:王春天 2013- ...
- U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言
1.销售系统销售出库,更新U811.1材料库存的EAI的XML生成. 2.主要根据U8配置会生成出库单和同时是否更新库存量,还是更新现存量等等. 3.具体参考代码如下: 作者:王春天 2013-11- ...
- U811.1接口EAI系列之一-通用访问EAI方法--统一调用EAI公共方法--VB语言
1.现在做的项目是关于业务系统与U811.1的接口项目. 2.那么就需要调整通过EAI调用生成U8业务单据. 3.下面就一个通用的向U8-EAI传递XML的通用方法 4.肯定有人会问怎么还用VB调用呢 ...
- U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言
1.下面代码实现了VB6.0中调用U8EAI-BOM构成服务,以下代码均为项目实际代码,可直接复制应用. 2.在u811.1版本中委外BOM构成与正常的BOM构成是同系列表,不单独存储. 3.是以存货 ...
- U811.1接口EAI系列之一--通用把XML传送给EAI处理方法--PowerBuilder语言
1.前面配置参考:http://www.cnblogs.com/spring_wang/p/3393147.html 2.pb通用调EAI方法代码如下: //===================== ...
- 【OCR技术系列之三】大批量生成文字训练集
放假了,终于可以继续可以静下心写一写OCR方面的东西.上次谈到文字的切割,今天打算总结一下我们怎么得到用于训练的文字数据集.如果是想训练一个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中 ...
- 【MM系列】SAP 采购订单的批量修改
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言 ...
随机推荐
- ajax 与springmvc交互返回数据
1.controller将数据封装成json格式返回页面 @RequestMapping("/dataList") public void datalist(CsoftCunsto ...
- httpclient Accept-Encoding 乱码
解决方法 HttpEntity httpEntity = httpResponse.getEntity(); if (httpEntity != null) { if (httpEntity.getC ...
- system.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式-解决方法
LINQ to Entities的lambda表达式中如果需要转换时间及各种时间格式请使用System.Data.Entity的类DbFunctions的各种方法 例如: IsOverdue = db ...
- Windows操作系统安全加固
本文档旨在指导系统管理人员或安全检查人员进行Windows操作系统的安全合规性检查和配置. 1. 账户管理和认证授权 1.1 账户 默认账户安全 禁用Guest账户. 禁用或删除其他无用账户(建议先禁 ...
- HighStock如何动态添加数据组
var charts = null; $(function () { var seriesIds = [830]; // Create the ...
- [转]图解分布式一致性协议Paxos
Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢? <分布式系统的事务处理>: Google Chubby的作者MikeBurrows说过这个世界上只有一种一致性算法,那就是 ...
- java 获取计算机名称, ip, mac地址
写在前面 通常所说查询本机mac地址是以以太网为准的, 也就是网线那个口..这种描述略捞. 但是通过java的getHostAddress获取ip以及getHardwareAddress()方法获取m ...
- leetcode44:wildcard
44. Wildcard Matching 问题描述 给定字符串s和模式p,判断字符串s是否完全符合模式p 其中字符串s只包含小写字母,模式串p包含小写字母.*.?,其中星号表示任意长度的任意字符串, ...
- Debug 路漫漫-03
Debug 路漫漫-03:SVD++的 Matlab 版本 SVD++ 的 pu 这一项: 圈圈中的这一项,它既然要和pu 相加 的话 ,那么,它的维度也应该是 m*K.(就是维度和Pu一致的 . 而 ...
- Xcode8 带来的新特性和坑
Xcode8新特性 Interface Builder 随着14年的iPhone6和6P出来之后,iPhone的屏幕尺寸也越来越多,屏幕适配是一个需要解决的问题,以后不一定苹果又出什么尺寸的iPhon ...