本帖最后由 Bella.Yuan 于 2023-1-5 18:28 编辑
最近在研究云星空中如何将wyn集成进去,对于BOS开发毫无经验的我,就这么开始了从0到1的过程。在实现功能过程中,也踩了很多坑,接下来看如何避坑。
那么具体如何实现,根据下面的步骤来看。
1. 开发环境要求 【操作系统】 Win7,Win10,Window Server系列(2008及更高版本)。 【开发工具】 Microsoft Visual Studio(2012及更高版本)。 【数据库】 Microsoft SQL Server(2014及更高版本)。 【金蝶云星空】 金蝶云星空企业版(7.5及更高版本) 【注意】Microsoft Visual Studio和星空产品必须安装在同一台开发机上,否则无法调试插件哦。。 2.金蝶云星空安装 <1>官网下载金蝶云星空企业版安装包,解压后双击安装。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png 安装教程可参考安装包中的《金蝶云星空 产品安装指南.docx》。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png 安装启动界面: file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png 安装完成后,IIS中可以看到金蝶云星空对应站点已经创建。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.png <2>打开管理中心站点,创建管理中心。 在应用服务器上,通常可以用http://localhost:8000/访问管理中心。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.png <3>登录管理中心,创建数据中心。 管理中心默认账号:administrator,密码:888888 正式开发,要创建全新的账套,数据中心类别必须选择【标准业务库】。 培训学习,可使用蓝海演示账套。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png 恢复账套操作如下图所示。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png 账套恢复成功后,即可前往业务站点登录使用。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.png <4>登录业务站点。 在应用服务器上,通常可以用http://localhost/K3Cloud/访问业务站点。 蓝海演示账套默认账号demo,密码:888888 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.png file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.png 至此,开发环境已经全部准备就绪。 3.编写插件 <1>创建插件工程。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.png 注意:框架必须选.NET Framework4。 <2>添加金蝶云星空组件引用。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.png 金蝶云星空组件默认存放路径: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。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.png file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.png 如果您修改了金蝶云星空的默认安装路径,或者您不清楚金蝶云星空站点运行目录在哪里,可以登录应用服务器,打开IIS,找到K3Cloud站点,右键菜单点【浏览】定位到站点所在目录,如下图所示。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png <5>重启IIS。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png 或者控制台输入命令:iisreset,回车。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png <6>登录BOSIDE,注册插件。 首次登录需要使用管理员账号Administrator,密码:888888 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.png 首次登录集成开发平台需要设置开发商标识。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image042.png 打开子系统,进入采购模块。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image044.png 扩展采购订单。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image046.png 在采购订单的扩展上,注册单据插件,注册完成后,保存元数据。 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image048.png <7>登录业务站点,验证插件效果。 使用非管理员账号登录业务系统,账号:demo,密码:888888 file:///C:/Users/MARTIN~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.png 至此,我们的第一个插件就完成啦!!!
那么接下来我们该如何完成将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>新建动态表单,添加面板控件,设置面板的停靠属性为充满,注册表单构建插件,保存元数据。
注意,在这里选择插件的时候,选择保单结构插件。否则加载不到插件。
现在就可以登录站点了
在使用过程中遇到很多坑,希望看到这篇文章的朋友们。开发愉快。
|