25.1、列表插件,批改,批量更新,物料属性批量修改1原创
金蝶云社区-林荫大道cc身份
林荫大道cc
17人赞赏了该文章 11973次浏览 未经作者许可,禁止转载编辑于2020年07月07日 12:27:10
封面

业务场景:销售出库单列表,点击批改按钮,物料属性批量修改




1、打开VS,新建一个类库,具体可以参考21.1 ,1-4步



1.1、

需要引用的dll
Kingdee.BOS.dll
Kingdee.BOS.App.dll
Kingdee.BOS.Core.dll
Kingdee.BOS.DataEntity.dll


使用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.Bos;
using Kingdee.BOS.Core.Bill.PlugIn;
using System.ComponentModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.App.Data;
using System.Data;



2、打开BOS,增加一个下拉列表字段,绑定枚举型,物料属性,修改标识和名称


image.png


image.png



image.png



3、新建,空白对象,普通动态表单; (弹出对话框,选择后,批改)



image.png




4、 同上增加下拉列表,修改标识和名字,枚举类型


image.png


4.1、添加文本字段,FID

image.png



5、编辑,批量编辑字段属性,增加工具条,增加批改按钮 YDIE_tbBatchUpdate

image.png




6、再增加一个按钮“关闭”YDIE_tbClose,添加点击事件,关闭


image.png


image.png



7、销售出库单列表,增加一个按钮 YDIE_tbBatchUpdate


image.png



8、


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.Bos;
using Kingdee.BOS.Core.Bill.PlugIn;
using System.ComponentModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.App.Data;
using System.Data;

namespace Kingdee.Bos.Update.List.Plugln
{
    [Description("批改")]
    
    [Kingdee.BOS.Util.HotUpdate]
    
    
    public class ClassName:AbstractListPlugIn
    {
        //点击按钮触发
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            
            if(e.BarItemKey.Equals("YDIE_tbBatchUpdate"))
            {
                //获取选择记录
                ListSelectedRowCollection selectRows = this.ListView.SelectedRowsInfo;
                
                //读取ID,放到数组
                string[] ID = selectRows.GetPrimaryKeyValues();
                string FID = "";
                
                //没有选择行提示
                if(ID.Length == 0)
                {
                    //如果选择的是0,即没有选择行记录,弹窗报错,返回
                    this.View.ShowMessage("请选择单据!", MessageBoxType.Notice);
                    return;
                }
                else 
                {
                    //如果点击成功,循环ID
                    for(int i =0;i< ID.Length;i++)
                    {
                        FID = FID + ID[i].ToString() + ",";
                    }
                    DynamicFormShowParameter formParameter = new DynamicFormShowParameter();
                    formParameter.FormId = "YDIE_SerRequestBatchUpdate";
                    //FID通过字符串传递过去
                    formParameter.CustomParams.Add("FID", FID.Substring(0, FID.Length - 1));
                    this.View.ShowForm(formParameter);
                }
            }
        }
    }
}


image.png



9、重新生成dll




10、最终效果,重新打开销售出库单列表,没有选择单据,点“批改”按钮,弹窗“请选择单据”


image.png


11、选中单据后,点“批改”按钮,弹窗,批改界面


image.png



总目录链接

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





赞 17