报表表头增加一个文本框,每次打印时候,可以手动输入内容并打印出来原创
金蝶云社区-王文亮
王文亮
6人赞赏了该文章 730次浏览 未经作者许可,禁止转载编辑于2021年05月10日 11:14:05

需求场景:

报表表头增加一个文本框,每次打印时候,可以手动输入内容并打印出来。

实现步骤:

1. 扩展报表拖一个文本控件到表头,并记录下来标识,比如本示例中文本控件标识为“F_wwl_Text"

image.png

2. 写报表表单插件,示例代码如下,其中F_wwl_Text为步骤1中新增文本控件的标识。


using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace PrintPlugInTest
{
    public class ReportPrintPlugin : Kingdee.BOS.Core.Report.PlugIn.AbstractSysReportPlugIn
    {
        public override void OnPrepareNotePrintData(PreparePrintDataEventArgs e)
        {
            if (e.DataSourceId.Equals("FBillHead", StringComparison.OrdinalIgnoreCase))
            {
                if (this.Model.GetValue("F_wwl_Text") != null)
                {
                    //修改一般字段值
                    if (e.DynamicObjectType.Properties.ContainsKey("F_wwl_Text"))
                    {
                        var text = this.Model.GetValue("F_wwl_Text").ToString();
                        e.DataObjects[0]["F_wwl_Text"] = text;
                    }
                }
            }

            base.OnPrepareNotePrintData(e);
        }

    }
}

3.  将插件挂到报表表单插件上,这里直接使用C#插件转Python工具将上面C#代码转成Pyhton了,工具下载链接https://vip.kingdee.com/article/113227881039051264

image.png

4.套打模板上绑定新增的文本字段

image.png

5.打印预览

image.png

图标赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!