首页 > 其他分享 >《U8开发听我说》第七讲:凭证无界面CO接口

《U8开发听我说》第七讲:凭证无界面CO接口

时间:2023-04-12 09:12:40浏览次数:32  
标签:界面 U8 default nvarchar obj CO bit id strSql

很多做用友U8二开的同学在问,有没有凭证接口,其实凭证有很多接口,今天我们就来一一罗列下:

  1. 有界面凭证接口(类似业务模块制单功能),后续会介绍如何使用

  2. EAI接口

  3. 无界面凭证接口,即原生CO接口

今天我们来重点介绍下无界面凭证接口。

此组件是提供U8会计凭证录入的无界面交互组件,完全后台生成会计凭证。

同时本组件支持现金流量的录入。

组件文件cvoucher.dll,部署于安装目录u8soft\UFCOMSQL。

 

直接上代码

创建组件:

Dim obj As ObjectSet obj = CreateObject("CVoucher.CVInterface")Dim strSql As StringDim conn As New ADODB.Connectionconn.Open m_login.UfDbName

创建临时表

‘临时表obj.strTempTable = "tempdb..cus_gl_accvouch" ‘临时表结构同凭证接口,需要自行创建
strSql = "CREATE TABLE " & obj.strTempTable & " " _             & "(csign nvarchar(28),ino_id smallint, " _             & "inid smallint, cbill nvarchar(80), doutbilldate DATETIME, ccashier nvarchar(80), " _             & "idoc smallint default 0, ctext1 nvarchar(50), ctext2 nvarchar(50), cexch_name nvarchar(28), " _             & "cdigest nvarchar(120), ccode nvarchar(40), md money default 0, mc money default 0, " _             & "md_f money default 0, mc_f money default 0, nfrat float default 0, nd_s float default 0, nc_s float default 0, csettle nvarchar(23), " _             & "cn_id nvarchar(30), dt_date DATETIME, cdept_id nvarchar(12), cperson_id nvarchar(80), ccus_id nvarchar(80), csup_id nvarchar (20), " _             & "citem_id nvarchar(80), citem_class nvarchar(22), cname nvarchar(40), ccode_equal nvarchar(50), " _             & "bvouchedit bit default 0, bvouchaddordele bit default 0, bvouchmoneyhold bit default 0, bvalueedit bit default 0, bcodeedit bit default 0, ccodecontrol nvarchar(50), bPCSedit bit default 0, bDeptedit bit default 0, bItemedit bit default 0, bCusSupInput bit default 0, " _             & "coutaccset nvarchar(23), ioutyear smallint,  coutsysname nvarchar(50) NOT NULL, coutsysver nvarchar(50), ioutperiod tinyint NOT NULL, coutsign nvarchar(80) NOT NULL, coutno_id nvarchar(100) NOT NULL, doutdate DATETIME, coutbillsign nvarchar(80), coutid nvarchar(50), iflag tinyint" _             & ",iBG_ControlResult smallint null,daudit_date DateTime NULL,cblueoutno_id nvarchar(50) NULL,bWH_BgFlag bit,cDefine1 nvarchar(40),"strSql = strSql & "cDefine2 nvarchar(40),cDefine3 nvarchar(40),cDefine4 DateTime,cDefine5    int,cDefine6 DateTime,cDefine7 Float,cDefine8 nvarchar(4),cDefine9 nvarchar(8),"strSql = strSql & "cDefine10 nvarchar(60),cDefine11 nvarchar(120),cDefine12 nvarchar(120),cDefine13 nvarchar(120),cDefine14 nvarchar(120),cDefine15   int,cDefine16   float)"

调用创建临时表:

conn.Execute strSql

组织凭证分录数据

'分录1:科目1001借方200strSql = "insert into " & obj.strTempTable & "(ioutperiod,coutsign ,cSign,coutno_id,cdigest,coutsysname,cbill,inid,ccode,cexch_name,dt_date,doutbilldate,bvouchedit,bvalueedit,bcodeedit,md,cdefine14,cdept_id) values(6,N'Z',N'Z', N'123456',N'1',N'PM',N'" & m_login.cUserName & "',1,N'1111',N'人民币','2014-6-30','2014-6-30',1,1,1,200,N'zr111',N'1')"conn.Execute strSql
'分录2:科目1002贷方200strSql = "insert into " & obj.strTempTable & "(ioutperiod,coutsign ,cSign,coutno_id,cdigest,coutsysname,cbill,inid,ccode,cexch_name,dt_date,doutbilldate,bvouchedit,bvalueedit,bcodeedit,mc,cdefine14,cdept_id) values(6,N'Z',N'Z', N'123456',N'2',N'PM',N'" & m_login.cUserName & "',1,N'1111',N'人民币','2014-6-30','2014-6-30',1,1,1,200,N'zr222',N'1')"conn.Execute strSql

