|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
U8EnvContext envContext = new U8EnvContext();
envContext.U8Login = u8Login;
envContext.SetApiContext("VoucherType", 9); //上下文数据类型:int,含义:单据类型:9
U8ApiAddress myApiAddress = new U8ApiAddress("U8API/Consignment/Save");
U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext);
BusinessObject DomHead = broker.GetBoParam("DomHead");
DomHead.RowCount = 1; //设置BO对象(表头)行数,只能为一行
#region DomHead
///****************************** 以下是必输字段 ****************************/
#region 必填字段
DomHead[0]["dlid"] = "1"; //主关键字段,int类型
DomHead[0]["cdlcode"] = "1"; //发货单号,string类型
DomHead[0]["cmaker"] = u8Login.cUserName; //制单人,string类型
DomHead[0]["iexchrate"] = ds.Tables[0].Rows[0]["iExchRate"].ToString(); //汇率,double类型
DomHead[0]["breturnflag"] = 0; //退货标识,string类型
DomHead[0]["cexch_name"] = ds.Tables[0].Rows[0]["cexch_name"].ToString(); //币种,string类型
DomHead[0]["ccuscode"] = ds.Tables[0].Rows[0]["ccuscode"].ToString(); //客户编码,string类型
DomHead[0]["cdepcode"] = ds.Tables[0].Rows[0]["cdepcode"].ToString(); //部门编码,string类型
BusinessObject domBody = broker.GetBoParam("domBody");
domBody.RowCount = 1; //设置BO对象行数
domBody[0]["idlsid"] = ds.Tables[1].Rows["idlsid"]; //主关键字段,0类型
domBody[0]["cinvname"] = ds.Tables[1].Rows["cinvname"]; //存货名称,string类型
domBody[0]["cinvcode"] = ds.Tables[1].Rows["cinvcode"]; //存货编码,string类型
domBody[0]["iquantity"] = ds.Tables[1].Rows["iquantity"]; //数量,double类型
domBody[0]["cmemo"] = ds.Tables[1].Rows["cmemo"]; //备注,string类型
domBody[0]["cinvouchtype"] = ds.Tables[1].Rows["cinvouchtype"]; //cinvouchtype,string类型
domBody[0]["dkeepdate"] = ds.Tables[1].Rows["dkeepdate"]; //记账日期,string类型
domBody[0]["cscloser"] = ds.Tables[1].Rows["cscloser"]; //行关闭人,string类型
domBody[0]["bsaleprice"] = ds.Tables[1].Rows["bsaleprice"]; //报价含税,string类型
domBody[0]["bgift"] = ds.Tables[1].Rows["bgift"]; //赠品,string类型
domBody[0]["autoid2"] = 1; //序列号行号,string类型
domBody[0]["cvencode"] = ds.Tables[1].Rows["cvencode"]; //入库单供应商编码,string类型
domBody[0]["irowno"] = 1; //行号,string类型
domBody[0]["snlist"] = 1; //序列号,string类型
domBody[0]["cunitid"] = ds.Tables[1].Rows["cunitid"]; //销售单位编码,string类型
domBody[0]["cfree1"] = ds.Tables[1].Rows["cfree1"]; //自由项1,string类型
domBody[0]["cfree2"] = ds.Tables[1].Rows["cfree2"]; //自由项2,string类型
domBody[0]["cwhcode"] = ds.Tables[1].Rows["cwhcode"]; //仓库编码,string类型
domBody["imassdate"] = ds.Tables[1].Rows["imassdate"]; //保质期,int类型
domBody["cmassunit"] = ds.Tables[1].Rows["cmassunit"]; //保质期单位,int类型
domBody["bqaneedcheck"] = ds.Tables[1].Rows["bqaneedcheck"]; //是否质量检验,int类型
domBody["bqaurgency"] = ds.Tables[1].Rows["bqaurgency"]; //是否急料,int类型
domBody["bqachecking"] = ds.Tables[1].Rows["bqachecking"]; //是否在检,int类型
domBody["bqachecked"] = ds.Tables[1].Rows["bqachecked"]; //是否报检,int类型
domBody[0]["editprop"] = "A"; //编辑属性:A表新增,M表修改,D表删除,string类型
domBody[0]["fstockquano"] = ""; //现存件数,string类型
domBody[0]["fcanusequano"] = ""; //可用件数,string类型
domBody[0]["taskguid"] = ""; //退货申请单id,string类型
domBody[0]["crelacusname"] = ""; //责任客户名称,string类型
domBody[0]["creasonname"] = ""; //退货原因,string类型
domBody[0]["bserial"] = ""; //序列号管理,string类型
domBody[0]["binvmodel"] = ""; //是否模型件,string类型
domBody[0]["btracksalebill"] = ""; //PE跟单,string类型
domBody[0]["fcanusequan"] = ""; //可用量,string类型
domBody[0]["fstockquan"] = ""; //现存量,string类型
domBody[0]["cgroupcode"] = "002"; //计量单位组,string类型
domBody[0]["igrouptype"] = Convert.ToUInt32("2"); //单位类型,uint类型
//给普通参数VoucherState赋值。此参数的数据类型为int,此参数按值传递,表示状态:0增加;1修改
broker.AssignNormalValue("VoucherState", 0);
//该参数vNewID为INOUT型普通参数。此参数的数据类型为string,此参数按值传递。在API调用返回时,可以通过GetResult("vNewID")获取其值
broker.AssignNormalValue("vNewID", "");
////给普通参数DomConfig赋值。此参数的数据类型为MSXML2.IXMLDOMDocument2,此参数按引用传递,表示ATO,PTO选配
MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocumentClass();
broker.AssignNormalValue("DomConfig", domMsg);
//第六步:调用API
if (!broker.Invoke())
{
//错误处理
Exception apiEx = broker.GetException();
if (apiEx != null)
{
if (apiEx is MomSysException)
{
MomSysException sysEx = apiEx as MomSysException;
ListErr.Add(ErrSql("系统异常", sysEx.Message));
//todo:异常处理
}
else if (apiEx is MomBizException)
{
MomBizException bizEx = apiEx as MomBizException;
ListErr.Add(ErrSql("API异常", bizEx.Message));
//todo:异常处理
}
//异常原因
String exReason = broker.GetExceptionString();
if (exReason.Length != 0)
{
ListErr.Add(ErrSql("异常原因", exReason));
}
}
//结束本次调用,释放API资源
broker.Release();
return;
}
//第七步:获取返回结果
//获取返回值
//获取普通返回值。此返回值数据类型为System.String,此参数按值传递,表示成功返回空串
System.String result = broker.GetReturnValue() as System.String;
|
|