金蝶云星空开发,选择物料后返回数据触发
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Core.Metadata.FieldElement;
namespace kdplugin
{
[HotUpdate]
public class Class1 : AbstractDynamicFormPlugIn
{
#region 选择物料后返回
public override void AfterF7Select(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.AfterF7SelectEventArgs e)
{
base.AfterF7Select(e);
if (e.FieldKey.EqualsIgnoreCase("FMaterialId"))
{
var selectRows = e.SelectRows;
var pks = selectRows.Select(o => o.PrimaryKeyValue).ToArray();
var ap = this.View.LayoutInfo.GetFieldAppearance(e.FieldKey);
var objs = BusinessDataServiceHelper.LoadFromCache(this.Context, pks, ((ILookUpField)ap.Field).RefFormDynamicObjectType);
var rowIndex = e.Row;
string ff = "";
for (var i = 0; i < objs.Length; i++)
{
// 根据F8返回的数据行数,逐行填充
string number = objs[i]["Number"].ToString();
if (number.Substring(0, 3) == "12.")
{
this.View.Model.SetValue("FQTY", (rowIndex * 55).ToString(), rowIndex);
}
else
{
this.View.Model.SetValue("FQTY", rowIndex.ToString(), rowIndex);
}
this.View.UpdateView("FQTY", rowIndex);
rowIndex++;
ff = rowIndex.ToString() + "_" + ff;
}
this.View.ShowMessage(ff);
}
}
#endregion
}
}