电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-162

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

大家好,在金蝶云·星空产品开发中,经常遇到需要做界面交互的场景,为了方便用户实现此功能,往往需要通过点击按钮或者超链接,弹出另一个单据或者表单界面.......  

     

今天分享一个小知识点:通过Python表单插件,实现以各种形式弹出动态表单的业务场景,通过对弹出参数做不同的设置,可以实现不同的弹出效果。


本文以弹出一个自定义过滤动态表单为例,为大家演示其实现步骤和效果。

  • 注:弹出其他业务对象(单据、列表、报表等)也是类似的,构造的ShowParameter类可能会有点差异,但是用法是类似的,大家可以灵活应用。


插件打开其他业务对象社区案例很多,大家也可以自行搜索哈:

1、四种ShowParameter示例
2、插件打开各种界面
3、打开指定业务对象的单据详情界面
......

文后有完整的本案例Python表单插件示例代码,如有需要,请下载附件!




效果一:直接弹出,悬浮显示

TT1.webp

应用场景:通过弹出界面的方式录入数据,然后返回父页面。

具体案例可以参考作者往期文章↓↓↓:
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));


效果二:主控台弹出新页签显示子页面

TT2.webp

应用场景:通过当前页面超链接跳转到某个单据、报表双击行穿透查询...等

关键代码:

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));


效果三:直接覆盖当前整个表单界面内容,显示子页面信息

TTT3.webp

应用场景:报表双击行穿透查询的另一种效果...大家可以想象其他应用场景....

关键代码:

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));


效果四:在界面内指定某个页签控件上弹出新页签

TTT4.webp

应用场景快捷的弹出当前页面的某个单据信息,进行展示,并可以对弹出的单据进行操作...

关键代码

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表单插件-可实现多种形式、多种效果弹出动态表单

大家好,在金蝶云·星空产品开发中,经常遇到需要做界面交互的场景,为了方便用户实现此功能,往往需要通过点击按钮或者超链接,弹出另一个...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信