小编最近在研究金蝶云星空中如何将已有的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)KingdeeK3CloudWebSitebin。
<3>创建单据插件。
代码语言:javascript复制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)KingdeeK3CloudWebSitebin。
如果您修改了金蝶云星空的默认安装路径,或者您不清楚金蝶云星空站点运行目录在哪里,可以登录应用服务器,打开IIS,找到K3Cloud站点,右键菜单点【浏览】定位到站点所在目录,如下图所示。
<5>重启IIS。
或者控制台输入命令:iisreset,回车。
<6>登录BOSIDE,注册插件。
首次登录需要使用管理员账号Administrator,密码:888888
首次登录集成开发平台需要设置开发商标识。
打开子系统,进入采购模块。
扩展采购订单。
在采购订单的扩展上,注册单据插件,注册完成后,保存元数据。
<7>登录业务站点,验证插件效果。
使用非管理员账号登录业务系统,账号:demo,密码:888888
至此,我们的第一个插件就完成啦!!! 那么接下来我们该如何完成将wyn集成到云星空中呢?
<1>编写表单构建插件,代码如下。
代码语言:javascript复制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>拷贝插件组件到应用站点的WebSiteBin目录下,重启IIS。
<3>新建动态表单,添加面板控件,设置面板的停靠属性为充满,注册表单构建插件,保存元数据。
注意,在这里选择插件的时候,选择保单结构插件。否则加载不到插件。
现在就可以登录站点了
在使用过程中遇到很多坑,希望看到这篇文章的朋友们。开发愉快。
拓展阅读
如何使用自助式商业智能 (BI) 避免组织中的数据孤岛
BI系统打包Docker镜像及部署的技术难度和实现
数据可视化分析之新技能——魔数图