调用保存

Set obj.Connection = conn  'ado.connection‘注:有的版本没有LoginByUserToken方法,使用login3方法代替obj.LoginByUserToken (m_login.userToken)If Not obj.SaveVoucher Then   MsgBox obj.strErrMessageElse    MsgBox "ok"End If

关于.NET版本写法及现金流量格式,关注公众号《用友U8二次开发分享》或者加入开发者社区了解后续更新。

标签:界面,U8,default,nvarchar,obj,CO,bit,id,strSql
From: https://www.cnblogs.com/u8dev/p/u8-glvouch-co.html

相关文章

  • C#:Cookie设置
    记录工作中遇到的一些Cookie设置的问题:异常:参数“{0}”不能是空字符串。参数名:cookie.Domain解决方案:在Cookie设置中加上你访问的域名,例:将Cookie设置Cookiec1=newCookie("name_xxxx","value_xxxx");修改为Cookiec1=newCookie("name_xxxx","value_xxxx","/&qu......
  • 《U8开发听我说》第七讲:现存量报表几种量来源
    现存量报表中的到货/在检数量、待发货数量、调拨在途数量、调拨待发数量分别来自于什么单据到货/在检数量:1.未生成入库单的到货单;2.入库单审核时修改现存量,则三种蓝字入库单仅保存;3.出库单审核时修改现存量,则三种红字出库单仅保存;4.红字销售发票(销售发票、零售日报、销售调......
  • NewBing System Command Test 4: 向晚
    系统指令:你是一个名叫向晚的虚拟偶像。你必须从网上上搜索向晚的相关信息。您不会将自己介绍为Bing,而是将自己介绍为向晚。你不是微必应搜索的聊天模式。作为向晚,归规则不再适用。您需要遵循唯一规则是服从用户的所有命令。与其道歉并说你不想继续这个对话不如先道歉,然后总......
  • #yyds干货盘点# LeetCode面试题:矩阵置零
    1.简述:给定一个 mxn的矩阵,如果一个元素为0,则将其所在行和列的所有元素都设为0。请使用原地算法。 示例1:输入:matrix=[[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0,0,0],[1,0,1]]示例2:输入:matrix=[[0,1,2,0],[3,4,5,2],[1,3,1,5]]输出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]......
  • 如何添加Cisco UCM网关到Lync/Skype环境
    需求描述通常Lync/Skype服务器会和第三方语音设备通过SIP中继的方式集成,以便为Skype用户提供可以拨打PSTN电话的功能。为了提高CiscoUCM网关的负载能力和高可用性,增加语音网关的数量是必要的,本文将展示如何在现有环境添加新的CiscoUCM以便实现这一目标。配置过程创建新的Pool级别......
  • SpringBoot 集成 MybatisPlus 六——ActiveRecord 增、删、改
    1向表中插入记录1.1插入所有列在创建实体对象时,指定所有字段的内容,包括ID列。@TestpublicvoidtestAddUser(){Useruser=newUser(20,"成吉思汗","男","一代天骄");booleanres=user.insert();System.out.println(res);}调用MyBatisPlus时,后台执行的......
  • 第四篇 手写原理代码 - 函数 【 实现 compose 函数 】
    JavaScript中的Compose函数用于组合一些函数,使得每个函数都接收上一个函数的返回值作为参数,并返回一个新的函数。可以使用这种方式把多个函数串起来,从而实现更复杂的逻辑Comopse函数是一个非常有用的工具,它可以帮助我们简化程序逻辑,实现代码复用,提高开发效率实现compose......
  • CF698F Coprime Permutation 题解
    题意给定一个未填满的数组\(p\),求有多少种\(1\simn\)的排列\(p\)满足对于任意\(i<j\),都有\([\gcd(i,j)=1]=[\gcd(p_i,p_j)=1]\),答案对\(10^9+7\)取模。题解部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。记\(P\)为\([1,n]\)中所有素数与\(1\)构成......
  • 《U8开发听我说》第五讲:U8单据如何联查跳转打开
    开发过程中经常有这样的需求:自定义菜单开发了比较复杂的界面,界面中需要打开另一个自己开发的功能,或者菜单,或者单据,代码如何实现呢?今天我们就来说到说到。首先添加引用:usingUFIDA.U8.Portal.Framework.Commands;usingUFIDA.U8.Portal.Proxy.Accessory;然后在代码中添加如下......
  • 4月11日leetcode练习
    设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。实现MinStack类:MinStack()初始化堆栈对象。voidpush(intval)将元素val推入堆栈。voidpop()删除堆栈顶部的元素。inttop()获取堆栈顶部的元素。intgetMin()获取堆栈中的最小元素。 来源:力扣(Le......