标准报表模板打印二开示例(万能报表单据类报表打印供应商默认开户银行和账号)

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

标准报表模板打印二开示例(万能报表单据类报表打印供应商默认开户银行和账号)

需求:采购合同需要打印供应商默认开户银行和账号。

现状:如下图,因为供应商中银行信息是一个列表,万能报表中不支持列表的直接打印。

二开实现方式:

第一步:扩展下采购合同,新增两个文本字段,修改下名称,可见性设置成不可见。


第二步:“供应商”引用属性增加银行相关信息。


第三步:万能报表模板,要打印银行的地方绑定第一步里面新增的字段。


第四步:写插件给新增的两个字段赋值,OnPrepareDevPrintData方法为干预万能报表打印模板数据包的方法。


 第五步:插件编译成dll部署到服务器website/bin下面,重启IIS生效。


第六步:把插件挂到单据上面 


第七步:打印预览查看效果


over


插件代码示例:

using Kingdee.BOS.Core.Bill.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Orm.DataEntity;

using System.Data;


namespace BillPlugInTest

{

    public class DevPrintTest : AbstractBillPlugIn

    {

        public override void OnPrepareDevPrintData(PreparePrintDevDataEventArgs e)

        {

            DynamicObject billObj = this.Model.DataObject;

            // 首先获取各种元素的元数据

            BaseDataField fldSupplier = this.View.BillBusinessInfo.GetField("FSupplierId") as BaseDataField;

            //供应商

            DynamicObject fldSupplierValue = fldSupplier.DynamicProperty.GetValue(billObj) as DynamicObject;


            // 基础资料属性值(供应商)

            string supplierBankNo = "";

            string supplierBankName = "";

            if (fldSupplierValue != null)

            {

                DynamicObjectCollection SupplierBank = fldSupplierValue["SupplierBank"] as DynamicObjectCollection;

                foreach (DynamicObject dobj in SupplierBank)

                {

                    bool isDefault = (bool)dobj["isDefault"];

                    if (isDefault)

                    {

                        supplierBankNo = dobj["BankCode"].ToString();

                        supplierBankName = dobj["OpenBankName"].ToString();

                        break;

                    }

                }

            }

            DataTable dt = e.DataSource.Tables["T_PUR_CONTRACT"];

            if (dt.Rows.Count > 0)

            {

                dt.Rows[0]["F_PAEZ_Text"] = supplierBankName;

                dt.Rows[0]["F_PAEZ_Text1"] = supplierBankNo;

            }

            base.OnPrepareDevPrintData(e);

        }

    }

}


标准报表模板打印二开示例(万能报表单据类报表打印供应商默认开户银行和账号)

需求:采购合同需要打印供应商默认开户银行和账号。现状:如下图,因为供应商中银行信息是一个列表,万能报表中不支持列表的直接打印。二开...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息