56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using ExtensionMethods;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
|
using Kingdee.BOS.Core.Metadata.FieldElement;
|
|
using Kingdee.BOS.Orm.DataEntity;
|
|
using Kingdee.BOS.Util;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace HUIWEI.PRD_MO
|
|
{
|
|
[Description("测试"), HotUpdate]
|
|
public class BillEventPlugInEx : AbstractDynamicFormPlugIn
|
|
{
|
|
private bool isNewData = false;
|
|
|
|
public override void BarItemClick(BarItemClickEventArgs e)
|
|
{
|
|
base.BarItemClick(e);
|
|
if (e.BarItemKey.Equals("tbSNew") || e.BarItemKey.Equals("tbNew"))
|
|
{
|
|
var openParameter = this.View.OpenParameter;
|
|
var customerParams = openParameter.GetCustomParameters();
|
|
var parameterData = this.View.Model.ParameterData;
|
|
var billTypeField = this.View.BillBusinessInfo.GetBillTypeField();
|
|
|
|
var infos = billTypeField.BillTypeInfo;
|
|
var info = (parameterData["BillTypeEntity"] as DynamicObjectCollection).FirstOrDefault(x => Convert.ToBoolean(x[4]));
|
|
|
|
if (info != null)
|
|
{
|
|
SetBillTypeDefValue(billTypeField, info[5].ToString());
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置单据类型默认值
|
|
/// </summary>
|
|
/// <param name="billTypeField"></param>
|
|
/// <param name="defBillTypeId"></param>
|
|
private void SetBillTypeDefValue(BillTypeField billTypeField, string defBillTypeId)
|
|
{
|
|
if (billTypeField != null && !string.IsNullOrWhiteSpace(defBillTypeId))
|
|
{
|
|
var billTypeObj = this.Model.LoadReferenceData(billTypeField.RefFormDynamicObjectType, defBillTypeId);
|
|
billTypeField.RefIDDynamicProperty.SetValue(this.Model.DataObject, defBillTypeId);
|
|
billTypeField.DynamicProperty.SetValue(this.Model.DataObject, billTypeObj);
|
|
}
|
|
}
|
|
}
|
|
}
|