Python 在VS2022 调用销售订单WebApi单据查询示例原创
金蝶云社区-╄秋メ凋零
╄秋メ凋零
11人赞赏了该文章 975次浏览 未经作者许可,禁止转载编辑于2024年05月28日 11:42:11

#不引用金蝶组件的方法


from datetime import date
import requests
import json  
Login ="https://你的服务器地址/K3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc"#登录连接
url = "https://你的服务器地址/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc"#单据查询连接
headers = {'Content-Type': 'application/json'}  # 这是常见的设置,表示发送的数据是JSON格式  
 
# 发送POST请求并传递数据  
session = requests.Session()#创建Session对象

Logindata = {"AcctID":"数据中心ID","UserName":"用户名","Password":"密码","Lcid":"2052"}#登录的JSON请求参数,固定格式,数据中心ID、 用户名、 密码 、自己填写
Josn={"data":{"FormId":"SAL_SaleOrder",
              "FieldKeys":"FBillNo,FDocumentStatus,FMaterialId.Fnumber,FQty",
              "FilterString":"FCloseStatus='A' and FDocumentStatus in ('D')",
              "OrderString":"","TopRowCount":0,"StartRow":0,"Limit":50,"SubSystemId":""}}#查询的JSON请求数据,例如:这里使用的销售订单查询,你也可以是即时库存的请求参数
response = session.post(Login, Logindata)#发送登录
login_data=response.json()#获取登录结果
loginStatus=login_data["LoginResultType"]#获取登录状态
if loginStatus ==1:#成功登录
    response = session.post(url, headers=headers,data=json.dumps(Josn))#发送查询
    data = response.json()#获取查询结果
    count=len(data)#获取查询总行数

    print("序号","单据编号","单据状态","物料编码","销售数量")    

    for i in range(count):#循环打印
        print(i,data[i])
else:
    print("登录失败,没有查询到数据")



##################################################################################



创建Python项目前如果安装VS2022的时候,没有预装,就需要先安装Python

运行:"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" 也可运行默认地址打开安装程序

image.png

点击 启动 就可以执行:image.png

支持断点调试

image.png

注意,默认需要你自己安装request 跟json 库,安装后必须重启电脑

image.png

image.png

运行方式也可以通过CMD命令执行,这样就当作中间件,可以做一些其他的定时任务或者数据同步

image.png

##################################################################################


#引用金蝶组件的方法

如果要使用金蝶标准SDK组件 from k3cloud_webapi_sdk.main import K3CloudApiSdk

 在项目--右键--打开此处的命令提示符

image.png

然后安装金蝶sdk组件


下载并安装k3cloud_webapi_sdk

使用pip安装指令格式:pip install {后缀为.whlSDK包文件的本地完整目录}

例如:

pip install F:\Python\kingdee.cdp.webapi.sdk-8.0.4-py3-none-any.whl

image.png

官方sdk下载连接

https://openapi.open.kingdee.com/ApiSdkCenter




#以下是调用金蝶组件简单示例

#!/usr/bin/python

# -*- coding:GBK -*-
import json
from k3cloud_webapi_sdk.main import K3CloudApiSdk
import time
import unittest
import logging

api_sdk = K3CloudApiSdk()

api_sdk.InitConfig('账套id', '第三方登录用户名', 'app_id,', 'app_secret')#注意,公有云不需要传ServerUrl,私有云要

#单据查询接口-即时库存

print(api_sdk.ExecuteBillQuery(
    {
    "FormId": "STK_Inventory",
    "FieldKeys": "FMaterialid.FNumber",
    "FilterString": "",
    "OrderString": "",
    "TopRowCount": 0,
    "StartRow": 0,
    "Limit": 100,
    "SubSystemId": ""

}))




运行

image.png

图标赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!