- 02 SRM系统访问金蝶云星空(WebApi集成方式):读取采购
- 14. SRM系统访问金蝶云星空(webapi):读取采购申请单
- 01 SRM系统访问金蝶云星空(WebApi集成方式):读取供应
- 07 SRM系统访问金蝶云星空(WebApi集成方式):读取物料
- 金蝶云星空(WebApi集成方式):免密码登录接口
- 访问金蝶云星空(WebApi集成方式):读取BOM展开结果数据接
- 09. SRM系统访问金蝶云星空(webapi):供方订单承诺期
- 03 SRM系统访问金蝶云星空(WebApi集成方式):读取委外
- 11.SRM系统访问金蝶云星空(webapi):写入工序委外入库
- 02 MES系统访问金蝶云星空(WebApi集成方式):读取生产
返回根目录 SRM系统访问金蝶云星空(ERP)的接口定义及示例
需求描述
采购订单记录了企业采购货物的规格说明,价格条件,交货条件,以及其它要求,供应商依据采购订单进行产品生产,并按时按质交付产品。采购订单是企业与供应商进行商品和服务采购的合法凭据,是采购业务管理的核心.
SRM系统从ERP中获取采购订单信息,返回字段信息描述如下:
采购订单数据接口定义
/// <summary>查询</summary>
/// <param name="data"></param>
/// <returns></returns>
public List<object> ExecuteBillQuery(string data)
请求参数
{
"FormId": "PUR_PurchaseOrder",
"FieldKeys": "FBillNo,FPOOrderEntry_Fseq,FDate,FBusinessType,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.Fspecification,FUnitId.FNumber,FDeliveryDate,FQty,FReceiveQty,FStockInQty,FSupplierId.FNumber,FSupplierId.FName,FSupplierId.FShortName,FCreatorId.FName,FPurchaserId.FName,FApproverId.FName,FTaxPrice,FMRPCloseStatus,FMRPTerminateStatus,FDocumentStatus,FCloseStatus",
"FilterString": "",
"OrderString": "FDate desc",//排序
"TopRowCount": 0,
"StartRow": 0,
"Limit": 0
}
返回结果
[["FValue1","FValue2",...],["FValue1","FValue2",...],...]
代码示例
1)SDK辅助类示例(引用Kingdee.BOS.WebAPI.Client.dll)
引用组件Kingdee.BOS.WebApi.Client.dll
下载链接: https://pan.baidu.com/s/1RthbrrtUgeqWGi-eLM-yjg
提取码: eqin
if (LoginByAppSecret())
{
var dataObj = new
{
FormId = "PUR_PurchaseOrder",//采购订单唯一标识
FieldKeys = GetFieldKeys(),//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
//获取已经审核单据,FBusinessType='CG'表示标准采购业务类型,FBusinessType='WW'表示标准委外业务类型
FilterString = "FDocumentStatus='C and FBusinessType='CG' ",
OrderString = "FDate desc",//排序
TopRowCount = 0,
StartRow = 0,
Limit = 0
};
var data = JsonConvert.SerializeObject(dataObj);
var result = apiClient.ExecuteBillQuery(data);
return JsonConvert.SerializeObject(result);
}
else
{
return "登录失败!";
}
/// <summary>
/// 需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
/// </summary>
/// <returns></returns>
private string GetFieldKeys()
{
List<string> fieldKeys = new List<string>();
fieldKeys.Add("FBillNo");//订单号
fieldKeys.Add("FPOOrderEntry_Fseq");//订单行号
fieldKeys.Add("FDate");//订单日期
fieldKeys.Add("FBusinessType");//业务类型
fieldKeys.Add("FMaterialId.FNumber");//物料编码
fieldKeys.Add("FMaterialId.FName");//物料名称
fieldKeys.Add("FMaterialId.Fspecification");//规格型号
fieldKeys.Add("fmaterialid.FErpClsID");//物料属性 1-外购 2-自制 3-委外加工 5-虚拟件
fieldKeys.Add("FMaterialId.F_BLN_Material");//材质
fieldKeys.Add("FUnitId.FNumber");//计量单位
fieldKeys.Add("FDeliveryDate");//供货日期
fieldKeys.Add("FQty");//采购量
fieldKeys.Add("FReceiveQty");//已收货量
fieldKeys.Add("FStockInQty");// 已入库量
fieldKeys.Add("FSupplierId.FNumber");// 供方编码
fieldKeys.Add("FSupplierId.FName");//供方名称
fieldKeys.Add("FSupplierId.FShortName");//供方简称
fieldKeys.Add("FCreatorId.FName");//制单人
fieldKeys.Add("FPurchaserId.FName");//业务员
fieldKeys.Add("FApproverId.FName");//审核人
fieldKeys.Add("FTaxPrice");//含税价
fieldKeys.Add("FPrice");//不含税价
fieldKeys.Add("FEntryNote");//备注
fieldKeys.Add("FMRPCloseStatus");//行关闭状态 A 正常, B 业务关闭
fieldKeys.Add("FMRPTerminateStatus");//行终止状态 A 正常, B 业务冻结
fieldKeys.Add("FDocumentStatus");//整单单据状态 A 创建, B 审核中,C 已审核 ,D 重新审核
fieldKeys.Add("FCloseStatus");//整单关闭状态 A 正常, B 业务关闭
fieldKeys.Add("F_ora_fdzyfs");//阀的作用方式
fieldKeys.Add("F_ora_zlyq");//质量要求
fieldKeys.Add("F_BLN_Cz");//材质
fieldKeys.Add("FMtoNo");//计划跟踪号
fieldKeys.Add("F_ORA_ZXJG");//执行机构
fieldKeys.Add("FMaterialId.F_BLN_DwgNum");//图号
return string.Join(",", fieldKeys.ToArray());
}
2)无引用组件示例(不引用金蝶的组件):
http://ServerIp/K3Cloud/接口命名空间.接口实现类名.方法,组件名.common.kdsvc
if (LoginByAppSecret())
{
HttpClient httpClient = new HttpClient();
httpClient.Url = "http://localhost/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";
var dataObj = new
{
FormId = "PUR_PurchaseOrder",//采购订单唯一标识
FieldKeys = GetFieldKeys(),//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
FilterString = "FDocumentStatus='C'",//获取已经审核单据
OrderString = "FDate desc",//排序
TopRowCount = 0,
StartRow = 0,
Limit = 0
};
List<object> parameters = new List<object>();
parameters.Add(dataObj);
var data = JsonConvert.SerializeObject(parameters);
httpClient.Content = data;
var result = httpClient.AsyncRequest();
return result;
}
else
{
return "登录失败!";
}
网友评论