111
This commit is contained in:
53
Pilot_KD_Parino/Common/BOSCommon.cs
Normal file
53
Pilot_KD_Parino/Common/BOSCommon.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using Kingdee.BOS;
|
||||
using Kingdee.BOS.Core.Metadata.FieldElement;
|
||||
using Kingdee.BOS.Orm;
|
||||
using Kingdee.BOS.Orm.DataEntity;
|
||||
using Kingdee.BOS.Orm.Metadata.DataEntity;
|
||||
using Kingdee.BOS.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Pilot_KD_Parino.Common
|
||||
{
|
||||
public static class BOSCommon
|
||||
{
|
||||
/// <summary>
|
||||
/// 给基础资料赋值
|
||||
/// </summary>
|
||||
/// <param name="ctx"></param>
|
||||
/// <param name="field"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <param name="value"></param>
|
||||
public static void SetBaseDataFieldValue(Context ctx, BaseDataField field, DynamicObject data, object value)
|
||||
{
|
||||
long result = 0L;
|
||||
long.TryParse(value.ToString(), out result);
|
||||
if ((value.ToString().Length > 1) || (result > 0L))
|
||||
{
|
||||
DynamicObject newValue = LoadReferenceData(ctx, field.RefFormDynamicObjectType, value);
|
||||
field.DynamicProperty.SetValue(data, newValue);
|
||||
field.RefIDDynamicProperty.SetValue(data, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
field.DynamicProperty.SetValue(data, null);
|
||||
field.RefIDDynamicProperty.SetValue(data, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public static DynamicObject LoadReferenceData(Context ctx, DynamicObjectType dt, object pkValue)
|
||||
{
|
||||
if (pkValue.IsEmptyPrimaryKey())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
OperateOption option = OperateOption.Create();
|
||||
option.SetThrowExceptionWhenNotFind(false);
|
||||
return Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(ctx, pkValue, dt, option);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user