文件服务.二开案例.不同单据分别控制允许上传的附件大小

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

文件服务.二开案例.不同单据分别控制允许上传的附件大小

1、应用场景:

    单据上传附件,可以通过附件字段或是附件列表,前者附件字段的属性有“文件最大大小(单位KB)”属性,我们可以直接通过设计器进行配置,小于等于0时代表不做限制。不同单据拖各自的附件字段,可以实现分别控制附件允许上传的最大大小。

 

    但是如果是通过附件菜单打开附件列表这种方式,该如何控制呢?如下图我们可以看到附件上传界面的附件控件(历史版本叫文件上传)也有“文件最大大小(单位KB)”属性,但是因为所有的单据共用一个上传界面,所以这里改了会影响所有单据。

    如果用户希望实现附件列表上传附件,不同单据分别控制允许上传的最大大小,可参照如下案例:

 

2、案例演示:

    本案例将演示币别跟采购订单上传附件分别控制允许上传的最大大小,币别设置允许上传最大大小为10KB,采购订单设置允许上传最大大小为20KB,下图为实现后的效果:

 

3、实现步骤:

3.1、编写表单插件代码

using System;
using System.ComponentModel;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Util;
 
namespace Running.Sample.PlugIn.BusinessPlugIn.Bill
{
    [Description("不同单据分别控制允许上传附件最大大小"), HotUpdate]
    public class P20210107FileUpdateMaxSizeEdit : AbstractBillPlugIn
    {
        public override void AfterBindData(EventArgs e)
        {
            //判断业务单据视图不为NULL,并获取FormId。
            if (this.View.ParentFormView.ParentFormView == null)
            {
                return;
            }
            string formId = this.View.ParentFormView.ParentFormView.GetFormId();
 
            //控制币别允许上传文件最大大小为10KB。
            if (formId.EqualsIgnoreCase("BD_Currency"))
            {
                this.View.GetControl("FileUpdate").SetCustomPropertyValue("MaxFileLength", 10);
            }
            //控制采购订单允许上传文件最大大小为20KB。
            else if (formId.EqualsIgnoreCase("PUR_PurchaseOrder"))
            {
                this.View.GetControl("FileUpdate").SetCustomPropertyValue("MaxFileLength", 20);
            }
        }
    }
}

 

3.2、扩展附件明细并注册表单插件


文件服务.二开案例.不同单据分别控制允许上传的附件大小

1、应用场景: 单据上传附件,可以通过附件字段或是附件列表,前者附件字段的属性有“文件最大大小(单位KB)”属性,我们可以直接通过设...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息