1. 需求描述
PLM系统中的物料,BOM同步到金蝶云星空系统中时,构造的json数据中,一些基础资料字段需要传递编码,而不是名称。 本接口提供获取所有基础资料的编码、名称,可作为PLM系统中的对照关系。
2. 接口定义
2.1 请求地址
2.2 请求参数
参数列表
参数含义
备注
FormId
基础资料formId,字符串类型(必录)
详见下表
FieldKeys
需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录)
例如:"FNumber,FName", //FNumber为编码,FName为名称
FilterString
过滤条件,字符串类型(非必录)
"FDocumentStatus='C'", //已审核的基础资料
OrderString
排序字段,字符串类型(非必录)
"FNumber", 表示按编码升序排序
TopRowCount
返回总行数,整型(非必录)
StartRow
开始行索引,整型(非必录)
Limit
最大行数,整型,不能超过2000(非必录)
基础资料
formId
计量单位
BD_UNIT
仓库
BD_STOCK
部门(生产车间)
BD_Department
存货类别
BD_MATERIALCATEGORY
税率
BD_TaxRate
制造策略
PLN_MANUFACTUREPOLICY
参数格式:
{
"FormId": "基础资料formId", //基础资料的formId
"FieldKeys": "FNumber,FName", //FNumber为编码,FName为名称
"FilterString": "FDocumentStatus='C'", //已审核的基础资料
"OrderString": "",
"TopRowCount": 0,
"StartRow": 0,
"Limit": 0
}
2.3 返回值
参数列表
参数含义
备注
result
json数组
格式为:[["FValue1","FValue2"],["FValue1","FValue2"]]
result 说明:
[
["FValue1", "FValue2"],
["FValue1", "FValue2"],
]
若 "FieldKeys": "FNumber,FName", //FNumber为编码,FName为名称
则 FValue1 对应FNumber, FValue2 对应FName
3. 代码示例
3.1 登录金蝶云星空
string appId = "应用Id";
string appSecret = "应用密钥";
string dbId="帐套Id";
string useName="用户名";
HttpClient httpClient = new HttpClient();
httpClient.Url = "http://10.11.0.37/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.LoginByAppSecret.common.kdsvc";
List Parameters = new List();
Parameters.Add(dbId);//帐套Id
Parameters.Add(useName);//用户名
Parameters.Add(appId);
Parameters.Add(appSecret);
Parameters.Add(2052);
httpClient.Content = JsonConvert.SerializeObject(Parameters);
JObject response=JObject.Parse(httpClient.AsyncRequest());
var iResult = response["LoginResultType"].Value();
if (iResult == 1)
{
//todo:登录成功,处理业务
}
else
{
//失败信息
string message= response["Message"].ToString();
}
3.2 以查询计量单位为例
HttpClient httpClient = new HttpClient();
httpClient.Url = "http://10.11.0.37/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";
var dataObj = new
{
FormId = "BD_UNIT",//计量单位formId
FieldKeys = "FNumber,FName",//需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录)
FilterString = "FDocumentStatus='C'",//获取已经审核的基础资料
OrderString = "",//排序
TopRowCount = 0,
StartRow = 0,
Limit = 0
};
List parameters = new List();
parameters.Add(dataObj);
var data = JsonConvert.SerializeObject(parameters);
httpClient.Content = data;
var result = httpClient.AsyncRequest();
return result;