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

【学习】创建简单账表

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

【学习】创建简单账表

创建简单账表模板

Snipaste_2023-10-10_15-32-10.webp

添加显示字段

image.webp

创建报表过滤页

Snipaste_2023-10-10_15-36-09.webp

添加过滤字段

下拉列表动态赋值

image.webp

简单账表关联过滤页

Snipaste_2023-10-10_15-39-01.webp

页面展示

image.webp

代码分享

using Kingdee.BOS;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace XueXi
{
    [Description("学习简单报表开发"), HotUpdate]
    public class Class5 : SysReportBaseService
    {
        public override void Initialize()
        {
            base.Initialize();
            //新增自定义报表 不需要由插件生成临时表
            this.IsCreateTempTableByPlugin = false;
            //继承的报表可以不添加
        }

        public override ReportTitles GetReportTitles(IRptParams filter)
        {
            //将报表过滤页面中的值放入报表头部显示
            ReportTitles reportTitles = new ReportTitles();
            DynamicObject customFilter = filter.FilterParameter.CustomFilter;
            if (customFilter != null)
            {
                //获取报表过滤页面的值 标识为过滤页面中字段标识 
                //三目运算 如果取值为空在进行转换时会报错
                string FBILLNO = customFilter["F_VVHD_Text"] == null ? string.Empty : customFilter["F_VVHD_Text"].ToString();
                string FSupplierId= customFilter["F_VVHD_MulCombo"] == null ? string.Empty : customFilter["F_VVHD_MulCombo"].ToString();
                //日期时间如果给一个默认值则不需要判断
                string FDATE = customFilter["F_VVHD_Date"].ToString();
                string FDATE1 = customFilter["F_VVHD_Date1"].ToString();

                //这里是报表页面的标识
                reportTitles.AddTitle("F_VVHD_Text", FBILLNO);
                reportTitles.AddTitle("F_VVHD_Text1", FSupplierId);
                reportTitles.AddTitle("F_VVHD_Date", FDATE);
                reportTitles.AddTitle("F_VVHD_Date1", FDATE1);
            }
            return reportTitles;
        }

        public override ReportHeader GetReportHeaders(IRptParams filter)
        {
            //报表的列 
            //AddChild("SQL字段名称", new LocaleValue("显示的名称", this.Context.UserLocale.LCID), SqlStorageType.字段的类型);

            ReportHeader header = new ReportHeader();
            header.AddChild("FBILLNO", new LocaleValue("单据编号", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
            header.AddChild("FDate", new LocaleValue("单据日期", this.Context.UserLocale.LCID), SqlStorageType.SqlDatetime);
            header.AddChild("FSUPPLIERID", new LocaleValue("供应商", this.Context.UserLocale.LCID), SqlStorageType.Sqlvarchar);
            return header;
        }

        //下面为SQL拼接
        protected override string BuilderSelectFieldSQL(IRptParams filter)
        {
            //拼接查询
            #region.当前SQL
            //*dialect*/select *  into 临时表名
            #endregion
            string sqlstr = "/*dialect*/select *";
            return sqlstr;
        }

        protected override string BuilderTempTableOrderBySQL(IRptParams filter)
        {
            //拼接排序
            #region.当前SQL
            //*dialect*/select * , ROW_NUMBER() OVER(ORDER BY FDate desc) 字段名[FIDENTITYID]  into 临时表名
            #endregion
            string OrderBy = "";
            //排序
            string datasort = Convert.ToString(filter.FilterParameter.SortString);
            if (datasort != "")
            {
                OrderBy = datasort;
            }
            else
            {
                OrderBy = "FD

【学习】创建简单账表

创建简单账表模板添加显示字段创建报表过滤页添加过滤字段下拉列表动态赋值简单账表关联过滤页页面展示代码分享using Kingdee.BOS;using Ki...
点击下载文档文档为doc格式

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

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