
# 题外话
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