小编最近在研究金蝶云星空中如何将已有的BI 工具 集成进去,对于BOS开发毫无经验的我,就这么开始了从0到1的过程。在实现功能过程中,也踩了很多坑,接下来看如何避坑。
那么具体如何实现,根据下面的步骤来看。
话不多说直接上操作步骤,篇幅较长,这是一篇教程贴,分享给需要的用户
1. 开发环境要求
【操作系统】
Win7,Win10,Window Server系列(2008及更高版本)。
【开发工具】
Microsoft Visual Studio(2012及更高版本)。
https://visualstudio.microsoft.com/zh-hans/vs/
【数据库】
Microsoft SQL Server(2014及更高版本)。
https://www.microsoft.com/zh-cn/sql-server
【金蝶云星空】
金蝶云星空企业版(7.5及更高版本)
https://open.kingdee.com/K3Cloud/Open/Products.aspx
【注意】Microsoft Visual Studio和星空产品必须安装在同一台开发机上,否则无法调试插件哦。。
2.金蝶云星空安装
<1>官网下载金蝶云星空企业版安装包,解压后双击安装。
安装教程可参考安装包中的《金蝶云星空 产品安装指南.docx》。
安装启动界面:
安装完成后,IIS中可以看到金蝶云星空对应站点已经创建。
<2>打开管理中心站点,创建管理中心。
在应用服务器上,通常可以用http://localhost:8000/访问管理中心。
<3>登录管理中心,创建数据中心。
管理中心默认账号:administrator,密码:888888
正式开发,要创建全新的账套,数据中心类别必须选择【标准业务库】。
培训学习,可使用蓝海演示账套。
恢复账套操作如下图所示。
账套恢复成功后,即可前往业务站点登录使用。
<4>登录业务站点。
在应用服务器上,通常可以用http://localhost/K3Cloud/访问业务站点。
蓝海演示账套默认账号demo,密码:888888
至此,开发环境已经全部准备就绪。
3.编写插件
<1>创建插件工程。
注意:框架必须选.NET Framework4。
<2>添加金蝶云星空组件引用。
金蝶云星空组件默认存放路径:C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin。
<3>创建单据插件。
file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.png
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【单据插件】HelloWorld
/// </summary>
[Description("【单据插件】HelloWorld"), HotUpdate]
public class HelloWordBillPlugIn : AbstractBillPlugIn
{
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
this.View.ShowMessage("Hello World!");
}
}
}
<4>编译插件工程,获取插件组件,并将其拷贝到应用服务器上的金蝶云星空运行目录:
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin。
如果您修改了金蝶云星空的默认安装路径,或者您不清楚金蝶云星空站点运行目录在哪里,可以登录应用服务器,打开IIS,找到K3Cloud站点,右键菜单点【浏览】定位到站点所在目录,如下图所示。
<5>重启IIS。
或者控制台输入命令:iisreset,回车。
<6>登录BOSIDE,注册插件。
首次登录需要使用管理员账号Administrator,密码:888888
首次登录集成开发平台需要设置开发商标识。
打开子系统,进入采购模块。
扩展采购订单。
在采购订单的扩展上,注册单据插件,注册完成后,保存元数据。
<7>登录业务站点,验证插件效果。
使用非管理员账号登录业务系统,账号:demo,密码:888888
至此,我们的第一个插件就完成啦!!!
那么接下来我们该如何完成将wyn集成到云星空中呢?
<1>编写表单构建插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【构建插件】动态表单嵌入网页
/// </summary>
[Description("【构建插件】动态表单嵌入网页"),
HotUpdate]
public class WebBrowserBuilderPlugIn :
AbstractDynamicWebFormBuilderPlugIn
{
public override void
CreateControl(CreateControlEventArgs e)
{
base.CreateControl(e);
if
(e.ControlAppearance.Key.EqualsIgnoreCase("F_Jac_WebBrowserPanel"))
{
e.Control["xtype"] = "kdwebbrowser";
e.Control["source"] = "http://www.baidu.com/"; // 设置网址的动作也可以推迟到表单插件(例如AfterBindData事件)中执行
}
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>新建动态表单,添加面板控件,设置面板的停靠属性为充满,注册表单构建插件,保存元数据。
注意,在这里选择插件的时候,选择保单结构插件。否则加载不到插件。
现在就可以登录站点了
在使用过程中遇到很多坑,希望看到这篇文章的朋友们。开发愉快。
2022年9月开始我们针对金融APP进行了瘦身专项整治,在不考虑增量的情况,无删减业务代码的情况下实现从117M瘦身至74M,在本次安装包瘦身过程中我们遇到了不少坑,同时也积累了些经验,在此分享给大家
为了保证统计数据的准确性,比如订单金额,一个常用的方法是在查询时增加final关键字。那final关键字是如何合并数据的,以及合并的数据范围是怎样的,本文就对此做一个简单的探索。