关于简单生产入库单的集成
金蝶云社区-羚羊
羚羊
0人赞赏了该文章 1,196次浏览 未经作者许可,禁止转载编辑于2015年02月26日 20:52:59

根据论坛中的帖子(SIbetaTest),我对蓝海机械账套,做了“员工”的集成,是可以的,但在做简单生产入库单集成时,使用SP_InStock_Save服务,单据没有生成(跟踪发现ret的message中提示,“第1行分录,实收数量须大于0!”,但是,frealQty=88已经赋值了啊),
我估计还有一些必须填写的字段,没有填写!麻烦高手帮我一起看一下!另外,请问“货主类型”及“货主”字段如何赋值?
我写的代码如下:
public void SP_InStockBill_Save()
{
try
{
ServiceConfig.URL = @"http://127.0.0.1/SI/";
var user = new KDUser()
{
AccountId = "",
UserName = "demo",
Password = "888888"
};
using (var client = new KDServiceClient(user, ServiceConfig.URL))
{

SP_InStock_Save bill = new SP_InStock_Save();
//PUR_ReceiveBill_Save bill = new PUR_ReceiveBill_Save();
bill.Model = new SP_InStock();
bill.Model.FPrdOrgId = new SP_InStock_ORG_Organizations() { FNUMBER = "101.2" };
bill.Model.FStockOrgId = new SP_InStock_ORG_Organizations() { FNUMBER = "101.2" };
bill.Model.FOwnerTypeId0 = new ????;
//bill.Model.FOwnerId0 = new { FNUMBER = "101.2" };
//bill.Model.FCreateDate = new
bill.Model.FBillType = new SP_InStock_BOS_BillType();
bill.Model.FBillType.FNumber = "JDSCRK01_SYS";
List list = new List();
//// 收料单分录行1
SP_InStock__FEntity entry = new SP_InStock__FEntity();
entry.FMaterialId = new SP_InStock_BD_MATERIAL();
entry.FMaterialId.FNumber = "1.01.003.0066";
entry.FUnitID = new SP_InStock_BD_UNIT();
entry.FUnitID.FNumber = "Pcs"; entry.FMustQty = 88;
entry.FRealQty = 88;
entry.FBaseRealQty = 88;
entry.FStockId = new SP_InStock_BD_STOCK() { FNumber = "CK001" }; //= new PUR_ReceiveBill_BD_NEWSTAFF() { FStaffNumber = "YZWH017" };
entry.FStockStatusId = new SP_InStock_BD_StockStatus();
entry.FStockStatusId.FNumber = "KCZT01_SYS";
entry.FWorkShopId1 = new SP_InStock_BD_Department() { FNumber = "BM000001" };
//entry.FWorkShopId1 = new SP_InStock_BD_WAREHOUSEWORKERS();
//entry.FIsReceiveUpdateStock = true;
list.Add(entry);
//// 表体赋值
bill.Model.SP_InStock__FEntity = list.ToArray();
//// 其他参数
//bill.Parameters = "如果服务操作插件需要接受其他参数,可以在这里传入";
var ret = client.Send(bill);
this.textBox1.Text = string.Format("简单入库单保存成功");
}
}
catch (Exception ex)
{
throw ex;
}
}