四种ShowParameter示例原创
金蝶云社区-拿了你的糖身份
拿了你的糖
48人赞赏了该文章 7806次浏览 未经作者许可,禁止转载编辑于2022年10月11日 11:57:04

经常有小伙伴在弹窗的时候有很多疑问,该用那种方式,听我一一道来。


场景一:弹窗下拉列表,下拉列表值根据某个字段动态获取


image.png

  • DynamicFormShowParameter:打开动态表单

DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
dynamicFormShowParameter.FormId = "BOS_FileDownLoad";
dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Modal;
dynamicFormShowParameter.CustomParams.Add("IsExportData", "true");
dynamicFormShowParameter.CustomParams.Add("url", url);
this.View.ShowForm(dynamicFormShowParameter);



场景二:根据内码打开某个单据



  • BillShowParameter:打开单据

 BillShowParameter showPara1 = new BillShowParameter()
  {
     FormId = "CB_EXPENSECOLLECTION",
     Status = OperationStatus.EDIT,
     PageId = Guid.NewGuid().ToString(),
     OpenStyle = { ShowType = ShowType.MainNewTabPage },
  };
 showPara1.PKey = fid;//单据对应Fid
 this.View.ShowForm(showPara1);


友情链接:

python.打开指定业务对象的单据详情界面


场景三:打开某个列表



  • ListShowParameter:打开列表

//定义一个字段,新建一个listShowParameter实例
ListShowParameter listShowParameter = new ListShowParameter();
                
                
//FormId你要调用那个单据的列表,通过打开未扩展的销售订单,找到唯一标识
listShowParameter.FormId = "SAL_SaleOrder";
                
//IsLookUp弹出的列表界面是否有“返回数据”按钮
listShowParameter.IsLookUp = true;
                
                
//列表显示类型
//只显示基本信息
listShowParameter.ListType = Convert.ToInt32(BOSEnums.Enu_ListType.BaseList);
                
//全部显示,默认全部显示
listShowParameter.ListType = Convert.ToInt32(BOSEnums.Enu_ListType.List);
 
 //过滤已审核数据
listShowPara.ListFilterParameter.Filter = listShowPara.ListFilterParameter.Filter.JoinFilterString(" FDocumentStatus ='C' ");               
                
//是否显示复选框。默认是true,如果false就是不显示
listShowParameter.MultiSelect = false;
                
                
//接收返回值
this.View.ShowForm(listShowParameter);

具体案例可以参考大佬的帖子:

https://vip.kingdee.com/article/67241621690988800 



场景四:打开某个简单账表    

    

  • SysReportShowParameter :打开账表

1.源单表单插件:

var showParam = new SysReportShowParameter();
showParam.FormId = "CB_CostCalcSummary";
showParam.ParentPageId = this.View.PageId;
showParam.CustomComplexParams["FSelectId"] = fid;//要传递的参数
showParam.OpenStyle.ShowType = ShowType.MainNewTabPage;
this.View.ShowForm(showParam);

2.目标账表表单插件:

public override void OnInitialize(InitializeEventArgs e)
  {
    //接收源单传递的参数"FSelectId"
    string Fid = this.View.ParentFormView.OpenParameter.GetCustomParameter("FSelectId").ToString();
    this.SysReportModel.RptParams.CustomParams["Fid"] = Fid;
  }

”FSelectId”可以任意,但是源单目标单传参、接收参数,需对应

3.目标账表服务端插件获取参数:

filter.CustomParams.TryGetValue("Fid", out id);


赞 48