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

移动附件V 7.5_下载篇

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

移动附件V 7.5_下载篇

一、概述: 

为清楚讲解移动附件的相关功能,这里将分为:控件介绍篇、上传篇、V7.5下载篇、V7.5删除篇、V7.5控制篇等5个篇幅。

本篇将详细介绍如下内容:

1. 附件控件、附件字段如何加载数据

2. 附件控件、附件字段如何下载附件

3. 通过指令下载指定的文件


二、适用版本:

适用于V 7.5及以上


三、移动附件下载的开发介绍 

3.1. V7.5前的版本,请参考:

https://vip.kingdee.com/article/150753


3.2. V7.5及以上版本的下载开发讲解:

3.2.1. 附件为PC端单据列表-》选项-》附件中的数据(包括单据头和单据体),可通过加载附件时给定FileId,就可以点击对应附件直接下载(注:不用像V6.X那样在加载页面时在临时目录中创建下载文件)

这里结合上一篇《移动附件_上传篇》,进行附件的加载和下载的插件开发。


涉及到的知识点包括:

(1)如何根据单据获取附件数据。

//获取附件数据,

// formId关联单据的formid

// interId关联单据的主键ID

// entryKey 关联的单据体标识,如果是关联单据头则为“ ”

// entryInterId 关联的单据体主键ID,如果是单据头则为 -1;

var condition = string.Format("FBILLTYPE = '{0}' AND FINTERID = '{1}' AND FENTRYKEY='{2}' AND FENTRYINTERID='{3}'",formId, interId, entryKey, entryInterId);

var filter = OQLFilter.CreateHeadEntityFilter(condition);

var attachments = BusinessDataServiceHelper.Load(this.Context, Kingdee.BOS.Core.FormIdConst.BOS_Attachment, null, filter); 


(2)如何组装数据。

var fileList = new List<Kingdee.BOS.Mobile.Metadata.ControlDataEntity.File>(); 

foreach (var dyn in attachments)

{

    var file = new Kingdee.BOS.Mobile.Metadata.ControlDataEntity.File()

    {

        FileID = dyn["Id"].ToString(),//下载的关键依据

        Name = dyn["AttachmentName"].ToString(),

        Type = dyn["ExtName"].ToString()

    };

    fileList.Add(file);

}

var imgData = new AccessoryData()

{

    FormId = formId,

    BillId = interId,

    Data = fileList

}; 

this.View.GetControl("F_PAEZ_FileUpdate").SetValue(imgData.ToJsonString());

//如果是附件字段,可以如下赋值

//this.View.Model.SetValue(“附件字段标识”,imgData.ToJsonString());


完整代码如下,供大家参考:

using System;

using System.Linq;

using System.Collections.Generic;

using Kingdee.BOS.Mobile.Metadata.ControlDataEntity;

using Kingdee.BOS.Util;

using Kingdee.BOS.Mobile.PlugIn.Args;

using Kingdee.BOS.Mobile.PlugIn.ControlModel;

using System.Web;

using Kingdee.BOS.Core.Metadata;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Core;

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.BOS.FileServer.Core;

using Kingdee.BOS.FileServer.ProxyService;

using Kingdee.BOS.FileServer.Core.Object;

using Kingdee.BOS.Mobile.Metadata;

using Kingdee.BOS.Orm;

using Kingdee.BOS.Core.DynamicForm;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Mobile.PlugIn;


namespace BOS.Debug.MobilePlugIn

{

    //

    /// <summary>

    /// 移动表单继承:AbstractMobilePlugin, 移动单据继承:AbstractMobileBillPlugin

    /// </summary>

    [System.ComponentModel.Description("移动单据表单插件--附件相关功能DEMO")]

    public class MobileBillPlugIn_AttachDemo : AbstractMobileBillPlugin

    { 

        public override void AfterBindData(EventArgs e)

        {

            LoadAttachments();

        }


         /// <summary>

        /// 加载附件

        /// </summary>

        private void LoadAttachments()

        {

            var formId = this.View.GetFormId(); //关联单据的formid

            var interI

移动附件V 7.5_下载篇

一、概述: 为清楚讲解移动附件的相关功能,这里将分为:控件介绍篇、上传篇、V7.5下载篇、V7.5删除篇、V7.5控制篇等5个篇幅。本篇将详细介...
点击下载文档文档为doc格式

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

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