增强金蝶云星空的数据分析能力,实现BI 分析功能

小编最近在研究金蝶云星空中如何将已有的BI 工具 集成进去,对于BOS开发毫无经验的我,就这么开始了从0到1的过程。在实现功能过程中,也踩了很多坑,接下来看如何避坑。
那么具体如何实现,根据下面的步骤来看。

 

话不多说直接上操作步骤,篇幅较长,这是一篇教程贴,分享给需要的用户

 

1. 开发环境要求

操作系统

Win7,Win10,Window Server系列(2008及更高版本)。

开发工具

Microsoft Visual Studio(2012及更高版本)。

http://visualstudio.microsoft.com/zh-hans/vs/

数据库

Microsoft SQL Server(2014及更高版本)。

http://www.microsoft.com/zh-cn/sql-server

金蝶云星空

金蝶云星空企业版(7.5及更高版本)

http://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>新建动态表单,添加面板控件,设置面板的停靠属性为充满,注册表单构建插件,保存元数据。



注意,在这里选择插件的时候,选择保单结构插件。否则加载不到插件。


现在就可以登录站点了


在使用过程中遇到很多坑,希望看到这篇文章的朋友们。开发愉快。

拓展阅读

如何使用自助式商业智能 (BI) 避免组织中的数据孤岛

BI系统打包Docker镜像及部署的技术难度和实现

数据可视化分析之新技能——魔数图

 



本文是由葡萄城技术开发团队发布,转载请注明出处:葡萄城官网


本文转载于网络 如有侵权请联系删除

