二开案例.多选附件(文件服务)字段,只允许新增,不能删除原创
金蝶云社区-齐111
齐111
4人赞赏了该文章 114次浏览 未经作者许可,禁止转载编辑于2024年09月27日 14:44:01
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System.Linq;

namespace Test202409
{
    [Kingdee.BOS.Util.HotUpdate]
    public class 附件只能新增不能删除 : AbstractBillPlugIn
    {
        public override void DataChanged(DataChangedEventArgs e)
        {
            if (e.Key.Equals("F_UNW_Attachments_qtr"))
            {
                var oldFileInfos = JsonUtil.DeserializeObject<FileInfo[]>(e.OldValue.ToString());
                var newFileInfos = JsonUtil.DeserializeObject<FileInfo[]>(e.NewValue.ToString());

                if (oldFileInfos.Any(of => !newFileInfos.Select(nf => nf.ServerFileName).Contains(of.ServerFileName)))
                {
                    this.View.Model.SetValue("F_UNW_Attachments_qtr", e.OldValue);
                    this.View.ShowErrMessage("不允许删除附件");
                }

            }
        }
    }

    public class FileInfo
    {
        public string FileName { get; set; }
        public string ServerFileName { get; set; }
        public int FileLength { get; set; }
        public int FileBytesLength { get; set; }
    }
}


image.png

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