金蝶云星空C#插件,更新采购订单字段值


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.App;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using System.Data;

namespace xxxx.BusinessPlugIn
{
    /// 
    /// 单据插件
    /// 
    [Kingdee.BOS.Util.HotUpdate]
	[Description("计算")]
    public class XXXXXclass: AbstractBillPlugIn
    {

        public override void BarItemClick(BarItemClickEventArgs e)

        {
            base.BarItemClick(e);

            if (e.BarItemKey.Equals("UNW_tbButton_11"))   //界面按钮id
            {

                DynamicObject DataInfo = this.Model.DataObject as DynamicObject;
                //获取单据的ID
                string Fid = DataInfo["Id"].ToString();

                //获取单据体行数量,key为单据体标识,FPOOrderEntry:采购订单单据体-----this.Model.GetEntryRowCount(string key) 
                int FRow = this.View.Model.GetEntryRowCount("FPOOrderEntry");
                int iii = 0;

                for (int index = 0; index < FRow; index++)
                {
                    decimal FPrice = 0;
                    int EntryID = index + 1;
                    this.View.Model.SetEntryCurrentRowIndex("FEntity", index);  

                    string strSql = string.Format("/*dialect*/存储过程 {0},{1}", Fid, EntryID);  

                    DynamicObjectCollection objc = DBUtils.ExecuteDynamicObject(this.Context, strSql); 

                    if (objc != null && objc.Count > 0)  
                    {
                        string strPrice = objc[0]["price"].ToString(); 
                        FPrice = Convert.ToDecimal(strPrice);                        

                        if (FPrice > 0)
                        {
                            this.View.Model.SetItemValueByID("FTaxPrice", FPrice, index);     //赋值
                            this.View.InvokeFieldUpdateService("FTaxPrice", index);    //单据体刷新
                            iii = iii+ 1;
                        }
                    }


                }
                if (iii > 0)
                {
                    this.View.ShowMessage("操作成功");
                }
                else { this.View.ShowErrMessage("操作失败"); }

            }

        }

    }
}
posted @ 2026-08-13 14:23  虚拟过客之IT老男人  阅读(3)  评论(0)    收藏  举报