求解:使用CreateNewEntryRow新增生产领料单分录不成功。
金蝶云社区-Nakupenda
Nakupenda
0人赞赏了该文章 772次浏览 未经作者许可,禁止转载编辑于2017年07月11日 12:20:10

环境:K/3 Cloud 6.2+K/3 Cloud_V6.X补丁(2017-04-21)
问题:在生产领料单中点击按钮,使用CreateNewEntryRow方法新增分录并赋值,但现在分录新增了但赋值不成功,连数量都赋不了值。
@JohnnyDing 可否帮忙看下?


源码如下:
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Green.MRP.Kingdee.Business.Service
{
[Description("生产领料单")]
public class SCLLD : AbstractBillPlugIn
{
public override void AfterBarItemClick(global::Kingdee.BOS.Core.DynamicForm.PlugIn.Args.AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
if (e.BarItemKey.Equals("tbButton") == true)
{
var FEntity = (DynamicObjectCollection)base.View.Model.DataObject["Entity"];//明细ORM实体名
int fc = FEntity.Count;
if (FEntity.Count > 0)
{
for (var i = 0; i < fc; i++)
{
#region 获取单据信息
object WLBM = this.View.Model.GetValue("FMaterialId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FMaterialId", i))["id"].ToString() : "";//物料编码
object DW = this.View.Model.GetValue("FUnitID", i) != null ? ((DynamicObject)this.View.Model.GetValue("FUnitID", i))["id"].ToString() : "";//单位
double SQSL = this.View.Model.GetValue("FAppQty", i) != null ? double.Parse(this.View.Model.GetValue("FAppQty", i).ToString()) : 0;//申请数量
object PH = this.View.Model.GetValue("FLot", i) != null ? ((DynamicObject)this.View.Model.GetValue("FLot", i))["id"].ToString() : "";//批号
object CJ = this.View.Model.GetValue("FEntryWorkShopId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FEntryWorkShopId", i))["id"].ToString() : "0";//车间
object YWLC = this.View.Model.GetValue("FBFLowId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FBFLowId", i))["id"].ToString() : "";//业务流程
object BGZLX = this.View.Model.GetValue("FKeeperTypeId", i) != null ? this.View.Model.GetValue("FKeeperTypeId", i) : "0";//保管者类型
object BGZ = this.View.Model.GetValue("FKeeperId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FKeeperId", i))["id"].ToString() : "";//保管者
object HZLX = this.View.Model.GetValue("FOwnerTypeId", i) != null ? this.View.Model.GetValue("FOwnerTypeId", i) : "0";//货主类型
object HZ = this.View.Model.GetValue("FOwnerId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FOwnerId", i))["id"].ToString() : "";//货主
object SCDDBH = this.View.Model.GetValue("FMoBillNo", i) != null ? this.View.Model.GetValue("FMoBillNo", i) : "";//生产订单编号
#endregion
object FStockId = this.View.Model.GetValue("FStockId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FStockId", i))["id"].ToString() : "";//保管者
object FStockLocId = this.View.Model.GetValue("FStockLocId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FStockLocId", i))["id"].ToString() : "";//货主类型
object FStockStatusId = this.View.Model.GetValue("FStockStatusId", i) != null ? ((DynamicObject)this.View.Model.GetValue("FStockStatusId", i))["id"].ToString() : "";//货主
object FLot = this.View.Model.GetValue("FLot", i) != null ? ((DynamicObject)this.View.Model.GetValue("FLot", i))["id"].ToString() : "";//货主类型

this.View.Model.CreateNewEntryRow("FEntity");//单据体标识
int Fcount = this.View.Model.GetEntryRowCount("FEntity");
this.View.Model.SetValue("FMaterialId", WLBM, Fcount);//物料编码
this.View.Model.SetValue("FUnitID", DW, Fcount);//单位
this.View.Model.SetValue("FAppQty", SQSL, Fcount);//申请数量
this.View.Model.SetValue("FActualQty", SQSL, Fcount);//实发数量
this.View.Model.SetValue("FStockId", FStockId, Fcount);//仓库
this.View.Model.SetValue("FStockLocId", FStockLocId, Fcount);//仓位
this.View.Model.SetValue("FStockStatusId", FStockStatusId, Fcount);//库存状态
this.View.Model.SetValue("FLot", FLot, Fcount);//批号

this.View.Model.SetValue("FStockUnitId", DW, Fcount);//主库存单位
this.View.Model.SetValue("FStockAppQty", SQSL, Fcount);//主库存单位申请数量
this.View.Model.SetValue("FStockActualQty", SQSL, Fcount);//主库存单位数量(主库存单位实发数量)
this.View.Model.SetValue("FSecUnitId", DW, Fcount);//辅库存单位
this.View.Model.SetValue("FSecActualQty", SQSL, Fcount);//辅库存单位实发数量
this.View.Model.SetValue("FBaseUnitId", DW, Fcount);//基本单位
this.View.Model.SetValue("FBaseAppQty", SQSL, Fcount);//基本单位申请数量
this.View.Model.SetValue("FBaseActualQty", SQSL, Fcount);//基本单位实发数量
this.View.Model.SetValue("FEntryWorkShopId", CJ, Fcount);//车间

this.View.Model.SetValue("FKeeperTypeId", BGZLX, Fcount);//保管者类型
this.View.Model.SetValue("FKeeperId", BGZ, Fcount);//保管者
this.View.Model.SetValue("FOwnerTypeId", HZLX, Fcount);//货主类型
this.View.Model.SetValue("FOwnerId", HZ, Fcount);//货主

this.View.Model.SetValue("FBFLowId", YWLC, Fcount);//业务流程
this.View.Model.SetValue("FMoBillNo", YWLC, Fcount);//生产订单编号
this.View.UpdateView("FEntity");
}
}
}
}
}
}