相关文章

  • Biological Information:生物信息(CS)

    约尔根·约斯特在计算机科学中,我们可以在理论上整齐地分离信息的传输和处理、硬件和软件以及程序及其输入。这在生物学上要复杂得多,不过,我认为香农的信息概念在生物学中是有用的,尽管它的应用并不像许多人认为的那么简单。事实上,最近发展起来的信息分解理论可以揭示编码与监管或内部和环境信息之间的互补性。我们在此贡献中提出的主要挑战是了解遗传信息和外部因素如何结合以创建生物体,反过来,基因组在进化过程中是如何学会如何利用环境的,以及类似的,编码、调节和空间组织如何在细胞过程中相互作用。BiologicalInformationJürgenJostIncomputerscience,wecantheoreticallyneatlyseparatetransmissionandprocessingofinformation,hardwareandsoftware,andprogramsandtheirinputs.Thisismuchmoreintricateinbiology,Nevertheless,IarguethatShannon'sconceptofinformationisuse

  • kubeadm搭建高可用集群-版本1.18.2

    kubeadm搭建高可用集群PS:最近经常有朋友问我有没有用kubeadm搭建高可用集群的文档,说实在的我确实没有,我自己测试的话就用kubeadm单master版,公司用的话就用二进制搭建的。所以就找了个下班时间搭建测试了一番。希望对大家有帮助!如果觉得有用的话就帮忙点个关注或转发吧,哈哈~节点规划信息名称IPk8s-master0110.1.10.100k8s-master0210.1.10.101k8s-master0310.1.10.102k8s-node0110.1.10.103k8s-lb10.1.10.200基础环境配置环境信息系统CentOS7.6.1810内核版本4.9.220软件版本kubernetes1.18.2docker19.0.3环境初始化(1)、配置主机名,以k8s-master01为例hostnamectlset-hostnamek8s-master01 复制(1)、配置主机hosts映射10.1.10.100k8s-master01 10.1.10.101k8s-master02 10.1.10.102k8s-master03 10.1.10.103k

  • Python操作redis的订阅发布功能

    安装redis-serveryum-yinstallgccgcc-c++  #安装编译工具cd/optwget-chttp://download.redis.io/releases/redis-3.0.5.tar.gz #下载包tarxfredis-3.0.5.tar.gz  #解压cdredis-3.0.5makeMALLOC=libc #编译makePREFIX=/usr/local/redisinstall #安装echo'PATH=/usr/local/redis/bin:$PATH'>>/etc/profile  #配置环境变量source/etc/profile#或./etc/profilemkdir/usr/local/redis/conf #创建目录cp/opt/redis-3.0.5/redis.conf/usr/local/redis/conf/ #拷贝配置文件sed-i"46s#/var/run/redis.pid#/usr/local/redis/conf/redis.pid#"/usr/local/redis

  • EventBus原理解析笔记以及案例实战(结合demo)

    笔记概述EventBus简介 EventBus方法介绍 EventBus实际运用 EventBus简介开源项目地址:https://github.com/greenrobot/EventBusEventBus主页:http://greenrobot.org/eventBus/github项目地址中关于EventBus的简介: EventbusforAndroidandJavathatsimplifiescommunicationbetweenActivities,Fragments,Threads,Services,etc.Lesscode,betterquality. 即, Event简化了活动、碎片、进程、服务等之间的通讯方式; 使APP项目用更少的代码量实现更好的质量;关于EventBus的优势 简化组件间的通讯方式解耦合事件发送者和接收者使活动、碎片和后台的线程实现更高的执行效率防止复杂的有错误(倾向)的依赖以及生命周期的问题让你的代码简洁运行快库小EventBus主页简洁: EventBusisanopen-sourcelibraryforAndroidandJavausin

  • IOS 使用Core Data读写数据库

    image.png//项目创建成功后,在项目文件夹中将自动生成一个拥 有.xcdatamodelId扩展名的文件,该文件可以使用图形化的方式编辑数据 模型,在该文件中包含了Entities、Properties、Attributes、Relationships4 个概念,和关系型数据库有很大的相似性image.png//首先点击底部的【AddEntity】按钮,添加一个新的实体,接着将 实体的名称修改为User。然后在【Attributes】设置区,点击+加号图标 为User实体添加一个新的属性userName,并设置Type类型为String。最 后使用相同的方式,为User实体添加第二个属性password。 //完成Entity模型的创建之后,接着来创建一个托管对象类 NSManagedObject。在项目名称文件夹上点击鼠标右键,然后选择菜单 中的【NewFile……】命令。在弹出的文件模板选择窗口中,依次选择 【CoreData>NSManagedObjectsubclass】选项,创建一个 NSManagedObject的子类image.png //然后点击【Nex

  • MySQL主从服务配置

    1、首先将两台服务器全部装一个版本的数据库。两台机器都装哟! 2、将服务启动。 3、在/etc/my.cnf下修改,指定一个server-id,这里从1开始 4、主服务器设置GRANTREPLICATIONSLAVEON*.*to'mysqlzc'@'Your_ip_address'identifiedby'Y_password';复制5、记录position值 输入showmasterstatus; **至此,主服务暂时创建完毕,下面打开第二个服务器!**复制重复第一步,编辑/etc/my.cnf将server-id=[指定一个值,这里自己的填写(2或者10)]进入mysql输入:changemastertomaster_host='192.168.70.7',master_user='mysqlzc',master_password='Y_password',master_log_file='mysql-bin.000002[刚才主服务器记录的值]&#x

  • 大咖周语录 | 暴露你身份的是WiFi,破局供给侧改革的是产业化问题

    <数据猿导读>对于大数据的概念以及大数据在各行业的应用,每个人心中都有不同的看法。小编每周都会整理大数据牛人们的精彩观点,让你在最短的时间获得最精的思想荟萃。后续,数据猿也会邀请更多行业大牛通过线上线下等形式,对目前大数据行业的现状进行深度交流,汇集更多“大咖语录”给大家来源:数据猿作者:jean 易观CTO郭炜:你用的WiFi其实正在暴露你的身份!移动互联网时代,手机为我们带来巨大便利,其可移动性扩大了人的感知器官,同时也将人个体全面数字化。其中移动WIFI的应用场景非常广泛,成为企业搭建用户画像的重要方式之一。这就意味着你的“身份”也会随时暴露。对企业来说,正是基于手机数据信息,才能了解你,从而为你提供更加便利的服务。企业利用WIFI判定用户所处的场景无非利用了两个原理:一,智能指纹感知,常用于APP开发者确定通过用户打开手机WIFI,结合大数据技术,可以确定用户所在的方位。二,服务器端计算,根据手机信号反馈数据,找到用户所在的室内地理位置。原文:http://www.datayuan.cn/profile/7683.htmDell中国忽林安:用数据驱动企业发展只需要三

  • 高通量测序如何寻找T-DNA插入的位置

    为了解基因组存在T-DNA插入时,即基因组构成为AC而样本基因组为ABC的情况得到的测序结果在序列比对的时候的可能情况,因此需要先要使用模拟数据进行探索。第一步:构建参考序列和实际序列。这一部分会用到samtools,emboss和entrez-direct,都可以通过conda安装用efecth下载参考基因组mkdir-prefsefetch-db=nuccore-format=fasta-id=AF086833|seqret--filter-sidAF086833>refs/AF086833.fa复制从参考基因组提取其中部分序列用作参考序列,而下载的参考基因组则被当成实际的基因组#提取1~5000,8000~catrefs/AF086833.fa|seqret-filter-sbegin1-send5000>part1.facatrefs/AF086833.fa|seqret-filter-sbegin8000>part2.fa#合并catpart1.fapart2.fa|union-filter>refs/ref.fa复制第二步:模拟测序结果。这一步用到d

  • 电子书:《Linux Perf Master》

    《TheLinuxPerfMaster》(暂用名)是一本关于开源软件的电子书。本书与常见的专题类书籍不同,作者以应用性能诊断入手,尝试从多个不同的维度介绍以Linux操作系统为核心的开源架构技术体系。全书分为以下几个部分: 第一部分:介绍Linux性能诊断的入门方法。包括资源利用评估、性能监控、性能优化等工作涉及的工具和方法论,以StackOverflow为例介绍一个真实的应用系统架构组成;第二部分:基础设施管理工具。介绍Ganglia,Ntop,Graphite,Ansible,Puppet,SaltStack等基础设施管理&可视化工具;第三部分:操作系统工作原理。介绍Linux操作系统工作原理(NotonlyWorks,ButAlsoHow),从动态追踪技术的角度理解应用程序与系统行为;第四部分:通信协议与网络工程。介绍基于TCP/IP协议的负载均衡技术,封包过滤技术和态势感知技术;微服务之后的挑战:分布式追踪系统(Planning);第五部分:信息安全篇。介绍木马入侵、黑客攻击、防护与检测,IPv6、容器等技术发展对安全工作的挑战;介绍信息安全法律;第六部分:工程管理篇。

  • Android注册表_手机注册表文件在哪里

    com.google.android.ears100430/data/data/com.google.android.earsdefault3003,1028,1015 com.qualcomm.timeservice100680/data/data/com.qualcomm.timeserviceplatformnone com.android.defcontainer100040/data/data/com.android.defcontainerplatform1028,1015,1023,2001,1035 com.tencent.mm101090/data/data/com.tencent.mmdefault3003,1028,1015,3002,3001 de.robv.android.xposed.installer100781/data/data/de.robv.android.xposed.installerdefault1028,1015,3003 com.google.android.exchange100370/data/data/com.google.andr

  • 第二十四节:再探EFCore连接MySQL详解(基本使用、)

    一.EFCore6.0连接MySQL 1.常用程序集  (1)MySql.EntityFrameworkCore:mysql官方出品,不开源,更新慢  (2)Pomelo.EntityFrameworkCore.MySql:个人维护,开源,更新快,非常活跃【推荐】   2.代码实操 (1).安装程序集【Pomelo.EntityFrameworkCore.MySql6.0.1】【Microsoft.EntityFrameworkCore.Tools6.0.5】 (2).反向生成代码   【Scaffold-DbContext"Server=xxxx;Database=EFCore6xDB;UserID=root;Password=xxx;"Pomelo.EntityFrameworkCore.MySql -OutputDirModels-ContextEFCore6xDBContext-UseDatabaseNames-DataAnnotations-NoPluralize】 (3).进行增删改查测试 #region1

  • zabbix 3.x 监控日志文件

    1.启用zabbix主动模式 在zabbixagent端,修改/etc/zabbix/zabbix_agentd.conf ServerActive=服务端IP Hostname=tspnginx02.pro本机Hostname(要和监控页面上的主机名相同) 要监控的日志文件要有读的权限 重启zabbixagent复制 2.在web页面添加需要监控的日志。 类型选择:Zabbix客户端(主动式) 监控日志的两种key——log和logtr。   log[/path/to/some/file,<regexp>,<encoding>,<maxlines>,<mode>,<output>]   logtr[/path/to/some/filename_format,<regexp>,<encoding>,<maxlines>,<mode>,<output>] (logrt的第一个参数可以使用正则表达式)  &n

  • onchange 与 onblur

    onchange是指控件的值发生改变且失去焦点时触发的事件onblur是不管值有无改变,失去焦点就触发事件

  • [Android]上传到多个Maven仓库的Gradle插件RapidMavenPushPlugin

    博客搬迁至https://blog.wangjiegulu.com RSS订阅:https://blog.wangjiegulu.com/feed.xml RapidMavenPushPlugin 用于上传你的library库到多个Maven仓库的Gradle插件。 Github:https://github.com/wangjiegulu/RapidMavenPushPlugin 1.怎么使用 1.1添加依赖 在你项目根目录的build.gradle文件中增加RapidMavenPushPlugin依赖: 检查最新版本 buildscript{ repositories{ google() jcenter() } dependencies{ classpath'com.android.tools.build:gradle:3.0.1' classpath('com.github.wangjiegulu:rapidmavenpush:x.x.x'){ excludegroup:'com.android.tools.build',module:'gradle' } } } 复制 1.

  • Python逻辑运算结果的类型

    Python的逻辑运算符如下: xandy,如果x为False,不计算y的值,直接返回x。否则返回y。xory,如果x为True,不计算y的值,直接返回x。否则返回y。notx,如果x为False,返回True。否则返回False。 在and和or运算中,python使用了短路计算。即如果x的值已经决定了结果,将不执行y。x和y可以是变量或者表达式。 我们知道Python中,数字,字符串,列表等都能参与逻辑运算。0,空字符串,空列表当作False;而非空值当作True。 所以需要注意的是:and和or的运算结果不一定是布尔类型!具体类型是由返回的x或y决定的。只有not操作返回的才一定是布尔类型! >>>0and23 0 >>>type(0and23) <type'int'> >>>''or'abcd' '' >>>type(''or'abcd') <type'str'> >>>not'' True >>>type(not'') <type'b

  • Fragment的初步设计

    Fragment的初步设计 Fragment功能 Fragment将每一段碎片时间归类到一个具体的事件上; 使用者可以创建多个事件对碎片时间进行分类; 使用者点击事件会进入用户自己设置好的事件对应的APP; Fragment会对用户每次进入某事件进行时间统计; Fragment提供使用者的碎片时间历史记录; Fragment可以让用户定制化自己的事件,一个事件可以对应多个APP; Fragment会有被动(主动)提醒功能,以文艺范为主; Fragment提供随时回到主界面功能; Fragment提供主题选择功能; Fragment提供偏好设置(偏好内容待确定); Fragment主页面布局 ------------------------------- 问道,修仙 -------------------------------

  • 学习笔记TF017:自然语言处理、RNN、LSTM

    自然语言处理(NLP)问题都是序列化的。前馈神经网络,在单次前馈中对到来数据处理,假定所有输入独立,模式丢失。循环神经网络(recurrentneuralnetwork,RNN)对时间显式建模神经网络。RNN神经元可接收其他神经元加权输入。RNN神经元可与更高层建立连接,也可与更低层建立连接。隐含活性值在同一序列相邻输入间被记忆。2006年LSTM。语音识别、语音合成、手写连体字识别、时间序列预测、图像标题生成、端到端机器翻译。 RNN由神经元和连接权值构成任意有向图。输入神经元(inputneuron)拥有“到来”连接,活性值由输入数据设置。输出神经元(outputneuron)是数据流图一组可读取预测结果神经元。所有其他神经元为隐含神经元(hiddenneuron)。每个时间步,通过设置输入神经元为网络提供输入序列下一帧。隐含活性值作为下一个时间步附加输入。RNN当前隐含活性值为状态。序列最开始设置值0空状态。RNN状态依赖当前输入和上一状态。状态与序列所有前输入都间接相关,工作记忆(woringmemory)。RNN权值矩阵定义执行程序,决定隐含活性值输入,不同活性值整合新活性值

  • GeoSpark范围查询源码分析

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/geospark_range_query_code_analysis GeoSpark GeoSpark是基于Spark的空间数据处理开源库,在RDD模型的基础上添加了空间数据操作,以底层的SpatialRDD为基础设计了空间分析、空间SQL、空间数据可视化等组件。详细信息可以参考作者博客https://jiayuasu.github.io/以及项目主页http://sedona.apache.org。GeoSpark一开始是Spark的一个第三方组件,之后改名为sedona提交到apache基金会,当前(2020.11)正处于孵化阶段。 在空间数据的索引与并行访问上,没有像SpatialHadoop那样直接基于HDFS构建针对文件的索引,而是将数据读到RDD中在内存中后进行分区和索引构建操作,索引后的数据可以持久化到硬盘避免下一次的读取,内存的大小一定程度上限制了单次能够处理的数据总量。 最近通过Spark提高SpatialHadoop在设计上的效率,

  • 手把手教你如何用eclipse搭建前端开发环境

    3.创建静态web工程 打开eclipse,选择file,newproject或者newother...,选择web项中的staticwebproject,next。 输入你的项目名,如Html5Demo。填写contentfolder名称,如myHtml5。finish 右键contentfolder名称(myHtml5)newHTMLFile,填写index.html(主页面不建议使用其他名字),next  选择我html5,如下图,finish。       到目前为止我们已经基本完成了开发环境的搭建。 用前面类似的方法,我们可以在contentfolder下面创建其它html文件、css文件、js文件或者文件夹,从而丰富我们的应用。 如果要开发动态web项目,请继续阅读下面的步奏。   3.建立tomcat服务器 菜单中点击window,选择showview中的other... 选择servers,OK。如下图:     点击servers窗口中的链接,如下图:     选择To

  • 黑产上演《三体》剧情:蠕虫病毒入侵手机群发“钓鱼”短信

    “我是这个世界的一个和平主义者,我首先收到信息是你们文明的幸运,警告你们:不要回答!不要回答!不要回答!!!”——《三体》   《三体》是国内科幻小说界里程碑式的作品,多位互联网大佬都是其粉丝,去年其更是荣获科幻小说界的最高奖“雨果奖”。小说中人类为探索外星文明向宇宙发送电波并收到了三体文明的回复,一旦人类回复该电波,三体将立即定位地球位置并开展后续的侵略行动。不止在小说中,现实生活中也存在很多类似的“钓鱼”短信在人们之间传播,一旦不慎点开了短信中的“钓鱼”链接,链接中附带的病毒将立即入侵手机,给人们的隐私、财产安全带来极大的威胁。在此,安天AVL移动安全和猎豹移动安全实验室提醒大家:在收到附带“钓鱼”链接的短信时,不要点开!不要点开!不要点开!!!   近期,安天AVL移动安全和猎豹移动安全实验室就监控到一个群发“钓鱼”短信散布蠕虫病毒的恶意事件,事件中的Curiosity病毒一旦进入手机将立即获取感染手机的联系人信息并群发“钓鱼”短信,短信的内容为:“你好,我看到这有你的私密照片,点击链接查看:hxxp://b**.ly/2abgToi”。收件人一旦没忍住好奇心

  • 本科 专科就业以及收录

相关推荐

推荐阅读