首页/新闻资讯/正文详情

金蝶云星空接口支持SQL查询吗:FilterString能写什么、不能写什么(实测)

发布时间:2026/9/27 11:37:59 来源:云帆数科 栏目:资讯中心
金蝶云星空接口支持SQL查询吗:FilterString能写什么、不能写什么(实测)
目录一、先说结论二、测试环境三、能用的写法3.1 比较、模糊、范围3.2 关联字段和明细字段3.3 SQL Server 函数也能用四、三个坑4.1 空文本不是 NULL是空格4.2 and / or 不加括号结果会错4.3 FieldKeys 能写表达式但不能聚合五、不能用的写法5.1 子查询直接被拦5.2 聚合count、sum 都不行六、拼 FilterString 的安全写法七、几个常用的过滤写法八、最后一、先说结论不能直接写 SQL 语句但查询接口的过滤条件FilterString基本就是 SQL 的 WHERE 子句。写法能不能用实测、、!、、能✔like、in、not in、between ... and能✔and、or、括号能但要注意优先级✔is null、is not null能写但空文本不是 NULL✔关联字段FCustomerID.FNumber能✔明细字段FMaterialID.FNumber能✔SQL Server 函数GETDATE()、DATEADD()、YEAR()、LEN()、LTRIM()、RTRIM()能测试环境是 SQL Server✔子查询in (select ...)不能被拦截✘在FieldKeys里聚合count()、sum()不能直接报 SQL 错✘下面是逐条实测报错原文照抄。二、测试环境金蝶云星空官方公开体验环境账套「金蝶蓝海实业集团」用户 demo日期2026-09-26接口DynamicFormService.ExecuteBillQuery单据销售出库单SAL_OUTSTOCK只调查询接口没有写入、修改任何数据请求格式后面只写FilterString这一段{data:{FormId:SAL_OUTSTOCK,FieldKeys:FBillNo,FilterString:这里是过滤条件,OrderString:FBillNo,Limit:5}}三、能用的写法3.1 比较、模糊、范围FBillNoXSCKD000001 → 1 条 FDocumentStatusC → 正常返回 FDocumentStatus!C → 和 结果一样 FBillNo like XSCKD00000% → 正常返回 FBillNo in (XSCKD000001,XSCKD000002) → 2 条 FDocumentStatus not in (C) → 正常返回 FDate between 2026-09-01 and 2026-09-30 → 正常返回 FModifyDate2026-09-20 → 正常返回修改时间带时分秒几个细节字符串用单引号日期直接写成字符串2026-09-01就能比较字段名不区分大小写fbillnoXSCKD000001和FBillNoXSCKD000001结果一样字符串里的单引号要写两个FNote like %%不报错3.2 关联字段和明细字段基础资料字段用点号取它的编码或名称FCustomerID.FNumberCUST0001 → 按客户编码过滤 FCustomerID.FName like %金蝶% → 按客户名称模糊查 FMaterialID.FNumber1.1110001 → 按明细里的物料过滤按明细字段过滤返回的是包含这个物料的单据。实测FMaterialID.FNumber1.1110001返回了XSCKD000001、XSCKD000003两张单。注意如果FieldKeys里也带了明细字段返回会变成一条明细一行分页时一张单可能被切断。这个坑我在「金蝶云星空 WebAPI 查询和查看接口的区别」那篇里专门写过。3.3 SQL Server 函数也能用FDateDATEADD(day,-30,GETDATE()) → 最近 30 天正常返回 year(FDate)2026 → 正常返回 len(FBillNo)6 → 正常返回 ltrim(rtrim(FNote)) → 正常返回这说明FilterString基本是原样拼进 SQL 的 WHERE 里的数据库能认的函数就能用。注意公开体验环境的数据库是 SQL Server后面报错信息都是 SQL Server 的原文。金蝶云星空也支持 Oracle如果客户账套是 Oracle函数写法不一样比如GETDATE()在 Oracle 里要换成SYSDATE。Oracle 账套我没测过用之前先在客户的测试账套试一下。另外GETDATE()取的是数据库服务器的时间服务器时区不对的话「最近 30 天」会差几个小时。做增量同步更稳的写法是把时间点算好直接写成字符串传进去。四、三个坑4.1 空文本不是 NULL是空格想查「备注为空」的单据第一反应是FNote is null → 0 条结果一条都没有。换成FNote is not null → 正常返回备注值是 一个空格 FNote → 正常返回 FNote → 正常返回结果和 FNote 一样原因金蝶里没填的文本字段存的是一个空格不是 NULL。而 SQL Server 比较字符串时会忽略末尾空格所以和 算相等。查空文本用FNote别用is null。顺带一个现象公开体验环境里有单据编号就是一个空格 的出库单应该是有人暂存了没填单号。做同步时对单号要有空值判断别拿空格单号去做唯一键。4.2 and / or 不加括号结果会错想要「已审核或审核中并且单号以 XSCKD 开头」FDocumentStatusC or FDocumentStatusB and FBillNo like XSCKD%实测返回了26091、260912、26093这些不是 XSCKD 开头的单。因为 SQL 里and优先级比or高上面这句实际等于FDocumentStatusC or (FDocumentStatusB and FBillNo like XSCKD%)加上括号就对了(FDocumentStatusC or FDocumentStatusB) and FBillNo like XSCKD%只要同时出现 and 和 or一律加括号。4.3 FieldKeys 能写表达式但不能聚合FieldKeys里写简单表达式可以FieldKeys: FBillNo,FRealQty*2 返回[[XSCKD000001, 4.0000000000]]但想用聚合函数汇总就不行见下一节。五、不能用的写法5.1 子查询直接被拦FID in (select FID from T_SAL_OUTSTOCK where FDOCUMENTSTATUSC)报错原文过滤条件不能包含关键字【select】请重新检查金蝶在接口层拦了select关键字。不过写在字符串里的 select 不会被误伤实测FNote like %select%正常返回0 条没报错。5.2 聚合count、sum 都不行FieldKeys写count(FID)报错原文Column T_SAL_OUTSTOCK.FID is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.FieldKeys写sum(FRealQty)报错原文Invalid column name FRealQty.两个都是 SQL Server 的原始报错从第一条还能看出销售出库单表头的物理表名是T_SAL_OUTSTOCK。结论查询接口不做汇总。要汇总有两个办法把明细拉回来在自己程序里算用金蝶自己的报表或者让懂 BOS 的人做一张汇总报表六、拼 FilterString 的安全写法FilterString是拼进 SQL 的外部传进来的值别直接拼。虽然金蝶拦了select但单引号没处理好轻则报错重则条件被改写。最少要做单引号转义// 把一个值变成 FilterString 里安全的字符串字面量constsqlStrvString(v).replace(//g,);// 单号来自外部系统constbillNoorder.no;constfilterFBillNo${sqlStr(billNo)};// 多个值constlistids.map(sqlStr).join(,);constfilter2FBillNo in (${list});更稳的做法是对外部输入先校验格式单号只允许字母、数字、横线不符合的直接拒绝根本不进FilterString。七、几个常用的过滤写法对接里最常用的几种直接抄场景FilterString只要已审核的单FDocumentStatusC增量同步上次同步之后改过的FModifyDate2026-09-26 08:00:00某段日期的单FDate between 2026-09-01 and 2026-09-30按客户编码FCustomerID.FNumberCUST0001推单前查重金蝶里有没有这些单号FBillNo in (A001,A002,A003)备注为空FNote组合条件(条件1 or 条件2) and 条件3一定加括号八、最后金蝶云星空接口支持 SQL 查询吗不能直接写 SQL但FilterString就是 WHERE 子句大部分写法和 SQL Server 函数都能用不能用子查询拦select、聚合count、sum报 SQL 错三个坑空文本是空格不是 NULLand/or 要加括号明细字段会让一单变多行安全外部输入先校验、单引号转义别直接拼上一篇讲了查询接口和查看接口的区别这一篇是查询接口的过滤条件。在写金蝶对接、被过滤条件卡住的评论区贴你的 FilterString 和报错看到都会回。

