Python表单插件-可实现多种形式、多种效果弹出动态表单

大家好,在金蝶云·星空产品开发中,经常遇到需要做界面交互的场景,为了方便用户实现此功能,往往需要通过点击按钮或者超链接,弹出另一个单据或者表单界面.......
今天分享一个小知识点:通过Python表单插件,实现以各种形式弹出动态表单的业务场景,通过对弹出参数做不同的设置,可以实现不同的弹出效果。
本文以弹出一个自定义过滤动态表单为例,为大家演示其实现步骤和效果。
注:弹出其他业务对象(单据、列表、报表等)也是类似的,构造的ShowParameter类可能会有点差异,但是用法是类似的,大家可以灵活应用。
插件打开其他业务对象社区案例很多,大家也可以自行搜索哈:
1、四种ShowParameter示例
2、插件打开各种界面
3、打开指定业务对象的单据详情界面
......
文后有完整的本案例Python表单插件示例代码,如有需要,请下载附件!
效果一:直接弹出,悬浮显示

应用场景:通过弹出界面的方式录入数据,然后返回父页面。
具体案例可以参考作者往期文章↓↓↓:
1、Python表单插件-点击菜单弹出动态表单传递参数到子页面
2、Python动态表单插件-子页面关闭返回数据到父页面
关键代码:
def ShowFilterForm():
global orgId,year,month,guid;
dic={};
dic["orgId"]=orgId;
dic["year"]=year;
dic["month"]=month;
dynamicFormShowParameter = DynamicFormShowParameter();
guid = str(Guid.NewGuid());
dynamicFormShowParameter.PageId=guid;
dynamicFormShowParameter.FormId="ora_MDLRZBGL";#动态表单标识
dynamicFormShowParameter.OpenStyle.ShowType =ShowType.Floating;
dynamicFormShowParameter.CustomComplexParams.Add("DIC", dic);
this.View.ShowForm(dynamicFormShowParameter, Action[FormResult](ChildFromClosed));
效果二:在主控台弹出新页签显示子页面

应用场景:通过当前页面超链接跳转到某个单据、报表双击行穿透查询...等![]()
关键代码:
def ShowFilterForm():
global orgId,year,month,guid;
dic={};
dic["orgId"]=orgId;
dic["year"]=year;
dic["month"]=month;
dynamicFormShowParameter = DynamicFormShowParameter();
guid = str(Guid.NewGuid());
dynamicFormShowParameter.PageId=guid;
dynamicFormShowParameter.FormId="ora_MDLRZBGL";#动态表单标识
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
dynamicFormShowParameter.CustomComplexParams.Add("DIC", dic);
this.View.ShowForm(dynamicFormShowParameter, Action[FormResult](ChildFromClosed));
效果三:直接覆盖当前整个表单界面内容,显示子页面信息

应用场景:报表双击行穿透查询的另一种效果...大家可以想象其他应用场景....![]()
关键代码:
def ShowFilterForm():
global orgId,year,month,guid;
dic={};
dic["orgId"]=orgId;
dic["year"]=year;
dic["month"]=month;
dynamicFormShowParameter = DynamicFormShowParameter();
guid = str(Guid.NewGuid());
dynamicFormShowParameter.PageId=guid;
dynamicFormShowParameter.FormId="ora_MDLRZBGL";#动态表单标识
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.InCurrentForm;
dynamicFormShowParameter.CustomComplexParams.Add("DIC", dic);
this.View.ShowForm(dynamicFormShowParameter, Action[FormResult](ChildFromClosed));
效果四:在界面内指定某个页签控件上弹出新页签

应用场景:快捷的弹出当前页面的某个单据信息,进行展示,并可以对弹出的单据进行操作...
关键代码:
def ShowFilterForm():
global orgId,year,month,guid;
dic={};
dic["orgId"]=orgId;
dic["year"]=year;
dic["month"]=month;
dynamicFormShowParameter = DynamicFormShowParameter();
guid = str(Guid.NewGuid());
dynamicFormShowParameter.PageId=guid;
dynamicFormShowParameter.FormId="ora_MDLRZBGL";
#如果TagetKey 为页签控件标识,则ShowType只能为NewTabPage
dynamicFormShowParameter.OpenStyle.ShowType = Sh
Python表单插件-可实现多种形式、多种效果弹出动态表单
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



