采购订单业务,下面是具体代码与参数说明:

下面调用的通用方法在: 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语言的更多相关文章

  1. U811.1接口EAI系列之六--物料上传--VB语言

    1. 业务系统同步U811.1存货档案通用方法. 2.具体代码处理如下: 作者:王春天 2013-11-06 地址:http://www.cnblogs.com/spring_wang/p/34098 ...

  2. U811.1接口EAI系列之五--材料出库--VB语言

    主要业务有:09其他出库单 11:材料出库单 32:销售出库单 主要业务代码: '材料出库生成XML Public Function xml_storeout(ds_head As MSHFlexGr ...

  3. U811.1接口EAI系列之四--委外订单生成--VB语言

    委外订单主细表.子个构成需求.具体代码与参数说明. 下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html 作者:王春天 2013- ...

  4. U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言

    1.销售系统销售出库,更新U811.1材料库存的EAI的XML生成. 2.主要根据U8配置会生成出库单和同时是否更新库存量,还是更新现存量等等. 3.具体参考代码如下: 作者:王春天 2013-11- ...

  5. U811.1接口EAI系列之一-通用访问EAI方法--统一调用EAI公共方法--VB语言

    1.现在做的项目是关于业务系统与U811.1的接口项目. 2.那么就需要调整通过EAI调用生成U8业务单据. 3.下面就一个通用的向U8-EAI传递XML的通用方法 4.肯定有人会问怎么还用VB调用呢 ...

  6. U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言

    1.下面代码实现了VB6.0中调用U8EAI-BOM构成服务,以下代码均为项目实际代码,可直接复制应用. 2.在u811.1版本中委外BOM构成与正常的BOM构成是同系列表,不单独存储. 3.是以存货 ...

  7. U811.1接口EAI系列之一--通用把XML传送给EAI处理方法--PowerBuilder语言

    1.前面配置参考:http://www.cnblogs.com/spring_wang/p/3393147.html 2.pb通用调EAI方法代码如下: //===================== ...

  8. 【OCR技术系列之三】大批量生成文字训练集

    放假了,终于可以继续可以静下心写一写OCR方面的东西.上次谈到文字的切割,今天打算总结一下我们怎么得到用于训练的文字数据集.如果是想训练一个手写体识别的模型,用一些前人收集好的手写文字集就好了,比如中 ...

  9. 【MM系列】SAP 采购订单的批量修改

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改   前言 ...

随机推荐

  1. 世纪互联提供的关于Powershell中将虚拟机加入备份保管库的方法

    请您参考以下步骤进行操作,如有问题请与我们联系: 对一台ARM虚拟机(虚拟机名称:paularm08r21)进行备份(参考:https://www.azure.cn/documentation/art ...

  2. 1052: 旋转单词(words)

    #include <iostream> #include <iomanip> #include <cstdlib> #include <string> ...

  3. SQL Server中order by的使用,我们来填坑

    看似很简单是不是? 单列排序,没有任何问题 select * from tableA where age>1 order by age /*后面可以跟上ASC.DESC,默认是ASC升序排列*/ ...

  4. linux CPU占用率高(转)

    来自:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高 gateway网关进程14094 ...

  5. 简述一下 src 与 href 的区别

    href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接. src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向 ...

  6. Maven依赖传递、依赖传递排除、依赖冲突

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6628429.html  一:Maven依赖传递 假如有Maven项目A,项目B依赖A,项目C依赖B.那么我们可 ...

  7. Linux(centos)新建,删除,移动,重命名文件夹和文件的命令

    1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir /home/test 2.新建文本 在home下新建一个test.sh脚本 vi / ...

  8. java 如何使用多线程调用类的静态方法?

      1.情景展示 静态方法内部实现:将指定内容生成图片格式的二维码: 如何通过多线程实现? 2.分析 之所以采用多线程,是为了节省时间 3.解决方案 准备工作 logo文件 将生成的文件保存在F盘te ...

  9. oracle 清空表数据的2种方式及速度比较

            1.情景展示 现在,需要清空该表数据 2.实现方式 为了比较删除速度,对该表进行复制 确认复制的表和原来的表数据是否一致 方式一:使用truncate table实现 方式二:使用de ...

  10. http中的get和post的区别

    get:相当于查找数据,从server中取数据,不会改变server端的数据: post:相当于更新数据,他会更新server端的数据: 所有的http操作(增删改查)都能通过对应的get和post获 ...