K/3 Cloud
文章平均质量分 61
范永强
热爱生活,热爱编程!
展开
-
[K3Cloud2.0]如何解决创建管理中心失败的问题
标题有点大,实际上,Cloud2.0产品质量还是顶呱呱的,至于在安装使用过程中出现的这个管理中心无法创建的问题,实际上是与我的网络环境有关,下面讲一下我的网络环境:开发团队目前所在网段:10.30.0.0oracle数据库服务器所在网段:192.168.0.0下面说下建库原理:K3Cloud2.0安装后,都有这么个目录:...Kingdee\K3Cloud\CommonFi转载 2013-08-30 11:27:34 · 4185 阅读 · 0 评论 -
[K/3Cloud]屏蔽页签的关闭按钮
如图,屏蔽企业门户的X关闭按钮。this.View.GetControl("FMainTab").SetItemCloseable(1, false);这行这行代码就可以实现。原创 2013-09-08 13:13:04 · 963 阅读 · 0 评论 -
[K/3Cloud]关于数据库sa密码更改,管理中心登录不上的问题。
有时候可能应为别的原因可能一不小心更改了数据库的密码,导致K/3 Cloud管理中心和单据打不开。这个时候其实只要在注册一下就能解决了,在浏览器中输入http://192.168.25.35:8000/Silverlight/CMC.aspx用这个地址重新注册就可以了。原创 2013-09-08 12:15:39 · 4972 阅读 · 0 评论 -
[K/3Cloud]关于"选单"操作
之前有些人对这块有些疑问,比如:1.选单操作是否和下推基本一样,都是公用同一套单据转换规则,只不过下推是源单推目标单,选单是目标单去选择源单,最终操作结果一样?2,我想实现选单的时候,选单列表先通过插件过滤..是否支持这做法?..插件应该挂在哪个地方...重写哪个事件?其实是一样的,选单会拿单据界面已经录入的部分字段对源单数据进行过滤,至于哪些字段参与过滤可以在单据转换规则原创 2013-09-08 12:05:19 · 1259 阅读 · 0 评论 -
[K/3Cloud] KSQL 关联表更新字段Update语法
关联表更新字段UPDATE tmp369faa3f7d224b0595670425008 as t1 SET FStatus=-1 where exists(select 1 from t_BD_Supplier where FUseOrgId = t1.FDestOrgID and FMasterId = t1.FMasterId)UPDATE 后面使用别名必须加AS;另一种写法转载 2013-08-30 11:59:16 · 993 阅读 · 0 评论 -
[K/3Cloud]调用动态表单时,传递自定义参数
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数。private void ShowMaterialStock() { object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"];原创 2013-08-30 11:55:37 · 1068 阅读 · 0 评论 -
[K/3Cloud]创建一个操作校验器
概念定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验。继承自校验器抽象对象AbstractValidator。 应用场景校验器 示例新建一个类,继承自AbstractValidator。通常重写方法:Validateusing Kingdee.BOS;using Kingdee.BOS.Core;using Kingdee.BO转载 2013-08-30 11:47:56 · 1577 阅读 · 0 评论 -
[K/3Cloud]如何解决kdpkg无法部署到业务站点的问题
自从下载了sp1后,就迫不急待的试用下,看看反馈的几个关键bug是否修复,可惜sp1安装后发现业务站点下的组件一个都没有被更新,这指定是有问题了,这真是让哥百思不得其解,真后悔在研发时没仔细研究下部署原理,现在出来后没有源码是一筹莫展呀。 这2天手边紧急事情也搞得差不多了,于是重新回来研究下,从百宝箱里拿出了终级武器.net reflector,一边生成pdb,一边重启iis,准备干活,生转载 2013-08-30 11:25:22 · 2345 阅读 · 0 评论 -
[K/3Cloud] 首页增加一个自定义页签及页面内容
在K3Cloud登录后的门户首页增加一个页签,如增加一个【BBS论坛】 2013-7-30 11:18:51 上传下载附件 (84.81 KB) 增加页签 可以这么来做:进入BOS IDE ,找到名称为主控台经典版,唯一标识为BOS_MainConsoleSutra 的动态表单;为它写一个继承自AbstractDynamicF原创 2013-09-08 13:11:30 · 2638 阅读 · 0 评论 -
[K/3Cloud] 表单python脚本使用QueryService的做法
听说有些朋友想在表单里做自定义的界面数据处理,一般来说写个表单插件会很容易解决这类问题。但是鉴于C#插件开发的不便性和实施搭建开发环境的麻烦,在现场做C#开发可能会不太方便(没部署开发环境之类的问题)。因此推荐用这个python脚本处理这些需要现场解决的需求。现在分享一种用queryService取业务对象数据的方法。##引入C#中必须的类import clrclr.AddReferenc原创 2013-09-08 12:42:29 · 1320 阅读 · 0 评论 -
[K/3Cloud]关于K/3 Cloud v2.0升级补丁的疑问
现在除了K/3 Cloud v2.0的正式版之外,后续又发布了SP1和SP2补丁包。改善了一些问题和BUG,有些人之前可能之前装了SP1,有的可能没装过。在这里我说明一下:不管装没装过补丁直接打SP2就好,SP2已包含了SP1。之前是2.0,直接装SP2即可;之前是2.0+sp1,也直接装SP2即可;之前是2.0+sp1+补丁,也直接装SP2即可;SP2下载地址:h原创 2013-09-08 11:57:50 · 1050 阅读 · 0 评论 -
[K/3Cloud] KSQL日期常量用法注意
KSQL中用日期常量必须用{ts'" + dateTime.ToString("yyyy-M-d HH:mm:ss") + "'}正确写法:INSERT INTO T_SEC_PASSWORDHISTORY (FHISTORYID, FUSERID, FPASSWORD, FCREATEDATE) VALUES ('2c34ef20-89f1-49e7-9756-842a32a248d转载 2013-08-30 11:57:07 · 2112 阅读 · 0 评论 -
[K/3Cloud]在插件中根据条件取消表单打开过程
新建一个类,继承自动态表单抽象插件类AbstractBillPlugIn,重写PreOpenForm。/// /// 销售订单 单据维护界面插件 /// public class SaleOrderEdit : AbstractBillPlugIn { // // Summary: // 动态表单打开前原创 2013-08-30 11:49:54 · 1003 阅读 · 0 评论 -
[K/3Cloud]如何解决K3Cloud 2.0审批流提交时报“队列不存在,或您没有足够的权限执行该操……
按照图上的操作即可解决不可提交的问题,但如果应用服务器是部署在域环境下,应该不会出错,这是微软support上说的转载 2013-08-30 11:43:58 · 2568 阅读 · 0 评论 -
[K/3Cloud]ksql翻译札记
2011-11-16又学一招,集合转化临时表的方法:var sql = string.Format(@"select b.FENTRYID,a.{2} from {0} ainner join {1} b on a.FID = b.FIDinner join table(strSplit(@FENTRYID, ',')) on b.FENTRYID = FENTRYID",转载 2013-08-30 11:36:51 · 1920 阅读 · 0 评论 -
[K/3Cloud] 树形单据体的应用说明
1、BOSIDE制作单据,支持动态表单,单据,基础资料,报表等域模型。2、添加列,和原来单据体一样。3、设置主键列名,父级主键字段名,行类型字段名,节点图片字段名(没有可以为空) 4、运行时展示: 5、数据库数据结构,其中FEntryID,FParentID,FRowType是必须的。6、行类型配置FRowTy转载 2013-09-08 13:45:02 · 1788 阅读 · 0 评论 -
[K/3Cloud]将JSON字符串反序列化为C#动态对象
using Kingdee.BOS.Util; string errString="{/"Row/":1,/"PageId/":/"12345/"}"dynamic err = KDObjectConverter.DeserializeObject(errString);int row = (int)err.Row;string pageId=(string)err.PageId;原创 2013-09-08 13:34:17 · 1477 阅读 · 0 评论 -
[K/3Cloud]DBServiceHelper.ExecuteDataSet(this.Context, sql)) 返回数据问题
例如下面代码:int sQty = 0;string sql = string.Format(@" Select FMATERIALID ,FBASEUNITID ,FAUXPROPID ,FLOT,FSTOCKID ,FBASEQTY FStockQty,FSECQTY FStockUnitQty," +" FBASEQTY FLockQty,FSECQTY FLockUnitQty,F原创 2013-09-08 12:53:26 · 1946 阅读 · 0 评论 -
[K/3Cloud]有关单据显示行数限制和数据导出的建议
1.针对显示行数限制:模仿现在很流行的“查看更多”的模式,动态加载数据。我相信这一点建议别人也提过,还请总部对此开展头脑风暴,因为在实际使用中客户总是不理解为何要限制行数,解释为了性能考虑依旧不解。2.针对数据导出建议:导出的数据源可以另外弹出个过滤界面或者过滤导出向导,引导客户进行导出,数据源从数据库取数。作为导出功能的一个补充。通过专业人员的分析,现给出以下说明和解决方原创 2013-09-08 12:38:22 · 1495 阅读 · 0 评论 -
[K/3Cloud]进度条控件编程接口
进度条控件编程接口1、启动进度查询this.GetControl().Start(2) //每2秒查询一次进度2、汇报进度在插件中重载 OnQueryProgressValuepublic override void OnQueryProgressValue(QueryProgressValueEventArgs e){ e.Caption="正在计算物料0原创 2013-09-01 11:32:45 · 771 阅读 · 0 评论 -
[K/3Cloud] K/3 Cloud1.0怎样和2.0共存在一台服务器上
第一步:安装Cloud1.0,创建管理中心,创建业务数据中心,备份管理数据库和业务数据库,并且备份安装目录;第二步:卸载Cloud1.0,清理安装目录,安装Cloud2.0,创建管理中心,创建业务数据中心;第三步:使用1.0的kingdee站点管理工具(k3cloud\Tools\SiteManager下运行Kingdee.K3.Management.Website.Console原创 2013-09-01 11:32:33 · 1068 阅读 · 0 评论 -
[K/3Cloud] 如何在k3Cloud主页实现自定义页面的开发
过自定义页签动态添加一些内容,比如网页链接、图片等。 如果是动态的增加链接,可以参考一下代码,然后在ButtonClick事件里面对链接进行处理。public override void AfterBindData(EventArgs e) { base.AfterBindData(e); List showInf原创 2013-09-08 13:16:26 · 2877 阅读 · 0 评论 -
[K/3Cloud]实现双击列表行后显示具体的某个单据明细。
列表插件重写void ListRowDoubleClick(ListRowDoubleClickArgs e)事件,在事件中处理具体逻辑,具体代码如下public override void ListRowDoubleClick(Core.List.PlugIn.Args.ListRowDoubleClickArgs e) { base.ListRowD原创 2013-09-08 12:31:05 · 2391 阅读 · 0 评论 -
[K/3Cloud]K3Cloud的移动审批方面
基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下:K/3 Cloud 支持移动审批,支持安卓和IOS。关于申请试用:1、打开浏览器,进入mcloud网站(http://mCloud.kingdee.com),注册用户。2、注册完毕,通过邮箱激活企业号后,登录mcloud,打开页签“企业信息管理”输入你的服务器的互联网上原创 2013-09-08 12:22:59 · 4358 阅读 · 0 评论 -
[K/3Cloud] 创建一个单据转换插件
概念:创建一个业务单据转换插件,在单据转换的各个时点干预单据转换的相关逻辑控制。示例:新建一个类,继承自单据转换插件基类Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.AbstractConvertPlugIn。using Kingdee.BOS;using Kingdee.BOS.Core;using Kingd原创 2013-09-12 15:55:08 · 2199 阅读 · 0 评论 -
[K/3Cloud] 创建一个业务单据表单插件
概念创建一个业务单据插件,处理单据的相关控制逻辑。示例新建一个类,继承自单据插件基类Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn。using Kingdee.BOS.Core.Bill.PlugIn;using Kingdee.BOS.Core.DynamicForm.PlugIn;using Kingdee.B原创 2013-09-12 16:02:45 · 8572 阅读 · 1 评论 -
[K/3Cloud] 单据新增、复制、新增行、复制行的过程
整单复制:先执行CopyData(获得数据包),在执行AfterCreateNewData(可处理数据包),不会执行AfterCreateNewEntryRow单据新增:先执行AfterCreateNewEntryRow(处理数据包),在执行AfterCreateNewData,最后加载界面组织信息注意:AfterCreateNewEntryRow函数里面,界面上字段值的信息全部不可用原创 2013-09-12 16:22:27 · 2435 阅读 · 0 评论 -
[K/3Cloud] 代码中设置某个字段必录
Control ctl = this.GetControl(fieldKey); FieldEditor editCtl = ctl as FieldEditor; if (editCtl != null) { editCtl.MustInput = mustInput; }使用视原创 2013-09-12 16:07:07 · 1300 阅读 · 0 评论 -
[K/3Cloud] 调用其他界面时通过Session传递对象参数
DynamicFormShowParameter参数的CustomParams参数列表只支持string类型的参数,对于复杂参数的传递需要通过单据View对象的共享Session来完成,如:在调用界面调用目标界面之前将参数值加入共享Sessionthis.View.Session[key] = value;this.View.ShowForm(param, CallbackFunc)原创 2013-09-12 17:03:30 · 965 阅读 · 0 评论 -
[K/3Cloud] 如何设置设置单据分录中的整列的精度
有时,你可能想设置整列的精度,可以在插件中完成。设置方法如下 :this.View.GetFieldEditor(“FAmount”, -1).Decimal = 2;其中FAmount为单据体(或单据头)中的一个字段,如果要设置整列,则把第二个参数行号设置为-1。原创 2013-09-12 16:27:15 · 987 阅读 · 0 评论 -
[K/3Cloud] 单据转换插件执行顺序
1、下推事件及顺序//初始化变量 OnInitVariable(InitVariableEventArgs e)//解析字段映射关系,并构建查询参数。这里可以加入你想要的额外的字段OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)//构建列表中选择数据行的In语句 OnInSelectedRow(InSelec原创 2013-09-12 16:30:03 · 1348 阅读 · 0 评论 -
[K/3Cloud] 动态表单打开时传递一个自定义参数并在插件中获取
插件中在调用动态表单时,通过DynamicFormShowParameter的CustomParams,增加自定义的参数。 /// /// 库存查询 /// private void ShowMaterialStock() { object useOrgId = (this.View.原创 2013-09-12 16:36:36 · 2269 阅读 · 0 评论 -
[K/3Cloud] 关于单据转换的问题
1. 单据转换,是否支持重复下推,支持新增下推和更新下推?答:支持重复下推,是否允许下推受以下因素:1)、源分录是否是有效状态(源单单头状态会自动影响分录,下同),例如已审核、未关闭、未作废;2)、源分录的此路线组,还有剩余的可用量(路线组指状态追踪表中源状态到目标状态的迁移组);3)、如果允许超额,不超过超额控制量;4)、单据转换的配置中,符合其过滤条件;5)、单据插件的原创 2013-09-12 16:42:04 · 1321 阅读 · 0 评论 -
[K/3Cloud] 理解BOS关于Enabled属性的表决器原理
通常的编程中,我们习惯: btnOK.Enabled = true;这个样子就会将按钮变成有效,反之亦然。但在ERP的表单中,其某个按钮或字段其有效性及其复杂,例如一个表格中某个数量单元格其有效性是这么写的: this.View.GetEditor("FAmount",1).Enabled = 物料填了吗 && 单据是可编辑 && 单据非只读打开 && 有权限编辑 && 有此字段编原创 2013-09-12 16:46:41 · 1132 阅读 · 1 评论 -
[K/3Cloud] 在插件中为辅助资料赋值
因为辅助资料其实是一种特殊的基础资料,其赋值方法跟基础资料类似this.Model.SetItemValueByNumber("FAssistant1", "America", 0);如果要在新增时赋值,则将代码写在AfterCreateEntityData事件中。原创 2013-09-12 17:00:46 · 1603 阅读 · 1 评论 -
[K/3Cloud] 使用操作还是服务
现在菜单点击事件既可以挂操作又可以挂服务,那到底是应该挂操作还是服务呢?有个需求是要求一个动作可以在两个时点被触发1、单据由下推或选单生成的时候;2、点击单据界面功能菜单;这样是不是需要做一个服务端服务适应单据转换,还要再做一个操作响应菜单点击?在往菜单上挂内容的时候服务也可以选到,操作也可以选到,到底应该用哪个?这里指的服务是表单服务,在Web层。这个需求原创 2013-09-12 17:05:55 · 1087 阅读 · 0 评论 -
[K/3Cloud] 隐藏菜单后,如何在插件间接的调用隐藏菜单的操作
使用场景:动态表单里面挂了个单据的序时薄,序时薄有菜单,但是把序时薄的工具栏隐藏了。新增,修改全部动态表单自己写。删除和过滤我想间接调用下隐藏的序时薄的删除和过滤按钮的操作。在插件里如何实现?答:this.View.GetView(currentBillTabList).InvokeFormOperation("Filter");this.View.SendDynamicForm原创 2013-09-12 17:08:09 · 994 阅读 · 0 评论 -
[K/3Cloud] 在设计时复制已有表单菜单或菜单项快速建立菜单
1、打开已有表单XML,找到FormAppearance的Menu节点,按Ctrl+C复制500_Default12、打开目标单据XML,找到FormAppearance粘贴Menu节点到FormAppearance属性原创 2013-09-12 17:12:07 · 973 阅读 · 1 评论 -
[K/3Cloud] 创建一个操作校验器
概念:定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验。继承自校验器抽象对象AbstractValidator。示例:新建一个类,继承自AbstractValidator。通常重写方法:Validateusing Kingdee.BOS;using Kingdee.BOS.Core;using Kingdee.BOS.Cor原创 2013-09-12 15:48:35 · 1189 阅读 · 0 评论 -
[K/3Cloud] QueryService使用注意事项
QueryServlice是目前查询数据非常好用的服务,但目前在使用过程中由于使用不当产生不少问题,下面将一一解答:1、在查询一些实体关键字段如实体主键、分录序号时,条件中的别名怎么会变来变去? QueryServlice设计中,为了和物理数据库结果解耦以及写的过滤条件中字段表名别名与动态SQL算法解耦,所有字段并非真实的物理字段,而是使用字段的标识,所有在调用QueryS转载 2013-09-08 13:49:50 · 1099 阅读 · 0 评论