Python插件 - 动态设置单据体列的录入顺序 表单插件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

Python插件 - 动态设置单据体列的录入顺序 表单插件

# 题外话 Hi,我正在参加金蝶云社区2023年度创见者盛典。点击链接,参与投票,赢华为平板电脑和投影仪吧! [点击直达](https://wenku.my7c.com/link/s/l04wJ) 搬运来源(C#版本):[插件事件示例代码 - OnSetBusinessInfo、OnSetLayoutInfo事件](https://wenku.my7c.com/article/20914?productLineId=1) # 记录一下代码 ``` PYTHON #插件: 动态设置单据体列的录入顺序 #作者: 老李头(Dean) import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.App") clr.AddReference("Kingdee.BOS.Core") from System import * from Kingdee.BOS.Util import * from Kingdee.BOS.App.Data import * #处理外观元数据 def OnSetLayoutInfo(e): metadata = ObjectUtils.CreateCopy(this.View.OpenParameter.FormMetaData); _BusinessInfo = metadata .BusinessInfo; _LayoutInfo = metadata .GetLayoutInfo(); #取数量字段的外观布局对象,尺码需仿照数量外观 qtyFldApp = _LayoutInfo.GetFieldAppearance("FQty"); #取物料明细表格外观布局对象 entryApp = _LayoutInfo.GetEntityAppearance(qtyFldApp.EntityKey); #设置字段的录入顺序 qtyFldApp.Tabindex = 1; #对表格中的字段,重新按照TabIndex进行排序 entryApp.Layoutinfo.Sort(); #重新构建各列,以便把新加入的尺码列,也加入到表格控件中 grid = this.View.GetControl("FPOOrderEntry"); grid.SetCustomPropertyValue("AllowLayoutSetting", False); grid.CreateDyanmicList(_LayoutInfo.GetEntityAppearance("FPOOrderEntry")); this.View.SendDynamicFormAction(this.View); ``` # 部署 ![image.webp](/download/0100eb86528cf4a74a188f20615d07c68d78.webp) # 效果 ![image.webp](/download/01003327c7232cec411bb7376de90ec8e8a5.webp)

我有一个存储了需要调整单据体字段顺序的列表。

我想将这些字段按列表里的顺序重新调整显示顺序。

我试了下,没成功,能否指导下,谢谢。

[code]

#处理外观元数据
def OnSetLayoutInfo(e):
    global colList
    if colList is None:
        this.View.ShowMessage("colList is null")
    metadata = ObjectUtils.CreateCopy(this.View.OpenParameter.FormMetaData);
    _BusinessInfo = metadata .BusinessInfo;
    _LayoutInfo = metadata .GetLayoutInfo();
    colFldApp = _LayoutInfo.GetFieldAppearance("FQty")
    entryApp = _LayoutInfo.GetEntityAppearance(colFldApp.EntityKey)
    i=0
    for col in colList:
        this.View.GetControl(col).Tabindex = 25+i;
        entryApp.Layoutinfo.Sort();
        i=i+1
        grid = this.View.GetControl("FEntity");
        grid.SetCustomPropertyValue("AllowLayoutSetting"False);
        grid.CreateDyanmicList(_LayoutInfo.GetEntityAppearance("FEntity"));
        this.View.SendDynamicFormAction(this.View);

[/code]

Python插件 - 动态设置单据体列的录入顺序 表单插件

# 题外话Hi,我正在参加金蝶云社区2023年度创见者盛典。点击链接,参与投票,赢华为平板电脑和投影仪吧![点击直达](https://wenku.my7c.c...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息