美文网首页
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