本文提供了金蝶软件二次开发的详细指南,涵盖了表单插件、列表插件、动态表单插件、操作服务插件、报表插件、WebAPI接口、单据转换插件、定时任务插件等多方面的开发技术和实践经验。作者强调了“直接干”的重要性,建议多写代码、多调试,并通过反编译等方式深入学习。同时,文章也介绍了金蝶云星空BOS平台及相关开发案例,为非专业出身的开发者提供了宝贵的参考。
前言:
多写
别问,问就是直接干
语法先知道简单的(不需要知道多少C#知识,主要是要了解金蝶的插件开发知识),然后上需求,马上写,
遇到不懂的边写边查, 当工具书,多写才是王道
其实用金蝶练手是挺好的,有需求,有前端结果,写着写着就懂了,你需要的是先实现功能,别的可以忽略
效率,扩展性完全可以先不考虑,新手只要考虑如何实现问题, CV会改代码也是一个好的开始
写完就把自己写过的反编译看看,反编译自己的,主要是习惯反编译出来的东西,相当于带着答案看问题
先学会基础语法,直接干,多调试, 很快就懂了,反编译可以先不弄,都是后话
反正作为一个非专业出身的金蝶二开的过来人经验之谈就是三个字:直接干
本文涉及部分视频,转载自社区用户 朗费罗
一、表单插件
1、 入门
1、 表单插件,按钮
1.2、写插件不重启IIS热更新 秒开
1.3、搭建星空协同开发,插件环境
2、 表单插件,赋值和取值,GetValue和SetValue
3、 表单插件,单据体,取值和赋值,GetValue和SetValue
3、 表单插件,单据体、取值和赋值、GetValue和SetValue
4、 表单插件,常用方法-1
4.1、表单插件,表单常用方法,获取单据标题 this.View.GetFormTitle()
4.2、表单插件,获取表单Fid内码,this.View.Model.DataObject["Id"]
4.3、表单插件,获取表单Fid内码,this.View.Model.GetPKValue
4.4、表单插件,设置焦点,this.View.GetControl().SetFocus()
4.5、表单插件,锁定,隐藏,字段,this.View.GetControl().Enabled = false
4.6、表单插件,锁定、隐藏,按钮,this.View.GetMainBarItem()
4.7、表单插件,刷新,this.View.UpdateView(),this.View.Refresh
4.8、表单插件,调用表单事件,this.View.InvokeFormOperation()
5、 表单插件,常用方法-2,单据体属性
5.1、表单插件,常用的单据体属性插件,删除单据体信息DeleteEntryData
5.2、表单插件,逐行,删除单据体信息this.View.Model.DeleteEntryRow
5.3、表单插件,创建、复制,新行this.View.Model.CreateNewEntryRow
5.4、表单插件,获取单据体FENTRYID内码,GetEntryPKValue
5.5、表单插件,获取单据体行数,this.View.Model.GetEntryRowCount
6、 表单插件,常用的提示信息框
6.1、表单插件,常用的提示信息框,this.View.ShowMessage("你好");
6.2、表单插件,提示信息框,this.View.ShowErrMessage("错误信息提示")
6.3、表单插件,询问式,提示信息框MessageBoxOptions.YesNo
6.4、表单插件,警告式,提示信息框this.View.ShowWarnningMessage
7、 表单插件,处理结果信息提示框
7.1、表单插件,处理结果信息提示框
8、 表单插件,BarItemClick,按钮点击事件,触发
8.1、表单插件,BarItemClick,按钮点击事件,校验是否填写了
9、 表单插件,BeforeSave,保存前,触发
9.1、表单插件,BeforeSave保存前,触发,校验,不填备注,不让保存
9.2、表单插件,BeforeSave点击事件,询问,备注信息没有填写,是否继续
11、 表单插件,DataChanged,值更新后,触发
11.1、表单插件,DataChanged,e.Field.Key,变化的值,值更新后,触发
11.2、表单插件,DataChanged,e.NewValue,e.OldValue
11.3、表单插件,DataChanged,e.Row,单据体变化的行
11.4、表单插件,DataChanged,e.Row + switch,case,break
12、 表单插件,F7
13、 单据体EntryBarItemClick事件,同第5节
14、 表单插件,AfterBindData事件
14.1、 表单插件,AfterBindData事件,销售订单,新增状态,触发
14.2、 表单插件,AfterBindData事件,销售订单,修改状态,触发
14.3、 表单插件,AfterBindData事件,变通实现,单据转换,多单据体下推
15、 表单插件,简单的条码扫描示例,CustomEvents
16、 表单插件,读写数据库
16.1、 表单插件,读写数据库, DBUtils,ExecuteSql
16.2、 表单插件,读写数据库, DBUtils,DataSet,返回
16.3、 表单插件,读写数据库, DBUtils,IEnumerable,返回
16.4、 表单插件,读写数据库, DBUtils,DynamicObjectCollection
17、 表单插件,Context属性
18、 表单插件,选单
18.1、表单插件,选单,ListShow
18.2、表单插件,选单,ListShow,属性
19、 表单插件,打开外部页面
二、列表插件
21、 列表插件,几个常用的方法
21.1、列表插件,获取单据头,FID内码
21.2、列表插件,获取单据体,FID内码
21.3、列表插件,获取单据编码,ListModel.GetData
22、 列表插件,单据列表颜色,OnFormatRowConditions
23、 列表插件,单据列表值,FormatCellValue,列表,显示即时库存
24、 列表插件,过滤,PrepareFilterParameter,我的销售订单
25、 列表插件,批改
26、 列表插件,Excel,导入导出
26、 列表插件,引出Excel
27.2、列表插件,引入Excel-2,销售出库单列表,点导入按钮,界面
29、 列表插件,物料列表,多字段,模糊查询,PrepareFilterParameter
30、 列表插件,联查,单据
三、动态表单插件
31、动态表单插件,动态表单说明
31.2、动态表单插件,说明,普通动态表单2,代码
32、动态表单插件,打开一个动态表单,取值并且赋值
32.1、动态表单插件,打开动态表单,新增界面
32.3、动态表单插件,打开动态表单,获取销售出库单列表的值,sql代码
32.4、动态表单插件,打开动态表单,值传递,代码
33、动态表单插件,双击事件
33、 动态表单插件,EntityRowDoubleClick,双击单据体,触发,联查
34、动态表单插件,返回值
34.1、动态表单插件,返回数据,界面
34.2、动态表单插件,返回数据,代码
35、 动态表单插件,OnInitialize事件,改变表单标题,字段标题
36、 动态表单插件,权限校验
37、 动态表单插件,CreateNewData事件,构造数据包
38、 动态表单插件,EntityRowClick事件,单据体,单击时触发
39、 动态表单插件,BeforeUpdateValue事件,值更新之前触发
40、 动态表单插件,AfterDeleteRow事件,单据体,分录行删除时触发
四、操作服务插件
41、 操作服务插件,概要
42.1、操作服务插件,校验器,OnAddValidators,OnPreparePropertys加载
42.2、操作服务插件,校验器,OnAddValidators,单据头,必录
43、 操作服务插件,校验器,OnAddValidators,单据体,是否允许审核
44.1、操作服务插件,BeforeExecuteOperationTransaction,事务开始前事件
44.2、操作服务插件,BeforeExecuteOperationTransaction,事务开始前事件,校验是否存在重复值
45.1、操作服务插件,BeginOperationTransaction,事务开始后事件
45.2、操作服务插件,BeginOperationTransaction,批量事务开始后事件
46、 操作服务插件,EndOperationTransaction,事务结束前事件,更新价目表
47、 操作服务插件,AfterExecuteOperationTransaction,事务结束后事件,采购订单审核后自动生成收料通知单
五、报表插件
51、 报表插件,直接SQL报表
51.1、报表插件,直接SQL报表,销售订单
51.2、报表插件,直接SQL报表,双表头
51.4、报表插件,直接SQL报表,SQL跟踪调试,取数语句分析
51.5、报表插件,直接SQL报表,辅助方法,拖
52、报表插件,报表过滤界面
52.1、报表插件,报表过滤界面
52.2、报表插件,报表过滤界面,组织的代码
52.3、报表插件,报表过滤界面,组织隔离,只查看对应组织的物料,供应商
52.4、报表插件,报表过滤界面,条件
53、报表插件,简单账表
53.1、报表插件,简单账表,过滤界面
53.2、报表插件,简单账表,通过插件,创建临时表
54、报表插件,表单插件
54.2、报表插件,简单账表,表单插件,设置颜色
55、报表插件,分页账表
55.1、报表插件,分页账表1,界面
55.2、报表插件,分页账表
56、报表插件,树形账表
56.1、报表插件,树形账表,界面
56.2、报表插件,树形账表
57、报表插件,透视表
57.1、报表插件,透视表,界面
57.2、报表插件,透视表
57.3、报表插件,透视表,添加一个标题字段
58、报表插件,增加字段
58.2、报表插件,报表,增加字段
六、WebAPI接口
61、 WebApi,介绍
62、 WebApi,引用WebApi.Client.dll调用WebApi接口
63、 WebApi,不引用WebApi.Client.dll调用WebApi接口
64.2、WebApi,第三方登录授权,引用WebApi.Client.dll调用WebApi接口
64.3、WebApi,第三方登录授权,不引用WebApi.Client.dll调用WebApi接口
65.1、WebApi,保存接口,NeedReturnFields,需返回结果的字段
65.2、WebApi,保存接口,IsAutoSubmitAndAudit,自动提交与审核
65.3、WebApi,保存接口,更新,NeedUpDateFields,需要更新的字段
66.1、WebApi,提交,审核,反审核,删除,查看接口,界面
67.1、WebApi,作废,反作废,接口
67.2、WebApi,下推接口
68、 WebApi,批量保存,接口
69、 WebApi,单据查询,接口
70.1、WebApi,构造json
70.2、WebApi,构造json,Model 基础资料,文本
71.1、WebApi,自定义接口,读取客户信息
71.2、WebApi,自定义接口,读取客户信息,客户端调用
七、单据转换插件
73、单据转换插件,多选基础资料、多选辅助基础资料下推携带
73.3、单据转换插件,多选基础资料,代码
73.4、单据转换插件,多选辅助基础资料
八、定时任务插件
九、python
十、其他
友情链接
十一、金蝶云星空BOS平台-知识地图 黄志洪老师
十二、二开发案例演示 Jack
推荐阅读