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)相关推荐

  1. ALL IN 钉钉的氚云,如何成为低代码头部?

    来源  /    ToB行业头条  (ID:wwwqifu) 采访对象 /   詹萧    作者 /   樊航 2015年SaaS赛道进入爆发期,历经8年,中国SaaS行业无论从市场规模.产品理念还是 ...

  2. 逃离「大厂」回乡创业,用氚云攻克流量瓶颈,年入1300万

    近两三年,短视频电商和直播带货火热,一定程度上提高了产品在线销售的说服力,但线上销售需要流量支撑,没有充足的营销投入,流量就无从保证,销路一样难以拓开.流量红利见顶,依靠传统电商模式按部就班地赚钱,对 ...

  3. 钉钉:开放不是玩流量

    钉钉,正在重新思考自己真正的价值--答案不是规模.不是流量.不是过去20年里消费互联网的"成熟"游戏规则,而是更能切实服务B端客户.帮助企业做好数字化. 作者|皮爷 出品|产业家 ...

  4. 钉钉氚云到金碟之一:金碟KIS专业版的DELPHI接口

    近段,在琢磨将钉钉氚云中的业务审批数据打通后直接转化为金碟KIS专业版中的凭证数据,实现业务财务一体化. 通过几天的努力,在网上资料一鳞半爪的情况下,还是成功地初步生成了凭证.看到金碟KIS的凭证窗口 ...

  5. 钉钉氚云到金碟之三 DELPHI从氚云下载数据

    DELPHI7下实在难以测试出来,最后在DELPHI XE10 下经过两天测试出来了,能正常下载. 特别注意的是标红处的一些登录参数,要从钉钉氚云专业版系统处获得,然后替换红色处的代号,才能登录下载. ...

  6. “破局者”氚云——低代码应用搭建工具,基于钉钉敏捷搭建企业专属应用

    关键词:低代码开发.氚云.企业信息化.丰富模板.移动办公 通过信息化来提升管理效率,减低管理成本,增强企业竞争力,是绝大部分企业在发展过程中都绕不开的关键点. 对于大型企业而言,专业的IT人才配备以及 ...

  7. ​使用钉钉、宜搭、简道云及氚云等做项目施工或工程管理的前提

    ​使用钉钉.宜搭.简道云及氚云等做项目施工或工程管理的前提 钉钉.宜搭.简道云及氚云等做项目施工或工程管理的前提 项目施工管理和项目工程管理,在中小型企业中是个难题: 专业的项目管理软件,过臃肿,很多 ...

  8. 【分享】乐才无需代码连接钉钉氚云的方法

    乐才用户使用场景: 企业使用乐才人事智能管理系统管理组织架构.员工档案.招聘流程.员工福利等各个方面,提高人才管理效率.每当有员工入职时,HR需要先在乐才平台创建员工档案,发送电子合同签署,安排培训等 ...

  9. 五个问答,告诉你阿里云对象存储如何助力钉钉战胜业务洪峰

    "基于OSS在弹性扩容.跨省容灾.多租户管理以及传输加速方面的基础能力,钉钉在此次战役过程中,实现了一键切换写入区域,拆分业务到多个区域的功能,同时钉钉在跨区域的图片处理.文档预览的并发处理 ...

最新文章

  1. SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具
  2. 从《英雄联盟》的装备系统谈玩家行为与游戏设计
  3. jQuery的ajax()、post()方法提交数组,参数[] 问题
  4. vscode 支持 markdown 流程图
  5. LeetCode题——最长无重复子串
  6. 读书笔记--《Understanding LSTM Networks》
  7. Unreal Engine 4 —— 多线程任务构建
  8. 自学前端到底要学什么?五年老前端现身说法
  9. HTML5语义元素的使用
  10. mysql的多媒体类型_多媒体数据库技术及其发展方向
  11. 来,通过 Excel 来认识神器——POI
  12. linux mysql workbench 安装_Ubuntu 20.04 上 MySQL Workbench 安装和使用图文详解
  13. SQLyog注册激活码
  14. 利用云计算来实现业务转型呢,有五个步骤可以遵循
  15. 如何用python简单做一个植物大战僵尸 源码
  16. layui富文本编辑器上传图片
  17. 关于修改ant table选中行的背景色
  18. 阐述html语言的理解,阐述读书求学问的态度是以求学为快乐的句子是:(三重境界)             ,             。 ——青夏教育精英家教网——...
  19. python添加两段音乐_Python实现音乐的剪辑
  20. JointJS动态流程图升级

热门文章

  1. 清华大学 计算机科学理论,高一被清华姚班录取,一个网瘾少年到理论计算机科学家的蜕变...
  2. kafka receiving network data closing socket
  3. Rustdesk安装教程
  4. 【Java面试题】用float型定义变量:float = 3.14;,是否正确?
  5. c语言数字滤波器设计软件,[转载]基于单片机的数字滤波器设计
  6. 饥人谷 2019 前端押题(讲义)
  7. 「 理财与风险控制|养老系列」你想象中的高端养老社区是什么样?
  8. Sass-@if,@else if的用法
  9. mouseenter 延迟_前向渲染与延迟渲染
  10. AcWing 1371. 货币系统