找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 2771|回复: 9

u8.52的产成品入库帐导入问题

[复制链接]
发表于 2012-11-2 08:34:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
本帖最后由 kecolikeco 于 2012-11-3 14:50 编辑

下面是U8.52产成品入库帐导入VBA代码,请大家一起修改,也是抄网友的。不确定U8.52版本,CurrentStock是否需要更新,还是系统自己更新。 111.JPG
  1. Private Sub CmdCc_Click()
  2. Dim i As Integer, j As Integer
  3. Dim conn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;
  4. Dim rs As New ADODB.Recordset  '定义记录集对象,保存数据表
  5. Dim strCn As String, SQL As String, Ys As String '字符串变量
  6. Dim Hs As Integer '行数
  7. Dim Mid As Long, mAutoId As Long  '最大单号,单号
  8.     Hs = [A65536].End(xlUp).Row
  9.     If Hs < 6 Then
  10.         MsgBox "数据不存在!"
  11.         Exit Sub
  12.     End If
  13.     If IsDate(Cells(3, 4)) = False Then
  14.         MsgBox "日期格式不正确,请检查"
  15.         Exit Sub
  16.     End If
  17. '     If Not Cells(4, 4).Value = "一厂" Or Cells(4, 4).Value = "二厂" Then
  18. '        MsgBox "厂别不正确,请检查"
  19. '        Exit Sub
  20. '    End If
  21.     strCn = "Provider=sqloledb;Server=c900;Database=ufdata_808_2012;Uid=sa;Pwd=x3500;"    '定义数据库链接字符串
  22.     '用友通数据库命名规则,"ufdata_" + "帐套号" + "_" + "帐套年度"
  23.     conn.Open strCn   '与数据库建立连接,如果成功,返回连接对象conn
  24.    
  25.    
  26. '    SQL = "select max(stuff(cCode,LEN(cCode),1,RIGHT(cCode,1)+1)) from RdRecord where cVouchType <> '34'" '获取最大用友系统单号
  27.     SQL = "select max(stuff(cCode,LEN(cCode),1,RIGHT(cCode,1)+1)) from RdRecord where  cBusType = '成品入库'" '获取最大用友系统单号
  28.     Sheets("入库").[b3].CopyFromRecordset conn.Execute(SQL)
  29.     conn.Close: Set conn = Nothing
  30.     conn.Open strCn   '与数据库建立连接,如果成功,返回连接对象conn

  31.     SQL = "select cVouchType,cCode from RdRecord where cVouchType = '10' and cCode='" & Trim(Cells(3, 2)) & "'"   '用友系统单据号
  32.     rs.Open SQL, conn, 1, 1
  33.         If Not rs.EOF Then
  34.             MsgBox "该入库单已经存在,请检查!"
  35.             Exit Sub
  36.         End If
  37.     rs.Close
  38.     conn.Execute "sp_unbindefault 'RdRecord.ID'" '取消默认值绑定
  39.     conn.Execute "sp_unbindefault 'RdRecords.AutoID'"
  40.     SQL = "select max(id) as Mid from rdrecord"
  41.     rs.Open SQL, conn, 1, 1
  42.         If IsNull(rs!Mid) Then
  43.             Mid = 1
  44.         Else
  45.             Mid = rs!Mid + 1
  46.         End If
  47.     rs.Close
  48.     SQL = "select *  from RdRecord order by id"
  49.     rs.Open SQL, conn, 1, 3
  50.         rs.AddNew
  51.         rs!Id = Mid '主键,与RdRecords.id对应
  52.         rs!bRdFlag = 1
  53.         rs!cVouchType = "10"  '01 采购,32 销售,想要其他代码,自己打开数据库单据类型表"VouchType"
  54.         rs!cBusType = Trim(Cells(4, 2)) '成品入库
  55.         rs!cSource = "库存"
  56.         rs!cWhCode = "31"  '仓库
  57.         rs!cRdCode = "0104" '入库类别,完工入库
  58.         rs!dDate = Cells(3, 4) '入库日期
  59.         rs!cCode = Trim(Cells(3, 2))  '用友系统单号
  60.         rs!cMaker = Trim(Cells(3, 7))  '制单人
  61.         rs!cMemo = Trim(Cells(4, 7)) '产量报表上的单据编号
  62.         rs!cDefine2 = Trim(Cells(4, 4)) '生产分厂
  63.         rs!iMQuantity = 0 '手工导入和用友客户端输入差异调整
  64.         rs!iproorderid = 0 '手工导入和用友客户端输入差异调整
  65.         rs.Update
  66.     rs.Close
  67.    

  68.    
  69.     SQL = "select max(autoid) as mautoid from rdrecords"
  70.     rs.Open SQL, conn, 1, 1
  71.         If IsNull(rs!mAutoId) Then
  72.             mAutoId = 1
  73.         Else
  74.             mAutoId = rs!mAutoId + 1
  75.         End If
  76.     rs.Close
  77.     For i = 6 To Hs
  78.         SQL = "select *  from RdRecords order by autoid"
  79.         rs.Open SQL, conn, 1, 3
  80.             rs.AddNew
  81.             rs!AutoId = mAutoId
  82.             rs!cInvCode = Trim(Cells(i, 1)) '产品编码,用友编码
  83.             rs!iQuantity = Val(Cells(i, 5)) '数量
  84.             rs!iUnitCost = Val(Cells(i, 6)) ' 单价
  85.             rs!iPrice = Val(Cells(i, 7)) ' 金额
  86.             rs!iAPrice = Val(Cells(i, 7)) ' 金额
  87.             rs!fAcost = Val(Cells(i, 6)) ' 单价
  88.             rs!cFree2 = Val(Cells(i, 8)) '库位 cFree2
  89.             rs!Id = Mid
  90.             rs.Update
  91.         rs.Close
  92.         SQL = "select * from CurrentStock where cInvCode='" & Trim(Cells(i, 1)) & "'" '产品编码,用友编码
  93. '注:本程序中所有测试数据的前提是:产品编号"cInvCode"已经存在存货目录表"inventory"中,因为我不需要判断这一步,需要的自己添加.
  94.         rs.Open SQL, conn, 1, 3
  95.             If rs.EOF Then rs.AddNew
  96.             rs!cWhCode = "31"
  97.             rs!cInvCode = Trim(Cells(i, 1)) '产品编码,用友编码
  98.             rs!cFree2 = Val(Cells(i, 8)) '库位
  99.             rs!iQuantity = rs!iQuantity + Val(Cells(i, 5)) '数量
  100.             rs.Update
  101.         rs.Close
  102.         mAutoId = mAutoId + 1
  103.     Next
  104.     conn.Execute "sp_bindefault 'RdRecord_ID_D','RdRecord.ID'" '恢复默认值绑定
  105.     conn.Execute "sp_bindefault 'RdRecords_AutoID_D','RdRecords.AutoID'"
  106.     conn.Close
  107.     MsgBox "数据导入成功!"
  108. End Sub
