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

二开案例.账表.预览附件文件

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

二开案例.账表.预览附件文件

**【应用场景】** 账表中显示单据附件,双击对应列的时候,预览单据附件。 **【案例演示】** <1>编写账表服务插件,查询单据关联的附件,代码如下。 ``` csharp using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Util; using System.Collections.Generic; using System.ComponentModel; namespace Kingdee.BOS.PlugInTest { [Description("【账表服务器插件】附件报表"), HotUpdate] public class AttachmentReportService : SysReportBaseService { /// <summary> /// 插件初始化 /// </summary> public override void Initialize() { base.Initialize(); // 简单账表类型:普通、树形、分页 this.ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL; // 报表名称 this.ReportProperty.ReportName = new LocaleValue("附件报表", base.Context.UserLocale.LCID); // 是否由插件创建临时表 this.IsCreateTempTableByPlugin = true; // 报表列是否通过UI设计 this.ReportProperty.IsUIDesignerColumns = false; // 报表是否支持分组汇总 this.ReportProperty.IsGroupSummary = true; // 是否锁定表格列 this.ReportProperty.SimpleAllCols = false; // 报表是否默认只现实合计和明细数据 this.ReportProperty.IsDefaultOnlyDspSumAndDetailData = true; } /// <summary> /// 获取报表列头 /// </summary> /// <param name="filter"></param> /// <returns></returns> public override ReportHeader GetReportHeaders(IRptParams filter) { ReportHeader header = base.GetReportHeaders(filter); header.AddChild("FID", new LocaleValue("单据内码")); header.AddChild("FBILLNO", new LocaleValue("单据编号")); header.AddChild("FATTACHID", new LocaleValue("附件内码")); header.AddChild("FATTACHMENTNAME", new LocaleValue("附件名称")); header.AddChild("FATTACHMENTSIZE", new LocaleValue("附件大小")); header.AddChild("FFILEID", new LocaleValue("文件内码")); return header; } /// <summary> /// 构建报表SQL和临时表 /// </summary> /// <param name="filter"></param> /// <param name="tableName"></param> public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) { base.BuilderReportSqlAndTempTable(filter, tableName); // 取数SQL string sql = string.Format(@"/*dialect*/ select ROW_NUMBER() over (order by FID) as FIDENTITYID, * into {0} from ( select bill.FID, bill.FBILLNO, att.FID as FATTACHID, att.FATTACHMENTNAME, att.FATTACHMENTSIZE, att.FFILEID from t_PUR_POOrder bill inner join T_BAS_ATTACHMENT att on att.FINTERID=CONVERT(varchar(50), bill.FID) and att.FBILLTYPE='PUR_PurchaseOrder' where att.FFILEID is not null ) T", tableName); DBUtils.ExecuteDynamicObject(this.Context, sql); } } } ``` <2>编写账表表单插件,用于预览文件,代码如下。 ``` csharp using Kingdee.BOS.Core; using Kingdee.BOS.Core.Bill; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.Report.PlugIn.Args; using Kingdee.BOS.JSON; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.ServiceHelper.FileServer; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Web; namespace Kingdee.BOS.PlugInTest { /// <summary> /// 【账表表单插件】附件账表表单插件 /// </summary> [Description("【账表表单插件】附件账表表单插件"), HotUpdate] public class AttachmentSysReportPlugIn : AbstractSysReportPlugIn { /// <summary> /// 附件数据包字典 /// </summary> private Dictionary<string, DynamicObject> attachDic = new Dictionary<string, DynamicObject>(StringComparer.OrdinalIgnoreCase); public override void CellDbClick(CellEventArgs Args

二开案例.账表.预览附件文件

**【应用场景】** 账表中显示单据附件,双击对应列的时候,预览单据附件。**【案例演示】** <1>编写账表服务插件,查询单据关联...
点击下载文档文档为doc格式

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

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