金蝶云星空系统插件样例集锦

一、日期/可编辑下拉字段禁用鼠标中间滑轮作用触发时间/值的改变
1、描述:日期字段默认开启鼠标中间滑轮作用时间的改变,大多用户需求习惯,插件可关闭该作用
2、python插件:
def AfterBindData(e):
this.View.GetControl("FDate").SetCustomPropertyValue("AllowSpinOnMouseWheel", False);.net插件:
this.View.GetControl("FDate").SetCustomPropertyValue("AllowSpinOnMouseWheel", false);
注:日期,可编辑下拉字段写法一致
二、列表列开启tooltip提示功能
1、描述:列表由于行高问题,基于大数据性能考虑,根据内容不支持自动换行显示全部,这时需要用tooltip来完成这一场场景,一行代码启用某列tooltip功能,
2、.net插件:
this.View.GetControl<EntryGrid>("FList").SetTooltipEnabledForList("FDescript", true);
注:适用于单据体列,使用单据体列时,注意列名参数是大写,列必须是锁定状态
三、动态改变表格列头标题
1、描述:场景举例:比如动态表单某显示列,不同条件显示不同列,普通做法用显示隐藏列的做法,实际只要数据类型相同可以用一个列在动态改变其列头其数据源即可,减少列数的渲染
2、.net插件:
JSONObject job = new JSONObject();
job["key"] = "FName"; //表格列名大写
job["header"] = "设置FName列的自定义标题";
this.View.GetControl("FEntiy").InvokeControlMethod("UpdateFieldStates", job);
四、单据体怎么创建链接列
1、描述:单据体有一个列是链接列,点击链接列可以打开某一个网站地址
2、单据体创建链接列:1)、拖一个普通文本列到单据体 2)、设置该列的锁定属性为全部锁定,列表显示控件属性设置为“链接”,单据显示列表控件属性勾选 3)、该普通文本列是根据value值来显示具体在某个单元格的链接内容,如果为空,则单元格显示是空,其插件用法和普通文本无区别,比如Model.setvalue赋值等,如果不需要关联数据库数据,则其字段名属性设置为空即可
3、由于界面显示该列的标题也是链接,可以插件让标题显示其文本:this.View.GetControl<EntryGrid>("FEntity").SetColHeaderAsText(new List<string>() { "FText".ToUpper() });
4、点击具体某个单元格里的链接内容,会发送事件打服务端插件,可在插件里面的EntryButtonCellClick事件里写:
if (e.EntryKey.EqualsIgnoreCase("FEntity") && e.FieldKey.EqualsIgnoreCase("FText")) #EqualsIgnoreCase引用 using Kingdee.BOS.Util
{
ViewCommonAction.ShowWebURL(this.View, "http://www.baidu.com";);#引用 using Kingdee.BOS.Core.DynamicForm 该指令用浏览器直接打开某个网页地址
}五、改变单据的标题名称
1、描述,打开某一个单据,自定义这个单据的显示标题,可以通过以下方案
1)代码showform的方式打开某也签,可showform时,设置caption属性,即可
2)在某单据插件中写插件(python)如下(该方案紧支持以主控台页签打开方式有效,补丁基于PT-146836 [7.5.1.202005],2020年5月26发布通版补丁支持,如场景,改变物料单据的标题为当前物料编码)
import clr;
clr.AddReference('System');
clr.AddReference('Kingdee.BOS.Core');
clr.AddReference('Kingdee.BOS');
from System import *;
from Kingdee.BOS import *;
from Kingdee.BOS.Core.DynamicForm import *;
from Kingdee.BOS.Core.DynamicForm.PlugIn import *;
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *;
def AfterBindData(e):
if this.View.Context.ClientType == ClientType.Html:
mainview = this.View.ParentFormView;
else:
mainview = this.View.GetView(this.View.Context.ConsolePageId);
if mainview is not None:
mainview.GetControl("FMainTab").InvokeControlMethod("SetTitleByPageid",str(this.View.PageId),"改变物料单据标题","改变物料单据标题tooltip");
this.View.SendDynamicFormAction(mainview);3)在非主控台页签方式打开(普通弹窗形式)的单据,改变其单据标题
def AfterBindData(e):
this.View.AddAction("SetFormTitle","自定义标题");六、设置窗体主菜单整个菜单隐藏
1、描述:主菜单是作为窗体的一部分,所以要更改主菜单整个菜单的属性是前端窗体封装出来的特定方法处理
2、隐藏整个主菜单方法(.net插件)
this.View.AddAction("SetMainMenuVisible", false);七、动态改变表格列头标题提示(tooltip)
1、描述:表格列头标题提示可在插件动态设置,前端默认tooltip都和标题一致
2、.net插件:
JSONObject job = new JSONObject();
job["key"]="FName";
job["headertooltip"]="设置FName列的自定义列标题提示";
this.View.GetControl("FList").InvokeControlMethod("UpdateFieldStates",job);八、表格改变列对齐方式
1、描述:字段在BOS设计器中的“文本对齐方式”属性,默认都是缺省,平台缺省的规则是,数字类型字段是右对齐,其余字段默认都是左对齐显示,该属性的设置会同时运用到单据列表上的对齐方式显示,但是,在单据体中,只对锁定单元格有效,因为单据编辑表体的控件在编辑状态下没有对齐一说,其单元格编辑控件的录入习惯,所以单据体的对齐方式是在锁定单元格状态有效
2、动态更改单据体某列的对齐方式(锁定状态有效) .net插件:
this.View.GetControl<EntryGrid>("FEntity").SetCellTextAlign("列名大写", "Left/Right/Center", 行号);3、动态更改单据列表某列的对齐方式 列表插件的,注册python脚本:
from Kingdee.BOS.JSON import *;
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
def ListCreateColumns(e):
for objcol in e.Columns:
if objcol.GetString("dataIndex")=="FQty":#字段名,注意列表在平台构建的列名,如物料编码,是FMaterialId.FNumber
objcol["defaultColAlignType"]=1;#1-左,2-右,3-居中
break;九、表格的数字负数颜色
1、描述:系统单据数字支持负数颜色的改变有以下应用地方
1)单据列表负数颜色:在BOS设计器,单据属性“列表条件格式化”属性,进行配置,根据不同条件,可设置字段的负数时的颜色
2)单据编辑状态的负数颜色:可在,主控,
金蝶云星空系统插件样例集锦
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