复制代码



发表于 2012-11-2 08:44:26 | 显示全部楼层
出单暂时官方及兼容的未见。网上有别的版本,但不是官方的,未试。 不过拥有量较大,等等也许会有。
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2012-11-2 09:04:30 | 显示全部楼层

太专业了,没有理解
回复 点赞 拍砖

使用道具 举报

发表于 2012-11-2 09:25:15 | 显示全部楼层
切,还说分享。就自己能看见而已
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2012-11-3 14:51:16 | 显示全部楼层
lihuaren007 发表于 2012-11-2 09:25
切,还说分享。就自己能看见而已

修改了,现在看看去
回复 点赞 拍砖

使用道具 举报

发表于 2012-11-4 11:43:05 | 显示全部楼层
切,还说分享。就自己能看见而已
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2012-11-12 10:45:37 | 显示全部楼层
ssshyu 发表于 2012-11-5 15:48
妈的,心情不顺啊,老是被那女人说,我操我是个人啊,你说你说你妹啊,天天就知道唧唧歪歪,你又没有想过我 ...

说什么呢!啥意思吗?
回复 点赞 拍砖

使用道具 举报

发表于 2012-12-19 12:26:18 | 显示全部楼层
有点专业,不适合心急的我,先下来,以后慢慢研究
回复 点赞 拍砖

使用道具 举报

发表于 2012-12-20 14:09:41 | 显示全部楼层
研究了,不懂
回复 点赞 拍砖

使用道具 举报

发表于 2013-1-9 15:50:18 | 显示全部楼层
有点专业,不适合心急的我,先下来,以后慢慢研究
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-23 17:15 , Processed in 0.057877 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表