金蝶云星空程序员开发快速入门

文章目录

  • 一 前言
    • 1.1 学习步骤
    • 1.2 学习需知
  • 二、学习金蝶*云星空的步骤
    • 2.1 下载金蝶*云星空安装到本地
    • 2.2 查看官网的学习资料
    • 2.3 如何使用C#进行插件开发
    • 2.4 sqlserver的表设计以及存储过程
    • 2.5 如何使用python进行插件的开发
    • 2.6 第三方程序如何调用金蝶*云星空的数据
  • 三 后记

一 前言

作为一个有着多年java开发经验的人,突然因为工作原因,需要去接触金蝶*云星空这个产品。

在网上看,很多资料写得五花八门,并没有合适程序员快速入门的资料。在接触金蝶*云星空一段时间之后,我决定把亲身经历的内容分享出来,希望对读者有帮助

面向群体:有开发经验,想快速入门金蝶的人

1.1 学习步骤

我用的金蝶*云星空的版本为:8.2.0.20240104

如果觉得后续篇幅太长,可以直接根据以下6个步骤,自己去自学也是可以的

  • 1、下载安装金蝶到本地,学习金蝶的相关内容
  • 2、从金蝶社区获取 金蝶*云星空 的学习资料
  • 3、如何使用C#进行插件的开发
  • 4、sqlserver的表设计以及存储过程
  • 5、如何使用python进行插件的开发
  • 6、第三方程序如何调用金蝶*云星空的数据

1.2 学习需知

对于开发者来说,如果以前用过 C# Winform 开发过程序,那么入门金蝶就相对来说比较简单。因为金蝶的开发工具BOS,从某种形式来说,就是高度定制化的C# Winform 开发工具

  • 开发上:界面配置已经可以处理大部分问题了,金蝶自己说,界面配置可以处理90%的开发问题,剩下的才需要定制化开发。

  • 用户界面上:目前提供WEB端和客户端,目前推荐使用的是客户端,毕竟客户端使用wpf开发,可定制化的强度更高。

金蝶为了面向的群体更多,功能设计得较多,在接触不深的时候,会发现功能十分冗余。往往修改一个值,很多地方都可以可以修改,我处理别人的BUG的时候,一定要耐心,善于观察发现和对比

二、学习金蝶*云星空的步骤

2.1 下载金蝶*云星空安装到本地

学习攻略:必须自己安装一遍,不能只依靠公司安装的金蝶环境

请添加图片描述

关键名称:WEB端、WPF端、BOS等

https://vip.kingdee.com/article/83500607104976896?productLineId=1&isKnowledge=2&lang=zh-CN

通过以上的链接,我们可以先把 金蝶 * 云星空安装到本地

请添加图片描述

这些要看官网的相关操作,要把细节看清楚。

打开管理中心站点

http://localhost:8000/访问管理中心
管理中心默认账号:administrator,密码:888888

登录业务站点

http://localhost/K3Cloud/访问业务站点
蓝海演示账套默认账号demo,密码:888888

安装后登录业务站点,可以从右上角进入各个功能:

请添加图片描述

2.2 查看官网的学习资料

学习攻略:建议花时间把官网的学习资料都看一遍,把能理解的案例手动操作一遍

https://vip.kingdee.com/developer?productLineId=29&lang=zh-CN

在这里插入图片描述

请添加图片描述

该学习资料,是快速入门金蝶*云星空的途经,吃透消化掉,是非常关键的

请添加图片描述

请添加图片描述

可以参考我的学习规划,以上标颜色的,我都看过。没有标记颜色的,可以后续有需要再去看

2.3 如何使用C#进行插件开发

学习攻略:金蝶的插件,有点类似C# winform的触发事件,比如点击、双击、等等操作

https://vip.kingdee.com/article/83500607104976896?productLineId=1&isKnowledge=2&lang=zh-CN

通过以上的链接,我们可以先把 金蝶 * 云星空安装到本地,并且可以对C#的插件有认知。

但是必须注意的是,当我们使用 Visual Studio(我建议使用 2019版本的) 创建类库的时候,可以看出,搜索“类库”是有很多的。我们选择的是 用于创建 C# 类库(.dll)的项目

请添加图片描述

在进行插件开发时候,是需要引入依赖的。我们一般使用的依赖是从安装金蝶的路径获取的,例如

C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin

需要注意的事情是:

目前各个依赖的使用,不知道在哪里可以获取完全的资料,所有插件的编写,都是参考论坛 + 自己总结得出的。

在测试环境,可以打断点进行调试,这个挺不错的。但是唯一不好,在生产环境,是不允许打断点的,因为会让整个程序卡住

2.4 sqlserver的表设计以及存储过程

学习攻略:金蝶在BOS创建的单据,会生成几张数据库表,需要了解表之间的关系

金蝶云星空集成开发平台(BOS),创建的单据,或者已经存在的单据,都是有表进行关联的。因为当创建一张单据。一般来说我们程序员在设计数据库表之后,需写MVC,最后展示到前端。整个过程金蝶已经帮忙完成了,只是需要自己进行一些配置

  • 表的命名是什么样子的

