K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例

 BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮。

点击“打开单据”维护界面,
会跳转到一个新的主界面页签,【物料】新增

点击“打开列表”,会弹出【物料】列表界面

点击“打开动态表单”,会弹出动态表单,
这个打开动态表单界面是空的,一般动态表单都是要压入自定义参数值进去,或者从父界面获取需要的值。

点击“打开简单帐表”,会弹出简单帐表,

 点击“打开直接SQL帐表”,会弹出直接SQL帐表,
可以看到报错了,因为这个是所有【直接Sql帐表】的基对象,是不能直接使用的,我们开发的直接SQL帐表都是继承这个的,演示帐套里默认没有其他的直接SQL帐表,也就拿这个测试看下效果了。

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace ClassLibrary60.Business.PlugIn
{
    [Description("模型打开测试")]
    public class CustDynamicFormPlugIn : AbstractDynamicFormPlugIn
    {
        public override void ButtonClick(ButtonClickEventArgs e)
        {
            base.ButtonClick(e);
            if (e.Key.EndsWith("Bill", StringComparison.OrdinalIgnoreCase))
            {
                Kingdee.BOS.Core.Bill.BillShowParameter param = new Kingdee.BOS.Core.Bill.BillShowParameter();
                param.FormId = "BD_MATERIAL";//【物料】基础资料 业务对象标识,此处基础资料、单据类型都可以
                param.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;//打开方式,到主界面一个新的页签
                param.ParentPageId = this.View.PageId;//指定ParentPageId,可以实现打开的界面直接拿到父界面的数据 如this.View.ParentFormView.Model.DataObject
                this.View.ShowForm(param);
            }
            else if (e.Key.EndsWith("List", StringComparison.OrdinalIgnoreCase))
            {
                Kingdee.BOS.Core.List.ListShowParameter param = new Kingdee.BOS.Core.List.ListShowParameter();
                param.FormId = "BD_MATERIAL";// 【物料】基础资料 业务对象标识,此处基础资料、单据类型都可以
                this.View.ShowForm(param);
            }
            else if (e.Key.EndsWith("DynamicForm", StringComparison.OrdinalIgnoreCase))
            {
                Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter param = new Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter();
                param.FormId = "BD_QUERYAUXMATERIAL";//【查询辅助属性启用的物料】动态表单 业务对象标识,此处动态表单、基础资料、单据类型的都可以
                this.View.ShowForm(param);
            }
            else if (e.Key.EndsWith("SysReport", StringComparison.OrdinalIgnoreCase))
            {
                Kingdee.BOS.Core.Report.SysReportShowParameter param = new Kingdee.BOS.Core.Report.SysReportShowParameter();
                param.FormId = "GL_RPT_GeneralLedger";//简单账表 总分类账 此处简单账表、树形账表、分页账表、透视表类型的该都是可以的
                this.View.ShowForm(param);
            }
            else if (e.Key.EndsWith("SQLReport", StringComparison.OrdinalIgnoreCase))
            {
                Kingdee.BOS.Core.Report.SQLReportShowParameter param = new Kingdee.BOS.Core.Report.SQLReportShowParameter();
                param.FormId = "BOS_SQLReport";
                this.View.ShowForm(param);
            }
        }
    }
}

原文地址:https://www.cnblogs.com/zfangfang/p/9983109.html