DynamicObject的应用原创
金蝶云社区-Lymtoo
Lymtoo
57人赞赏了该文章 1,119次浏览 未经作者许可,禁止转载编辑于2023年09月25日 11:42:16

//单据的数据包

DynamicObject billObj = this.Model.DataObject;

// 读取单据内码

long billId = Convert.ToInt64(billObj[0]);

// 普通文本字段(读取 + 设置)

string fldBillNoValue = Convert.ToString(billObj["BillNo"]);

billObj["BillNo"] = fldBillNoValue ;

// 日期字段(读取 + 设置)

DateTime fldDateValue = Convert.ToDateTime(billObj["F_JD_Date"]);

billObj["F_JD_Date"] = fldDateValue;

// 基础资料字段(读取 + 设置)

DynamicObject fldSupplierValue = billObj["F_JD_Supplier"] as DynamicObject;

billObj["F_JD_Supplier"] = fldSupplierValue 

;if (fldSupplierValue != null){

   billObj["F_JD_Supplier_Id"] = Convert.ToInt64(fldSupplierValue[0]);  

  long supplierId = Convert.ToInt64(fldSupplierValue[0]);    

  string supplierNumber = fldSupplierValue["Number"].ToString();   

 string supplierName = fldSupplierValue["Name"].ToString();

}



DynamicObject billObj = this.Model.DataObject;

// 获取各种元素的元数据

Field fldBillNo = this.View.BillBusinessInfo.GetField("FBillNo");

BaseDataField fldMaterial = this.View.BillBusinessInfo.GetField("F_JD_FMaterialId") as  BaseDataField


sql 查询构造DynamicObject

      private DynamicObject GetBalance(Context ctx, int FOrgId)

        {

            string sql = string.Format(@"   /*dialect*/   ", FOrgId,);

            DynamicObjectCollection balances = DBUtils.ExecuteDynamicObject(ctx, sql);

            return balances.Count > 0 ? balances[0] : null;

        }


       DynamicObject balance = GetBalance(ctx, FOrgId, FDeptId, FDeliveryOrgID);

                    if (balance != null)

                    {

                        decimal FTotalAmount = Convert.ToDecimal(balance["FTOTALAMOUNT"]);

                    }


图标赞 57
57人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0