相关推荐

我把公司 API 全接进了 Claude Code,一周后回不去了:TaoToken 统一 Key 配置实战
我把公司 API 全接进了 Claude Code,一周后回不去了:TaoToken 统一 Key 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 11:37:59

Responses API 报 404 排查:Base URL、模型 ID 与 Chat Completions 兼容配置
Responses API 报 404 排查:Base URL、模型 ID 与 Chat Completions 兼容配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 11:37:53

wterm主题定制指南:如何用CSS变量在10分钟内打造专属终端配色
wterm主题定制指南:如何用CSS变量在10分钟内打造专属终端配色

wterm主题定制指南:如何用CSS变量在10分钟内打造专属终端配色 【免费下载链接】wterm A terminal emulator for the web 项目地址: https://gitcode.com/gh_mirrors/wterm1/wterm wterm 是一款基于 Zig WebAssembly 的 Web 终端模拟器,而它的主题… · 2026/9/27 11:37:53

自应式网站报价图解步骤:拆解费用防坑指南
自应式网站报价图解步骤:拆解费用防坑指南

自应式网站报价图解步骤:拆解费用防坑指南 找建站公司最头疼的不是技术,而是报价单上的模糊地带。很多老板拿到报价单,看到“自适应”三个字就以为包含了所有手机端适配,结果上线后发现图片加载慢、菜单错位,最后还要加钱做二次开发。这种“低价切入、后… · 2026/9/27 13:52:14

