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

套打二开.直接SQL账表每行分录显示一页并且自定义每页的序列号

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

套打二开.直接SQL账表每行分录显示一页并且自定义每页的序列号

【应用场景】

需要把直接sql账表的每行分录数据打印一页,并且每一页需要自定义一个序列号来显示,此案例序列号为:常量值+每行分录中的日期(格式yyyyMMdd)+自增流水号(格式001、002...)。


【注意事项】

该实现方案非最佳实践,仅限于特殊场景下的特殊应用。


【案例演示】

自主开发直接sql账表,新增一个命名为FNO的列,设置为不可见,用来做套打打印显示。


【实现步骤】

<1>在BOS设计器打开需要二开的直接SQL账表,打开数据源属性,为单据体添加一列命名为FNO。

 

<2>把FNO列设置为不可见。


<3>登录套打设计器,新建直接SQL账表的套打模板,模板上面拖一个文本控件,绑定账表的FNO字段,拖一个数据表格,数据表格的数据行分别绑定单据体需要显示的字段,并且把两行普通行设置为每页出现。再次选择数据行,设置属性为套打型,每页重复次数为1。保存套打模板。

<4>编写sql账表的表单插件代码,主要是干预套打数据包,把数据包中的FNO字段重新填充为自定义的值,编译插件,然后打开BOS设计器注册到对应的直接sql账表的表单插件属性。

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

namespace Kingdee.BOS.Printing.PlugIn.Test
{
    public class MySQLPrint : AbstractDynamicFormPlugIn
    {
        public override void OnPrepareNotePrintData(Core.DynamicForm.PlugIn.Args.PreparePrintDataEventArgs e)
        {
            base.OnPrepareNotePrintData(e);
            if (e.DataSourceId.Equals("FList"))
            {
                if (e.DataObjects != null && e.DataObjects[0].DynamicObjectType.Properties.ContainsKey("FNO"))
                {
                    for (int i = 0; i < e.DataObjects.Count(); i++)
                    {
         

套打二开.直接SQL账表每行分录显示一页并且自定义每页的序列号

【应用场景】需要把直接sql账表的每行分录数据打印一页,并且每一页需要自定义一个序列号来显示,此案例序列号为:常量值+每行分录中的日期...
点击下载文档文档为doc格式

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

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