public override void AfterConvert(Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args.AfterConvertEventArgs e) { base.AfterConvert(e); //设置采购部门 this.info = e.TargetBusinessInfo; Kingdee.K3.SCM.Contracts.ICommonService commonService = Kingdee.K3.SCM.Contracts.ServiceFactory.GetCommonService(base.Context); ExtendedDataEntity[] entityArray = e.Result.FindByEntityKey("FBillHead"); BaseDataField Deptfield = this.info.GetField("FPurchaseDeptId") as BaseDataField; if ((entityArray != null) && (entityArray.Length > 0)) { foreach (ExtendedDataEntity entity in entityArray) { DynamicObject dataEntity = entity.DataEntity; long num = Convert.ToInt64(dataEntity["PurchaseDeptId_id"]); long orgId = Convert.ToInt64(dataEntity["PurchaseOrgId_id"]); if (num <= 0L) { long num3 = commonService.GetUserOperatorId(base.Context, base.Context.UserId, orgId, "CGY"); long num4 = commonService.GetMyDepartment(base.Context, base.Context.UserId).FirstOrDefault <long>(); FieldUtils.SetBaseDataFieldValue(base.Context, Deptfield, dataEntity, num4); } } } }
private void SetDefaultExchange(AfterFieldMappingEventArgs e) { ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderFinance"); ICommonService commonService = ServiceFactory.GetCommonService(base.Context); foreach (ExtendedDataEntity entity in entityArray2) { ExtendedDataEntity entity2 = entityArray[entity.DataEntityIndex]; long num = Convert.ToInt64(entity2.DataEntity["SaleOrgId_Id"]); long num2 = 0; long num3 = 0; JSONObject defCurrencyAndExchangeTypeByBizOrgID = commonService.GetDefCurrencyAndExchangeTypeByBizOrgID(base.Context, num); if (defCurrencyAndExchangeTypeByBizOrgID != null) { num2 = Convert.ToInt64(defCurrencyAndExchangeTypeByBizOrgID["FCyForID"]); num3 = Convert.ToInt64(defCurrencyAndExchangeTypeByBizOrgID["FRateType"]); } BaseDataField field = e.TargetBusinessInfo.GetField("FExchangeTypeId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entity.DataEntity, num3); long num4 = Convert.ToInt64(entity.DataEntity["SettleCurrId_Id"]); DateTime time = Convert.ToDateTime(entityArray[entity.DataEntityIndex].DataEntity["Date"]); if ((num2 == num4) || (time == DateTime.MinValue)) { entity.DataEntity["ExchangeRate"] = 1; } else { KeyValuePair <decimal, int> pair = commonService.GetExchangeRateAndDecimal(base.Context, num4, num2, num3, time, time); entity.DataEntity["ExchangeRate"] = pair.Key; } } }
public void BuildF8(ExtensionItem extension) { BaseDataField propField = (BaseDataField)ObjectUtils.CreateCopy(modelF8Field); propField.DynamicProperty = null; propField.ChildrenFields.Clear(); propField.EntityKey = currEntityKey; propField.Entity = currEntity; if (propField.UpdateActions != null) { propField.UpdateActions.Clear(); } // 必改属性,涉及到数据的加载 propField.Key = extension.Key; propField.FieldName = extension.Key.ToUpperInvariant(); propField.PropertyName = extension.Key; propField.Name = new LocaleValue(extension.Name); propField.LookUpObject.FormId = extension.F8FormId; propField.LookUpObject.TableName = extension.F8TableName; FormMetadata materialMetada = MetaDataServiceHelper.Load(this.Context, extension.F8FormId) as FormMetadata; propField.RefFormDynamicObjectType = materialMetada.BusinessInfo.GetDynamicObjectType(); propField.TableName = extension.F8TableName; // propField.RefFormDynamicObjectType = new DynamicObjectType(extension.F8FormId); _currBusinessInfo.Add(propField); }
/// <summary> /// 给基础资料字段赋值 /// </summary> private void SetBaseDataValue(IViewService service, DynamicObject data, BaseDataField bdfield, long value, ref DynamicObject dyValue) { if (value == 0) { //bdfield.RefIDDynamicProperty.SetValue(data, 0); //bdfield.DynamicProperty.SetValue(data, null); dyValue = null; } else { if (dyValue == null) { dyValue = service.LoadSingle(this.Context, value, bdfield.RefFormDynamicObjectType); } if (dyValue != null) { bdfield.RefIDDynamicProperty.SetValue(data, value); bdfield.DynamicProperty.SetValue(data, dyValue); } else { bdfield.RefIDDynamicProperty.SetValue(data, 0); bdfield.DynamicProperty.SetValue(data, null); } } }
/// <summary> /// 赋值 /// </summary> /// <param name="businessinfo"></param> /// <param name="dataEntity"></param> /// <param name="ormFieldKey"></param> /// <param name="fieldKey"></param> /// <param name="value"></param> private void SetRountIdFiled(BusinessInfo businessinfo, DynamicObject dataEntity, string ormFieldKey, string fieldKey, object value) { DynamicObject orgFieldData = (DynamicObject)dataEntity[ormFieldKey]; if (orgFieldData == null) { BaseDataField baseField = businessinfo.GetField(fieldKey) as BaseDataField; SetBaseDataFieldValue(this.Context, baseField, dataEntity, value); } }
public static T FieldRefIdProperty <T>(this DynamicObject dataObject, BaseDataField field) { if (dataObject == null) { return(default(T)); } else if (typeof(T).IsValueType || typeof(T).Equals(typeof(string))) { return(field.RefIDDynamicProperty.GetValue(dataObject).ToChangeType <T>()); } else { return(field.RefIDDynamicProperty.GetValue(dataObject).ToType <T>()); } }
private void SetRelativeCodeByMaterialId(AfterFieldMappingEventArgs e) { ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); Kingdee.K3.SCM.Contracts.ICommonService service = Kingdee.K3.SCM.App.ServiceHelper.GetService <ICommonService>(); Dictionary <long, bool> dictionary = new Dictionary <long, bool>(); foreach (ExtendedDataEntity entity in entityArray) { if (!entity.DataEntity["MapId_Id"].IsNullOrEmptyOrWhiteSpace()) { continue; } bool flag = false; long key = Convert.ToInt64(entityArray2[entity.DataEntityIndex].DataEntity["SaleOrgId_Id"]); long num2 = Convert.ToInt64(entityArray2[entity.DataEntityIndex].DataEntity["CustId_Id"]); long num3 = Convert.ToInt64(entity.DataEntity["MaterialId_Id"]); if (!dictionary.ContainsKey(key)) { object obj2 = service.GetSystemProfile(base.Context, key, "SAL_SystemParameter", "UseCustMatMapping", false); flag = (obj2 != null) && Convert.ToBoolean(obj2); dictionary.Add(key, flag); } if (dictionary[key]) { List <CustomerMaterialResult> list = service.GetRelativeCodeByMaterial(base.Context, num3, num2, key); if (list.Count > 0) { string str = ""; foreach (CustomerMaterialResult result in list) { if (result.FCustId > 0) { str = result.Fid; break; } } if (str.IsNullOrEmptyOrWhiteSpace()) { str = list[0].Fid; } BaseDataField field = e.TargetBusinessInfo.GetField("FMapId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entity.DataEntity, str); } } } }
public void SetBaseDataFieldValue(Context ctx, BaseDataField field, DynamicObject data, object value) { long result = 0; long.TryParse(value.ToString(), out result); if ((value.ToString().Length > 1) || (result > 0)) { 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); } }
/// <summary> /// 最后触发:单据转换后事件 /// </summary> /// <param name="e"/> public override void AfterConvert(Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args.AfterConvertEventArgs e) { ExtendedDataEntity[] array = e.Result.FindByEntityKey("FBillHead"); foreach (ExtendedDataEntity extendedDataEntity in array) { long orgid = Convert.ToInt32(extendedDataEntity.DataEntity["FPAYORGID"]); DynamicObjectCollection dynamicObjectCollection = (extendedDataEntity.DataEntity["PAYBILLENTRY"] as DynamicObjectCollection); if (dynamicObjectCollection == null) { continue; } BaseDataField priceListDataField = e.TargetBusinessInfo.GetField("FPriceListId") as BaseDataField; foreach (DynamicObject dyentry in dynamicObjectCollection) { long materialid = Convert.ToInt32(dyentry["MaterialId_Id"]); List <long> lMaterList = new List <long>(); lMaterList.Add(materialid); DynamicObjectCollection bomDataCollection = CommonServiceHelper.GetAcctBookData(this.Context, orgid, materialid, materialid); DynamicObject listdObjects = null; if (bomDataCollection == null) { continue; } listdObjects = bomDataCollection.FirstOrDefault(); if (listdObjects != null) { decimal amount, Qty, Price; Qty = Convert.ToDecimal(dyentry["Qty"]); Price = Convert.ToDecimal(listdObjects["FPRICE"]); amount = Qty * Price; dyentry["Amount"] = amount; dyentry["Price"] = listdObjects["FPRICE"]; dyentry["TaxPrice"] = listdObjects["FPRICE"]; } } } }
public static T FieldRefProperty <T>(this DynamicObject dataObject, BaseDataField field, string keyName) { if (dataObject == null) { return(default(T)); } else if (typeof(T).Equals(typeof(DateTime?))) { return(field.GetRefPropertyValue2(dataObject, keyName) .Adaptive(datetime => datetime != null ? datetime.ToType <DateTime>() : default(DateTime?)) .ToType <T>()); } else if (typeof(T).IsValueType || typeof(T).Equals(typeof(string))) { return(field.GetRefPropertyValue2(dataObject, keyName).ToChangeType <T>()); } else { return(field.GetRefPropertyValue2(dataObject, keyName).ToType <T>()); } }
}//end method public static DynamicObject[] Mend(this IEnumerable <DynamicObject> dataObject, BaseDataField field, Func <object[], DynamicObject[]> loader, Func <DynamicObject, object> selector = null) { var ids = dataObject.Select(data => data.FieldRefIdProperty <object>(field)).Where(id => id != null).Distinct().ToArray(); var bag = ids.Any() ? loader(ids) : new DynamicObject[0]; return(dataObject.Join(bag, left => left.FieldRefIdProperty <object>(field), right => selector != null ? selector(right) : right.PkId(), (left, right) => { left[field.PropertyName] = right; return left; }).ToArray()); }
/// <summary> /// 审核结束自动下推(应付单下推付款申请单) /// </summary> /// <param name="e"></param> public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) { base.AfterExecuteOperationTransaction(e); try { string sql = string.Empty; if (e.DataEntitys != null && e.DataEntitys.Count <DynamicObject>() > 0) { foreach (DynamicObject item in e.DataEntitys) { //收款单id string Fid = item["Id"].ToString(); string sql2 = ""; //收款单源单明细 DynamicObjectCollection RECEIVEBILLSRCENTRYList = item["RECEIVEBILLSRCENTRY"] as DynamicObjectCollection; foreach (var entry in RECEIVEBILLSRCENTRYList) { //销售订单明细内码 string FORDERENTRYID = entry["FSRCORDERENTRYID"].ToString(); //本次收款金额 decimal FREALRECAMOUNT = Convert.ToDecimal(entry["REALRECAMOUNT"].ToString()); if (!string.IsNullOrEmpty(FORDERENTRYID)) { //查询采购订单 sql = string.Format(@"select a.FBILLNO,b.FENTRYID as 采购订单明细内码 ,f.F_YBG_BUSINESSMODEL as 业务模式 from t_PUR_POOrder a inner join t_PUR_POOrderEntry b on a.fID=b.FID inner join T_PUR_POORDERENTRY_LK c on c.FENTRYID=b.FENTRYID left join T_SAL_ORDERENTRY d on d.FENTRYID=c.FSID left join T_SAL_ORDER f on f.FID=d.FID where FSID='{0}'", FORDERENTRYID); DataSet ds = DBServiceHelper.ExecuteDataSet(this.Context, sql); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { string F_YBG_BUSINESSMODEL = dt.Rows[i]["采购订单明细内码"].ToString(); if (F_YBG_BUSINESSMODEL == "01" || F_YBG_BUSINESSMODEL == "04") //挂靠的采用自动生成付款申请单 { string POFENTRYID = dt.Rows[i]["采购订单明细内码"].ToString(); if (string.IsNullOrEmpty(sql2)) { sql2 += " FPAYABLEENTRYID='" + POFENTRYID + "' "; } else { sql2 += " or FPAYABLEENTRYID='" + POFENTRYID + "' "; } } } } } } if (!string.IsNullOrEmpty(sql2)) { #region 应付单下推付款申请单 string srcFormId = "AP_Payable"; //应付单 string destFormId = "CN_PAYAPPLY"; //付款申请单 IMetaDataService mService = Kingdee.BOS.App.ServiceHelper.GetService <IMetaDataService>(); IViewService vService = Kingdee.BOS.App.ServiceHelper.GetService <IViewService>(); FormMetadata destmeta = mService.Load(this.Context, destFormId) as FormMetadata; //转换规则的唯一标识 string ruleKey = "AP_PayableToPayApply"; //var rules = ConvertServiceHelper.GetConvertRules(Context, srcFormId, destFormId); //var rule = rules.FirstOrDefault(t => t.IsDefault); ConvertRuleElement rule = GetDefaultConvertRule(Context, srcFormId, destFormId, ruleKey); List <ListSelectedRow> lstRows = new List <ListSelectedRow>(); string strsql = "select a.FID , a.FENTRYID from T_AP_PAYABLEPLAN a left join T_AP_PAYABLE b on a.FID=b.FID where b.FDOCUMENTSTATUS='C' and (" + sql2 + ") "; DataSet ds2 = DBServiceHelper.ExecuteDataSet(Context, strsql); if (ds2.Tables[0].Rows.Count > 0) { HashSet <string> hasset = new HashSet <string>(); for (int j = 0; j < ds2.Tables[0].Rows.Count; j++) { hasset.Add(ds2.Tables[0].Rows[j]["FID"].ToString()); long entryId = Convert.ToInt64(ds2.Tables[0].Rows[j]["FENTRYID"]); //源单单据标识 ListSelectedRow row = new ListSelectedRow(ds2.Tables[0].Rows[j]["FID"].ToString(), entryId.ToString(), 0, "AP_Payable"); //源单单据体标识 row.EntryEntityKey = "FEntityPlan"; lstRows.Add(row); } PushArgs pargs = new PushArgs(rule, lstRows.ToArray()); IConvertService cvtService = Kingdee.BOS.App.ServiceHelper.GetService <IConvertService>(); OperateOption option = OperateOption.Create(); option.SetIgnoreWarning(true); option.SetVariableValue("ignoreTransaction", false); option.SetIgnoreInteractionFlag(true); #region 提交审核 //OperateOption option2 = OperateOption.Create(); //option2.SetIgnoreWarning(true); //option2.SetVariableValue("ignoreTransaction", true); //foreach (var hid in hasset) //{ // //如果应付单没有提交先提交审核 // IMetaDataService BomService = Kingdee.BOS.App.ServiceHelper.GetService<IMetaDataService>(); // //应付单元素包 // FormMetadata APMeta = BomService.Load(Context, "AP_Payable") as FormMetadata; // IViewService APVService = Kingdee.BOS.App.ServiceHelper.GetService<IViewService>(); // //应付单数据包 // DynamicObject APmd = APVService.LoadSingle(Context, hid, APMeta.BusinessInfo.GetDynamicObjectType()); // DynamicObject[] dy = new DynamicObject[] { APmd }; // object[] items = dy.Select(p => p["Id"]).ToArray(); // ISubmitService submitService = Kingdee.BOS.App.ServiceHelper.GetService<ISubmitService>(); // IOperationResult submitresult = submitService.Submit(Context, APMeta.BusinessInfo, items, "Submit", option2); // IAuditService auditService = Kingdee.BOS.App.ServiceHelper.GetService<IAuditService>(); // IOperationResult auditresult = auditService.Audit(Context, APMeta.BusinessInfo, items, option2); //} #endregion ConvertOperationResult cvtResult = cvtService.Push(Context, pargs, option, false); if (cvtResult.IsSuccess) { DynamicObject[] dylist = (from p in cvtResult.TargetDataEntities select p.DataEntity).ToArray(); //修改应收单里面数据 for (int K = 0; K < dylist.Length; K++) { //付款原因 dylist[K]["F_YBG_Remarks"] = "供应商付款"; //明细信息 DynamicObjectCollection RECEIVEBILLENTRYList = dylist[K]["FPAYAPPLYENTRY"] as DynamicObjectCollection; foreach (var Entry in RECEIVEBILLENTRYList) { //结算方式 BaseDataField FSETTLETYPEID = destmeta.BusinessInfo.GetField("FSETTLETYPEID") as BaseDataField; Entry["FSETTLETYPEID_Id"] = 4; Entry["FSETTLETYPEID"] = vService.LoadSingle(Context, 4, FSETTLETYPEID.RefFormDynamicObjectType); } } //保存 ISaveService saveService = Kingdee.BOS.App.ServiceHelper.GetService <ISaveService>(); IOperationResult saveresult = saveService.Save(Context, destmeta.BusinessInfo, dylist, option); bool reult = CheckResult(saveresult, out string mssg); if (!reult) { throw new Exception("收款款单审核成功,生成付款申请单失败:"); } else { //纪录核销的纪录 OperateResultCollection operateResults = saveresult.OperateResult; string fnmber = operateResults[0].Number; string fid = operateResults[0].PKValue.ToString(); } } } else { throw new KDException("", "应付单不存在或者未审核,下推付款申请单失败"); } #endregion } } } } catch (Exception ex) { throw new KDException("", "应付单下推付款申请单失败:" + ex.ToString()); } }
public override void OnAfterFieldMapping(AfterFieldMappingEventArgs e) { //base.OnAfterFieldMapping(e); double payplanamount = 0; ExtendedDataEntity[] entityArray = e.TargetExtendDataEntitySet.FindByEntityKey("FBillHead"); ExtendedDataEntity[] entityArray2 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderEntry"); ExtendedDataEntity[] entityArray3 = e.TargetExtendDataEntitySet.FindByEntityKey("FSaleOrderFinance"); foreach (ExtendedDataEntity entity in entityArray2) { Convert.ToInt64(entityArray[entity.DataEntityIndex].DataEntity["SaleOrgId_Id"]); object obj1 = entity.DataEntity["SrcType"]; object srcBillNo = entity.DataEntity["SrcBillNo"]; /*long num = (from p in this.custList * where p.OrderBillNo == Convert.ToString(srcBillNo) * select p.CustId).FirstOrDefault<long>();*/ long num = 137293; BaseDataField field = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field, entityArray[entity.DataEntityIndex].DataEntity, num); DynamicObject obj2 = entityArray[entity.DataEntityIndex].DataEntity["CustId"] as DynamicObject; long num2 = Convert.ToInt64(obj2["SETTLETYPEID_Id"]); BaseDataField field2 = e.TargetBusinessInfo.GetField("FSettleModeId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field2, entityArray3[entity.DataEntityIndex].DataEntity, num2); long num3 = Convert.ToInt64(obj2["RECCONDITIONID_Id"]); BaseDataField field3 = e.TargetBusinessInfo.GetField("FRecConditionId") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field3, entityArray3[entity.DataEntityIndex].DataEntity, num3); long num4 = (obj2 == null) ? 0 : Convert.ToInt64(obj2["Id"]); DynamicObject obj3 = null; payplanamount = payplanamount + (Convert.ToDouble(entity.DataEntity["BaseUnitQty"]) * Convert.ToDouble(entity.DataEntity["TaxPrice"])); if (num4 > 0L) { DynamicObjectCollection source = obj2["BD_CUSTCONTACT"] as DynamicObjectCollection; for (int i = source.Count <DynamicObject>() - 1; i >= 0; i--) { if (Convert.ToBoolean(source[i]["IsUsed"])) { obj3 = source[i]; if (Convert.ToBoolean(source[i]["IsDefaultConsignee"])) { break; } } } } long num6 = (obj3 == null) ? 0L : Convert.ToInt64(obj3["Id"]); BaseDataField field4 = e.TargetBusinessInfo.GetField("FHEADLOCID") as BaseDataField; FieldUtils.SetBaseDataFieldValue(base.Context, field4, entityArray[entity.DataEntityIndex].DataEntity, num6); DynamicObject obj4 = entityArray[entity.DataEntityIndex].DataEntity["HeadLocId"] as DynamicObject; if (obj4 != null) { entityArray[entity.DataEntityIndex].DataEntity["ReceiveAddress"] = obj4["ADDRESS"]; } } /*复制模板,增加付款计划*/ if (payplanamount > 0L) { FormMetadata SAL_SaleOrderForm = AppServiceContext.MetadataService.Load(this.Context, "SAL_SaleOrder") as FormMetadata; DynamicObject templateBillObj = AppServiceContext.ViewService.LoadWithCache(this.Context, new object[] { 130701 }, SAL_SaleOrderForm.BusinessInfo.GetDynamicObjectType(), true, null) .FirstOrDefault(); DynamicObjectCollection orderplan = entityArray[0].DataEntity["SaleOrderPlan"] as DynamicObjectCollection; //orderplan[0]["RecAdvanceRate"] = 59; //orderplan[0]["RecAdvanceAmount"] = 69; } this.SetDefaultExchange(e); this.SetRelativeCodeByMaterialId(e); }
public static DynamicObject Append(this DynamicObject dataObject, BaseDataField field, string keyName, Func <IEnumerable <DynamicObject>, DynamicObject[]> loader, Func <DynamicObject, object> selector = null) { return(new DynamicObject[] { dataObject }.Append(field, keyName, loader, selector).FirstOrDefault()); }
}//end method public static string BDName(this DynamicObject dataObject, BaseDataField field) { return(FieldRefProperty <string>(dataObject, field, field.NameProperty.Key)); }//end method
public DataFieldWrapper(BaseDataField dataField) { _dataField = dataField; }
}//end method public static DynamicObject[] Append(this IEnumerable <DynamicObject> dataObject, BaseDataField field, string keyName, Func <IEnumerable <DynamicObject>, DynamicObject[]> loader, Func <DynamicObject, object> selector = null) { var propertyName = field.RefProperties.Where(p => p.Key.EqualsIgnoreCase(keyName)).FirstOrDefault().PropertyName; return(Append(dataObject, propertyName, loader, selector)); }//end method
public static DynamicObject[] Mend(this IEnumerable <DynamicObject> dataObject, BaseDataField field, Func <DynamicObject, object> selfSelector, Func <DynamicObject, object> loadSelector, Func <object[], DynamicObject[]> loader) { var traits = dataObject.Select(data => selfSelector(data)).Where(item => item != null).Distinct().ToArray(); var bag = traits.Any() ? loader(traits) : new DynamicObject[0]; return(dataObject.Join(bag, left => selfSelector(left), right => loadSelector(right), (left, right) => { left[field.PropertyName] = right; return left; }).ToArray()); }
public override void CreateNewData(BizDataEventArgs e) { base.CreateNewData(e); DynamicObjectCollection coll = GetObjects(this.Context, initSql); DynamicObjectType dtType = this.View.BusinessInfo.GetDynamicObjectType(); EntryEntity entity = (EntryEntity)this.View.BusinessInfo.GetEntity("F_HS_Entity"); DynamicObject objData = new DynamicObject(dtType); DynamicObject entityObj = null; if (coll != null && coll.Count > 0) { int seq = 1; foreach (var item in coll) { if (item != null) { if (entity != null) { entityObj = new DynamicObject(entity.DynamicObjectType); entity.DynamicProperty.GetValue <DynamicObjectCollection>(objData).Add(entityObj); entityObj["seq"] = seq; //entityObj["F_HS_Customer_Id"] = Convert.ToInt32(SQLUtils.GetFieldValue(item, "F_HS_B2CCUSTID")); //this.View.Model.SetValue("F_HS_Customer", SQLUtils.GetFieldValue(item, "F_HS_B2CCUSTID"),seq); //this.View.Model.DataObject["F_HS_Customer_Id"] = SQLUtils.GetFieldValue(item, "F_HS_B2CCUSTID"); BaseDataField orgId = this.View.BillBusinessInfo.GetField("F_HS_UseOrgId") as BaseDataField; DynamicObject orgObj = Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(this.Context, SQLUtils.GetFieldValue(item, "F_HS_UseOrgId"), orgId.RefFormDynamicObjectType); entityObj["F_HS_UseOrgId"] = orgObj; BaseDataField cust = this.View.BillBusinessInfo.GetField("F_HS_Customer") as BaseDataField; DynamicObject bdObj = Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(this.Context, SQLUtils.GetFieldValue(item, "F_HS_B2CCUSTID"), cust.RefFormDynamicObjectType); entityObj["F_HS_Customer"] = bdObj; entityObj["F_HS_ChangeAmount"] = SQLUtils.GetFieldValue(item, "changedAmount"); entityObj["F_HS_ChangedType"] = GetChangeTypeDesc(SQLUtils.GetFieldValue(item, "changedType")); entityObj["F_HS_TradeType"] = SQLUtils.GetFieldValue(item, "F_HS_TradeType"); entityObj["F_HS_ChangedCause"] = GetChangeCauseDesc(SQLUtils.GetFieldValue(item, "changedCause")); entityObj["F_HS_BalanceAmount"] = SQLUtils.GetFieldValue(item, "balanceAmount"); entityObj["F_HS_RateToUSA"] = SQLUtils.GetFieldValue(item, "F_HS_RateToUSA"); entityObj["F_HS_SettleCurrId_Id"] = SQLUtils.GetFieldValue(item, "FSETTLECURRID"); //this.View.Model.SetValue("F_HS_SettleCurrId", SQLUtils.GetFieldValue(item, "FSETTLECURRID"), seq); //BaseDataField curr = this.View.BusinessInfo.GetField("F_HS_SettleCurrId") as BaseDataField; //curr.RefIDDynamicProperty.SetValue(this.View.Model.DataObject, SQLUtils.GetFieldValue(item, "FSETTLECURRID")); //this.View.Model.DataObject["F_HS_SettleCurrId_Id"] = SQLUtils.GetFieldValue(item, "FSETTLECURRID"); //this.Model.SetItemValueByID("F_HS_SettleCurrId", 7, seq); //this.View.UpdateView("F_HS_SettleCurrId",seq); BaseDataField curr = this.View.BillBusinessInfo.GetField("F_HS_SettleCurrId") as BaseDataField; DynamicObject cdObj = Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(this.Context, SQLUtils.GetFieldValue(item, "FSETTLECURRID"), curr.RefFormDynamicObjectType); entityObj["F_HS_SettleCurrId"] = cdObj; //BaseDataField fldCustomer = formMetadata.BusinessInfo.GetField("FMaterialId") as BaseDataField; //var materialObj = Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(this.Context, materialId, fldMaterial.RefFormDynamicObjectType); //fldMaterial.RefIDDynamicProperty.SetValue(dynamicRow, materialId); //fldMaterial.DynamicProperty.SetValue(dynamicRow, materialObj); entityObj["F_HS_ChangedAmountUSD"] = SQLUtils.GetFieldValue(item, "changedAmountUSA"); entityObj["F_HS_BalanceAmountUSD"] = SQLUtils.GetFieldValue(item, "balanceAmountUSA"); entityObj["F_HS_CNYBalance"] = SQLUtils.GetFieldValue(item, "F_HS_CNYBalance"); entityObj["F_HS_UpdateTime"] = SQLUtils.GetFieldValue(item, "updateTime"); BaseDataField user = this.View.BillBusinessInfo.GetField("F_HS_UpdateUser") as BaseDataField; DynamicObject udObj = Kingdee.BOS.ServiceHelper.BusinessDataServiceHelper.LoadSingle(this.Context, SQLUtils.GetFieldValue(item, "updateUser"), user.RefFormDynamicObjectType); entityObj["F_HS_UpdateUser"] = udObj; entityObj["F_HS_BillNo"] = SQLUtils.GetFieldValue(item, "FBillNo"); entityObj["F_HS_EntryId"] = SQLUtils.GetFieldValue(item, "fentryID"); entityObj["F_HS_NeedFreezed"] = SQLUtils.GetFieldValue(item, "needfreezed") == "1" ? true : false; entityObj["F_HS_Remark"] = SQLUtils.GetFieldValue(item, "remark"); seq++; } } } e.BizDataObject = objData; } }