通过表单插件复制物料

using Kingdee.BOS;
using Kingdee.BOS.App.Core.Utils;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.Util;
using Kingdee.BOS.Util;
using Kingdee.BOS.Web.Bill;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace EXT.Business.PlugIn
{
[Description("物料复制表单插件"), HotUpdate]
public class TestCopyMaterial : AbstractBillPlugIn
{
public override void EntryBarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
{
base.EntryBarItemClick(e);
//if条件判断,当点击复制物料这个按钮时候触发
if (e.BarItemKey == "tbCopyMaterial")
{
string EntityKey = "FTreeEntity";
//选中行索引
var eRow = this.Model.GetEntryCurrentRowIndex(EntityKey);
//实体对象
var entity = this.View.BillBusinessInfo.GetEntity(EntityKey);
//获取选中行数据
var thisRowentity = this.Model.GetEntityDataObject(entity, eRow);
long materialId = thisRowentity.GetDynamicObjectItemValue<long>("MATERIALIDCHILD_Id");
var billView = CreateBillView(this.Context, "BD_MATERIAL", null, null);
billView.Model.Copy(materialId);
//根据自己逻辑调整
billView.Model.SetValue("FNumber", "Test0001");
billView.Model.Save();
var resSubmit = billView.InvokeFormOperation("Submit");
var resAudit = billView.InvokeFormOperation("Audit");
if (resAudit)
{
this.View.ShowMessage("创建物料成功");
}
else
{
this.View.ShowErrMessage("创建物料失败");
}
}
}
/// <summary>
/// 创建单据视图
/// </summary>
/// <param name="ctx"></param>
/// <param name="formId">单据唯一标识</param>
/// <param name="layoutId"></param>
/// <param name="pkId">单据主键内码FID</param>
/// <returns></re
通过表单插件复制物料
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