我们来看一下常用的表,例如销售订单相关的表

请添加图片描述

表名前缀	t_ 或者 T_
视图前缀	v_ 或者 V_
多语言表后缀	_L
关联关系表后缀	_LK
T_SAL_ORDER        单据头
T_SAL_ORDERENTRY   单据体

请添加图片描述

加上 F D R E B 拆分表

Z_ 主要是用来作为生成主键ID的,如果是想编写插件或者存储过程,进行insert的操作,就会使用到该表

  • 存储过程

如果所有东西都在金蝶上操作,包括写逻辑拼接数据什么的,就会让金蝶压力很大。存储过程,也是很方便修改和处理表数据的,建议要去学习一下SQLSERVER的存储过程

2.5 如何使用python进行插件的开发

  • 学习攻略:使用C#写的插件,动不动就要重启金蝶,这样会导致业务中断,这个会让使用感非常不好,所以如果业务复杂需要编写插件,建议使用 python插件+存储过程 作为方案解决

有人会担心不会写python,其实你只需要写 if else、赋值、for循环等就行了,没必要太深入了解python的各种框架,入手还是非常简单的。

2.6 第三方程序如何调用金蝶*云星空的数据

学习攻略:使用第三调用金蝶*云星空的数据,可以从两方面,一方面调用金蝶的http接口,另一方面可以直接操作数据库。

直接操作数据库,就不用管金蝶的各种限制了,只要有数据库权限就行,这个也比较简单。另一方面就是直接使用http接口

下面我演示一下如何使用http接口

请添加图片描述

获取 acctId

请添加图片描述

请求接口为:
http://localhost/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc

参数为:

{"acctId":"660f8ead218980","username" :"demo","password": "","lcid": "2052"
}

从此就可以衍生出很多操作了

三 后记

金蝶云星空是一款收费软件,个人觉得官网论坛的内容还是有所保留的,系统学习起来还是比较费劲的。但是官网论坛也是学习的唯一途径,只要坚持,大部分问题还是可以解决的

我上面很多东西都没有展开来讲,为什么呢,因为大部分论坛上面是可以找到答案的,本文也是入门而已,篇幅就不要太长了

如果有需要我讲解某个过程,可以评论区留意,我对某个过程仔细进行讲解

金蝶云星空,整体设计还是比较老旧的,在处理并发量、高计算量的问题,并没有很好的解决办法。

但是对于新手程序员,界面设计、界面操作、数据库的设计等一些理念,还是特别有学习和借鉴意义了。

不断学习,不断成长,学无止境。希望各位,勇于面对问题,攀登上属于自己的一座又一座高峰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1089 狼人杀-简单版

solution 有两个狼人&#xff0c;其中一个狼人说谎&#xff0c;找到符合该条件的方案。若有多种则输出序号最小的方案&#xff0c;若无方案则输出No Solution。 枚举所以狼人的可能性&#xff0c;找到符合的方案输出并结束。 #include<iostream> using namespace std; …

CSRF攻击

改账号和密码 里面有改的账号和密码 我改这个代码的123为456&#xff0c;然后在新的浏览器去执行&#xff0c;然后密码就又被改了 假如黑客知道修改密码的url&#xff0c;那么就危险了 但是也不是随便改 是有前提的&#xff0c;前提是&#xff1a; 1、已经登录了要改密码的…

计算机网络:网络层 - IPv6

计算机网络&#xff1a;网络层 - IPv6 IPv6 数据报IPv6 地址冒号十六进制记法地址分类 IPv4 到 IPv6 过渡双栈协议隧道技术 IPv6 是互联网协议的最新版本&#xff0c;它被设计用来取代现有的 IPv4 协议。这是因为 IPv4 存在一些根本性的限制&#xff0c;而 IPv6 则可以解决这些…

【three.js案例一】智慧星球

直接附上源码: import * as THREE from three; import { OrbitControls } from three/addons/controls/OrbitControls.js;//场景 const scene = new THREE.Scene();const geometry = new THREE.SphereGeometry(50,32,16);console.log(.postion,geometry.attributes.position)…

【吊打面试官系列-Mysql面试题】实践中如何优化 MySQL?

大家好&#xff0c;我是锋哥。今天分享关于 【实践中如何优化 MySQL&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 实践中如何优化 MySQL&#xff1f; 最好是按照以下顺序优化&#xff1a; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 1、SQL 语…

【Linux】基础IO——理解文件系统

1.理解文件系统 1.1.ls与stat 磁盘文件由两部分构成&#xff0c;分别是文件内容和文件属性。 文件内容就是文件当中存储的数据&#xff0c;文件属性就是文件的一些基本信息&#xff0c; 例如文件名、文件大小以及文件创建时间等信息都是文件属性&#xff0c;文件属性又被称…

探索高效存储与快速查找: 深入了解B树数据结构

探索高效存储与快速查找: 深入了解B树数据结构 一、什么是B树二、B树的实现2.1 节点的定义2.2 插入关键字2.3 删除关键字2.4 查找关键字2.5 遍历B树 一、什么是B树 B树&#xff0c;也称为B-tree&#xff0c;是一种多路平衡查找树。它被广泛用于文件系统和数据库之中&#xff0c…

