美文网首页
13. SRM系统访问金蝶云星空(webapi):读取询价单

13. SRM系统访问金蝶云星空(webapi):读取询价单

作者: Steve_Hu | 来源:发表于2020-08-24 22:34 被阅读0次

返回根目录 SRM系统访问金蝶云星空(ERP)的接口定义及示例

需求描述

采购申请的物料对应供应商若无价目表,则需要向供应商询价。
SRM获取ERP的询价单,走询比价流程。

ERP询价单的字段如下:

单据头:FBillHead

       实体主键:FID
        单据编号:FBillNo
        单据类型:FBillTypeID
        业务类型:FBusinessType(采购 BZXJ / 委外 WWXJ)

        询价日期:FInquiryDate
        采购员:FPurchaserId
        创建日期:FCreateDate
        单据状态:FDocumentStatus
        关闭状态:FCloseStatus
        作废状态:FCancelStatus
        价格生效日期:FBeginDate
        价格失效日期:FEndDate
        报价截止日期:FExpiryDate
        修改日期:FModifyDate

单据体:FEntity

 实体主键:FEntryID 
 物料编码:FMaterialId  
 物料名称:FMaterialName 
 规格型号:FModel 
 询价单位:FUnitID  
 询价数量:FQty 
 到货日期:FArrivalDatetime 
 备注:FEntryNote 
 供应商:F_BLN_SupplierId 

接口定义

/// <summary>查询</summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List<object> ExecuteBillQuery(string data)

请求参数

{
    "FormId": "SVM_InquiryBill",
    "FieldKeys": "FID,FBillNo,FBillTypeID.FName,FBusinessType,FInquiryDate,FPurchaserId.FName,FCreateDate,FDocumentStatus,FCloseStatus,FCancelStatus,FBeginDate,FEndDate,FExpiryDate,FModifyDate,FEntity_Fseq,FMaterialId.FNumber,FMaterialName, FModel,FUnitId.FName,FQty,FArrivalDatetime,FEntryNote,F_BLN_SupplierId.FNumber,F_BLN_SupplierId.FName",
    "FilterString": "",
    "OrderString": "FDate desc",//排序
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 0
}

返回结果

[["FValue1","FValue2",...],["FValue1","FValue2",...],...]

代码示例

无引用组件示例(不引用金蝶的组件):
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 = "SVM_InquiryBill",//工序委外单唯一标识
                    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 "登录失败!";
            }
 /// <summary>
        /// 需查询的字段key集合,字符串类型,格式:"key1,key2,..."(必录) 注(查询单据体内码,需加单据体Key和下划线,如:FEntryKey_FEntryId)
        /// </summary>
        /// <returns></returns> 
       private string GetFieldKeys()
        {
            List<string> fieldKeys = new List<string>();
            fieldKeys.Add("FID");//  实体主键:
            fieldKeys.Add("FBillNo");//  单据编号:
            fieldKeys.Add("FBillTypeID.FName");//     单据类型:
            fieldKeys.Add("FBusinessType");//  业务类型:
            fieldKeys.Add("FInquiryDate");//  询价日期:
            fieldKeys.Add("FPurchaserId.FName");//  采购员:
            fieldKeys.Add("FCreateDate");//  创建日期:
            fieldKeys.Add("FDocumentStatus");// 单据状态:
            fieldKeys.Add("FCloseStatus");//  关闭状态:
            fieldKeys.Add("FCancelStatus");//  作废状态:
            fieldKeys.Add("FBeginDate");//  价格生效日期:
            fieldKeys.Add("FEndDate");//     价格失效日期:
            fieldKeys.Add("FExpiryDate");//  报价截止日期:
            fieldKeys.Add("FModifyDate");//  修改日期:
            fieldKeys.Add("FEntity_Fseq");//分录行号
            fieldKeys.Add("FMaterialId.FNumber");//物料编码
            fieldKeys.Add("FMaterialId.FName");//物料名称
            fieldKeys.Add("FMaterialId.Fspecification");//规格型号
            fieldKeys.Add("FUnitID.FNumber");//计量单位
            fieldKeys.Add("FQty");//数量
            fieldKeys.Add("FArrivalDatetime");//     到货日期
            fieldKeys.Add("FEntryNote");//备注
            fieldKeys.Add("F_BLN_SupplierId.FNumber");//供应商编码
            fieldKeys.Add("F_BLN_SupplierId.FName");//供应商名称
            fieldKeys.Add("F_ORA_OneTimePrice");//是否一次性价格,true 一次性

            return string.Join(",", fieldKeys.ToArray());
        }

返回根目录 SRM系统访问金蝶云星空(ERP)的接口定义及示例

相关文章

网友评论

      本文标题:13. SRM系统访问金蝶云星空(webapi):读取询价单

      本文链接:https://www.haomeiwen.com/subject/vvsojktx.html