钉钉氚云到金碟之二:测试凭证写入金碟KIS(DELPHI)
DELPHI在使用其他程序的COM接口比较方便,在生成了相关的接口代码之后,只需引用接口单元即可,不需很多额外操作。
我新建一个DELPHI 应用程序,建一标准FORM,放一标准按钮,最简单的FORM及程序。按钮中的测试代码附后,相关注释如下:
1、红色1处,网上基本上搜不到相关代码,金碟的参考代码中也没有,费了九牛二虎之力测试出来。
这也是本代码最终能生成凭证的关键所在,一个黑盒子,没这个,进不去。就这在网上,在代码堆城至少费了两天时间。巨抗,金碟的参考代码就省这个,不知啥意思。
2、红色2处,这里不是日期型, 是字符型的
3、要加入《钉钉氚云到金碟之一》.PAS作为的引用单元
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ComObj, KISProfessionalPlugin_TLB, Dialogs, StdCtrls, DB, ADODB, OleServer;
4、红色3处,这里是出错代码,出错提示很详尽,很具有参考价值。上代码 ,通了就非常简单。
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
objCn, kisobj: OleVariant;
aVOUCHER: _Voucher;
aclsDataBase: _clsDataBase;
strconn: string;
strErrorDesc: string;
strErrorNum: string;
begin
//
kisobj := CreateOleObject('KISProfessionalPlugin.clsDataBase');
strconn :=
'connectString={Provider=SQLOLEDB.1;Password=sasa;Persist Security Info=True;' +
'User ID=sa;Initial Catalog=AIS20220308192830;Data Source=192.168.16.199};' +
'UserName=Manager;UserID=16394;' +
'DBMSName=Microsoft SQL Server;DBMSVersion=2000;SubID=super;AcctType=gy;Setuptype=industry';
i := 0;
strErrorNum := '';
strErrorDesc := '';
//初始化数据库连接对象
kisobj.InitConnection(strconn); //strConn传入的数据库连接字符串
kisobj.begintrans; //开始一个事务
if not Savedata(1, strErrorNum, strErrorDesc) then
begin
kisobj.RollBackTrans; //出错回滚事务
end;
kisobj.CommitTrans; //提交事务
showmessage('OVER!');
end;
function TForm1.Savedata(i: integer; var errornum, errorDesc: string): boolean;
var
obj: OleVariant;
ISSAVEOK: WordBool;
aVOUCHER: OleVariant;
begin
RESULT := FALSE;
// aVOUCHER := TVoucher.CREATE(nil);
// aVOUCHER := COVoucher.Create;
// obj := CreateOleObject('KISProfessionalPlugin.Voucher');
aVOUCHER := CreateOleObject('KISProfessionalPlugin.Voucher');
//----"凭证头"----------
aVOUCHER.VchGroup := '记';
// aVOUCHER.VchAttachment := 2;
aVOUCHER.VchDate := '2021/7/30'; // '2020/12/30'; // FormatDateTime('yyyy-mm-dd', EncodeDate(2021, 7, 10));
//下面的代码说明怎么新增一个凭证科目明细,注意:
//在为obj对象的属性VouchEntry赋值前,要先执行obj.InsertEntry(新增一个凭证科目明细对象)
//新增一个借方凭证科目明细
aVOUCHER.InsertEntry;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchExp := 'XXXSS';
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].AcctID := '1002.05';
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchDebit := 100.00;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchCredit := 0.00;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchCyid := 'RMB';
//新增一个贷方凭证科目明细
aVOUCHER.InsertEntry;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchExp := 'XXSS';
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].AcctID := '1132.02.00253'; //'1002.03';
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchDebit := 0.00;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchCredit := 100.00;
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].itemid := '19720';
aVOUCHER.VouchEntry[aVOUCHER.nCount - 1].VchCyid := 'RMB';
try
ISSAVEOK := aVOUCHER.Save; //保存
//保存失败返回错误编号和错误描述
if not ISSAVEOK then
begin
errornum := inttostr(aVOUCHER.ErrNumber);
errorDesc := aVOUCHER.ErrDescription;
SHOWMESSAGE(errornum + ' : ' + errorDesc);
EXIT;
end;
except
Exit;
end;
// aVOUCHER := NULL;
RESULT := True;
end;
钉钉氚云到金碟之二:测试凭证写入金碟KIS(DELPHI)相关推荐
- ALL IN 钉钉的氚云,如何成为低代码头部?
来源 / ToB行业头条 (ID:wwwqifu) 采访对象 / 詹萧 作者 / 樊航 2015年SaaS赛道进入爆发期,历经8年,中国SaaS行业无论从市场规模.产品理念还是 ...
- 逃离「大厂」回乡创业,用氚云攻克流量瓶颈,年入1300万
近两三年,短视频电商和直播带货火热,一定程度上提高了产品在线销售的说服力,但线上销售需要流量支撑,没有充足的营销投入,流量就无从保证,销路一样难以拓开.流量红利见顶,依靠传统电商模式按部就班地赚钱,对 ...
- 钉钉:开放不是玩流量
钉钉,正在重新思考自己真正的价值--答案不是规模.不是流量.不是过去20年里消费互联网的"成熟"游戏规则,而是更能切实服务B端客户.帮助企业做好数字化. 作者|皮爷 出品|产业家 ...
- 钉钉氚云到金碟之一:金碟KIS专业版的DELPHI接口
近段,在琢磨将钉钉氚云中的业务审批数据打通后直接转化为金碟KIS专业版中的凭证数据,实现业务财务一体化. 通过几天的努力,在网上资料一鳞半爪的情况下,还是成功地初步生成了凭证.看到金碟KIS的凭证窗口 ...
- 钉钉氚云到金碟之三 DELPHI从氚云下载数据
DELPHI7下实在难以测试出来,最后在DELPHI XE10 下经过两天测试出来了,能正常下载. 特别注意的是标红处的一些登录参数,要从钉钉氚云专业版系统处获得,然后替换红色处的代号,才能登录下载. ...
- “破局者”氚云——低代码应用搭建工具,基于钉钉敏捷搭建企业专属应用
关键词:低代码开发.氚云.企业信息化.丰富模板.移动办公 通过信息化来提升管理效率,减低管理成本,增强企业竞争力,是绝大部分企业在发展过程中都绕不开的关键点. 对于大型企业而言,专业的IT人才配备以及 ...
- 使用钉钉、宜搭、简道云及氚云等做项目施工或工程管理的前提
使用钉钉.宜搭.简道云及氚云等做项目施工或工程管理的前提 钉钉.宜搭.简道云及氚云等做项目施工或工程管理的前提 项目施工管理和项目工程管理,在中小型企业中是个难题: 专业的项目管理软件,过臃肿,很多 ...
- 【分享】乐才无需代码连接钉钉氚云的方法
乐才用户使用场景: 企业使用乐才人事智能管理系统管理组织架构.员工档案.招聘流程.员工福利等各个方面,提高人才管理效率.每当有员工入职时,HR需要先在乐才平台创建员工档案,发送电子合同签署,安排培训等 ...
- 五个问答,告诉你阿里云对象存储如何助力钉钉战胜业务洪峰
"基于OSS在弹性扩容.跨省容灾.多租户管理以及传输加速方面的基础能力,钉钉在此次战役过程中,实现了一键切换写入区域,拆分业务到多个区域的功能,同时钉钉在跨区域的图片处理.文档预览的并发处理 ...
最新文章
- SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具
- 从《英雄联盟》的装备系统谈玩家行为与游戏设计
- jQuery的ajax()、post()方法提交数组,参数[] 问题
- vscode 支持 markdown 流程图
- LeetCode题——最长无重复子串
- 读书笔记--《Understanding LSTM Networks》
- Unreal Engine 4 —— 多线程任务构建
- 自学前端到底要学什么?五年老前端现身说法
- HTML5语义元素的使用
- mysql的多媒体类型_多媒体数据库技术及其发展方向
- 来,通过 Excel 来认识神器——POI
- linux mysql workbench 安装_Ubuntu 20.04 上 MySQL Workbench 安装和使用图文详解
- SQLyog注册激活码
- 利用云计算来实现业务转型呢,有五个步骤可以遵循
- 如何用python简单做一个植物大战僵尸 源码
- layui富文本编辑器上传图片
- 关于修改ant table选中行的背景色
- 阐述html语言的理解,阐述读书求学问的态度是以求学为快乐的句子是:(三重境界) , 。 ——青夏教育精英家教网——...
- python添加两段音乐_Python实现音乐的剪辑
- JointJS动态流程图升级
热门文章
- 清华大学 计算机科学理论,高一被清华姚班录取,一个网瘾少年到理论计算机科学家的蜕变...
- kafka receiving network data closing socket
- Rustdesk安装教程
- 【Java面试题】用float型定义变量:float = 3.14;,是否正确?
- c语言数字滤波器设计软件,[转载]基于单片机的数字滤波器设计
- 饥人谷 2019 前端押题(讲义)
- 「 理财与风险控制|养老系列」你想象中的高端养老社区是什么样?
- Sass-@if,@else if的用法
- mouseenter 延迟_前向渲染与延迟渲染
- AcWing 1371. 货币系统