CentOS7服务器中安装openCV4.8的教程

参考链接&#xff1a;Centos7环境下cmake3.25的编译与安装 参考链接&#xff1a;Linux安装或者升级cmake&#xff0c;例子为v3.10.2升级到v3.25.0(自己指定版本) 参考链接&#xff1a;Linux安装Opencv&#xff08;C&#xff09; 一、下载资源 1.下载cmake3.25.0的压缩包&am…

使用 yocto 搭建 qemuarm64 环境

文章目录 前言一、ubuntu 环境准备1. 编译主机基础的环境准备2. 编译主机相关依赖软件的安装二、yocto5.0 代码的获取与编译1. 获取代码2. yocto5.0 代码的编译2.1 source 环境变量2.2 修改相关配置文件2.3 编译3. 启动 qemu总结参考资料前言 本文主要介绍如何在 ubuntu 下使用…

SpringCloud总结(springcloud alibaba)

目录 版本说明&#xff08;很重要&#xff09; springcloud alibaba对应组件版本说明 简述 spring cloud albaba 几大模块 周会讨论 - spring cloud alibaba每周都会有周会讨论,社区活跃 spring cloud alibaba官网 注册配置中心 简单介绍 nacos 步骤 示例代码 依赖…

python全栈开发《07.数据类型之数字类型的应用、初识字符串类型》

目录 一、数字类型的简单应用二、初识字符串 1.什么是字符串2.字符串的内置函数与定义方法3.字符串的重要思想 三、python的内置函数id和len 一、数字类型的简单应用 对int与float的简单应用练习–初中生春游&#xff0c;主人公小编。 1.起因 小编学校组织春游&#xff0c;…

Django配置连接池:使用django-db-connection-pool配置连接池

一、该三方库文档使用 github地址&#xff1a; https://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.mdhttps://github.com/altairbow/django-db-connection-pool/blob/1.2.5/README_CN.md1、选择指定版本&#xff0c;查看指定版本的文档和配置&am…

【Java】Object类中的toString、equals方法

Object类 所有类都直接或间接的继承自Object类&#xff0c;Object类是所有Java类的根基类。 也就意味着所有的Java对象都拥有Object类的属性和方法。 如果在类的声明中未使用extends关键字指明其父类&#xff0c;则默认继承Object类。 toString()方法 【1】Object类的toStr…

ChatGPT魔法背后的原理:如何做到词语接龙式输出?

介绍 我们都知道 ChatGPT 是 AIGC 工具&#xff0c;其实就是生成式人工智能。大家有没有想过这些问题 &#x1f914;️&#xff1a; 1、我们输入一段话&#xff0c;就可以看见它*噼里啪啦的一顿输出*&#xff0c;那么它的原理到底是什么&#xff1f; 2、到底它是怎么锁定这些…

【MySQL】事务一

事务一 1.什么是事务2.为什么会存在事务3.事务的版本支持4.事务的提交方式5.事务常见操作方式6.事务隔离级别6.1读未提交【Read Uncommitted】6.2读提交【Read Committed】6.3可重复读【Repeatable Read】6.4串行化【serializable】 点赞&#x1f44d;&#x1f44d;收藏&#x…

SSM家乡旅游网-计算机毕业设计源码04802

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;SSM家乡旅游网当然也不能排除在外。SSM家乡旅游网是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第八周) - 现代大语言模型

现代大语言模型 1. GPT-32. 上下文学习 2.1. 零样本提示2.2. 少样本提示2.3. 归纳头 3. 对齐 3.1. 指令微调3.2. 基于人类反馈的强化学习3.3. 事实与幻觉 1. GPT-3 GPT系列论文 GPT-1(2018): Improving Language Understanding by Generative Pre-TrainingGPT-2(2019): Lang…

基于BERT微调+模板填充快速实现文本转DSL查询语句

前言 Text2SQL是指将自然语言转化为类SQL查询语句&#xff0c;使得用户的查询文本可以直接实现和数据库交互&#xff0c;本文介绍一种以BERT为基础模型&#xff0c;通过模板填充来实现的Text2SQL算法和产品化。 内容摘要 Text2SQL任务说明模板填充的思路条件列选择子模型搭建…

【免费Web系列】大家好 ,今天是Web课程的第二一天点赞收藏关注,持续更新作品 !

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 员工管理 1. 条件分页查询 1.1 概述 在页面原型中&#xff0c;我们可以看到在查询员工信息列表时&#xff0c;既需要根据条件动态查询&#xff0c;还需要对查询的结果进行分页处理。 那要完成这个页面…

【linux】应用程序访问百度时,操作系统内核网络接口日志

代码合入&#xff1a; 登录 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/commit/c639573cc7c4984913d4a89884347e5a30a51eac 启动操作系统运行dmesg的日志像这样&#xff1a; dmesg_log/2024_06_14_00_40_54.txt r77683962/linux-6.9.0 - Gitee.com 注意&#xf…