ChatGPT Plus能用GPT-5.6吗?Plus与Pro权限差异下TaoToken统一Key配置指南
ChatGPT Plus能用GPT-5.6吗?Plus与Pro权限差异下TaoToken统一Key配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 13:52:08

做蛋糕的企业网站怎么搭?3套方案对比与真实建站报价
做蛋糕的企业网站怎么搭?3套方案对比与真实建站报价

做蛋糕的企业网站怎么搭?3套方案对比与真实建站报价 模板网站太丑,发朋友圈都嫌丢人?很多做私房烘焙或连锁蛋糕店的老板,第一反应是找个几千块的模板站,结果上线后发现页面加载慢、手机适配差,更别提怎么让客户记住你了。这时候你才意识到,… · 2026/9/27 13:52:08

2026年AI跑分硬核指南:撕开“刷榜”遮羞布,开发者如何用TaoToken做真实的技术选型?
2026年AI跑分硬核指南:撕开“刷榜”遮羞布,开发者如何用TaoToken做真实的技术选型?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 13:51:43

3个真实案例拆解wordpress4.5.2漏洞与对比评测避坑指南
3个真实案例拆解wordpress4.5.2漏洞与对比评测避坑指南

3个真实案例拆解wordpress4.5.2漏洞与对比评测避坑指南 找建站公司最怕什么?不是服务器宕机,也不是页面卡顿,而是报价单上那一行行看不懂的“高级定制费”。很多独立站长在前期沟通时,对方拍着胸脯说“安全无忧”,结果上线半年后,后台突… · 2026/9/27 13:51:31

网站建设考评表避坑指南:域名服务器搞不懂?这份保姆级教程带你通关
网站建设考评表避坑指南:域名服务器搞不懂?这份保姆级教程带你通关

网站建设考评表避坑指南:域名服务器搞不懂?这份保姆级教程带你通关 域名买好了,服务器也租了,结果一查考评表,全红的错误提示?别慌,我也被坑过。… · 2026/9/27 13:51:30

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码