当前位置: 首页 > news >正文

金蝶ERP星空对接流程

1.金蝶ERP星空OPENAPI地址:

     金蝶云星空开放平台

2.下载金蝶云星空的对应SDK包

      金蝶云星空开放平台

3.引入SDK流程步骤

引入Kingdee.CDP.WebApi.SDK

右键项目添加引用,在打开的引用管理器中选择浏览页签,点击浏览按钮,找到从官网上下载的Kingdee.CDP.WebApi.SDK.dll文件,添加并确定。

引入SDK所需依赖包

右键项目选择“管理NuGet程序包”,搜索并安装Microsoft.Extensions.Configuration、Microsoft.Extensions.Configuration.FileExtensions、Microsoft.Extensions.Configuration.Json、Newtonsoft.Json。如果原程序已有安装可忽略。

配置文件说明

配置文件appsettings.json

由于链接产品需要读取配置文件,因此必须严格规范和审查配置文件的位置和内容。

appsetting.json文件必须放置在与项目内的Config文件夹下,如果没有Config文件夹则需要创建。

同时,appsetting.json文件的属性“复制到输出目录”的值应为:如果较新则复制。

配置参数说明

//第三方系统登录授权的账套ID

"X-KDApi-AcctID": "6244******6bff",

//第三方系统登录授权的应用ID

"X-KDApi-AppID": "225***_***************************d4rLE",

//第三方系统登录授权的应用密钥

"X-KDApi-AppSec": "2bb1d*********************80aeae",

//第三方系统登录授权的用户

"X-KDApi-UserName": "demo",

//账套语系,默认2052

"X-KDApi-LCID": "2052",

//服务Url地址,以k3cloud/结尾

"X-KDApi-ServerUrl": "http://172.17.55.175/k3cloud/"

如果集成用户的值为中文名,配置文件的编码集必须为utf-8。

调用示例

请参考OPENAPI官网(金蝶云星空开放平台)的API文档中的标准代码示例;

using Kingdee.CDP.WebApi.SDK;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KingdeeWebAPP.Utility.Helper
{
    public static class K3CloudHelper
    {
        // 使用volatile关键字确保多线程环境下正确读取instance
        private static volatile K3CloudApi clienter;

        private static readonly object lockObject = new object();

        // 公共静态方法,返回K3CloudApi实例
        public static K3CloudApi Instance
        {
            get
            {
                // 第一次检查,无需锁
                if (clienter == null)
                {
                    lock (lockObject)
                    {
                        // 第二次检查,确保在多线程环境中只有一个线程会创建实例
                        if (clienter == null)
                        {
                            clienter = new K3CloudApi();
                        }
                    }
                }
                return clienter;
            }
        }
    }
}

4.通过金蝶云星空的webapi接口查看对应的FormId字段,查询字段,过滤条件字段等

 [HttpGet]
 public WebApiCallBack GetSalesOutboundOrderList()
 {
     var jm = new WebApiCallBack();

     // 输出字符串以验证
     string filter = $"FSaleOrgId.FNumber='154' and FDocumentStatus='C' and FCustomerID.FNumber='C0115748' and FApproveDate > '2025-02-20'";

     var param = new QueryParam()
     {
         FormId = "SAL_OUTSTOCK",
         FieldKeys = "FId,FBillNo,FMaterialID,FMaterialID.FNumber,FMaterialName,FMateriaModel,FRealQty,FStockID,FStockID.FNumber,FStockID.FName ",
         FilterString = filter,
     };

     //调用单据查询接口
     var returnInfo = K3CloudHelper.Instance.ExecuteBillQuery(param.ToJson());
     if (returnInfo.Count > 0)
     {
         List<SAL_OUTSTOCK> salOutstockList = returnInfo.Select(row => new SAL_OUTSTOCK
         {
             FId = (long)row[0],
             FBillNo = (string)row[1],
             FMaterialID = (long)row[2],
             FMaterialID_FNumber = (string)row[3],
             FMaterialName = (string)row[4],
             FMateriaModel = (string)row[5],
             FRealQty = (double)row[6],
             FStockID = (long)row[7],
             FStockID_FNumber = (string)row[8],
             FStockID_FName = (string)row[9]
         }).ToList();

         //对返回结果进行解析和校验,这里使用的是JsonPatch
         var resultJObject = JsonConvert.SerializeObject(returnInfo);
         Console.WriteLine("物料单据查询接口:" + resultJObject);
         jm.otherData = resultJObject;
         return jm;
     }

     return jm;
 }

相关文章:

  • 机器学习11-经典网络解析
  • (1)udp双向通信(2)udp实现文件复制(3)udp实现聊天室
  • 解锁数据抓取新高度:Python 分布式爬虫与逆向进阶实战课
  • 详解 scanf 和 printf(占位符、printf、scanf的返回值、printf的输出格式、scanf的输入格式)
  • oracle官网下载各种版本的Java
  • 大白话css第八章前沿技术深度应用、行业影响力塑造以及对CSS未来发展的引领
  • 如何理解数据库的几种事务隔离级别?以及如何理解脏读、不可重复度、幻读?
  • Vue 3 组件库文档化最佳实践:Storybook 自动化文档生成 - 打造专业级组件文档
  • 洛谷 P1601 A+B Problem(高精)详解c++
  • lamp平台介绍
  • 【力扣】136.只出现一次的数字
  • 麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程
  • pthon翻译googletrans案例
  • 高级课第五次作业
  • flink和yarn和mpp架构区别
  • 【菜笔cf刷题日常-1600】C. Balanced Stone Heaps(二分求min/max)
  • Linux -- I/O接口,文件标识符fd、file结构体、缓冲区、重定向、简单封装C文件接口
  • MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享
  • Android 系统开发的指导文档
  • 前端知识一
  • 网站底部分享怎么做/打字赚钱平台 学生一单一结
  • 嘉善县住房和城乡规划建设局网站/百度客服24小时电话人工服务
  • 新手怎么做html5网站/网络销售怎么做
  • 做阿里巴巴英文网站/百度指数查询官网大数据
  • 香港免费永久网站/创建网站需要多少资金
  • 门户网站是什么意思啊/360优化大师下载