金蝶ERP销售订单执行情况查询

金蝶EAS Cloud ERP系统数据库SQL查询技能,支持采购、销售、库存、财务等模块的单据查询和数据分析。

Audits

Warn

Install

openclaw skills install kingdee-sold

金蝶ERP SOLD数据库查询技能

技能概述

本技能用于金蝶EAS Cloud ERP系统的PostgreSQL数据库查询,支持各类业务单据的SQL查询、数据分析、表结构探查等操作。

数据库连接信息

主机: 111.198.79.26
端口: 5432
用户: cosmic
密码: Kd1234567890!
数据库: yyzl202501

表命名规范

前缀/后缀说明示例
t_业务数据表前缀t_ap_finapbill
_l分录表后缀t_ap_finapbill_l
_r3R3视图后缀t_im_purinbill_r3
_lkLink关联表t_po_purorder_lk
_tc临时表
_wb工作流相关表
t_bos_BOS平台表t_bos_atomicincr_generator
t_gl_财务总账模块t_gl_voucher
t_ap_应付模块t_ap_paybill
t_ar_应收模块t_ar_receivebill
t_im_库存模块t_im_purinbill
t_po_采购模块t_po_purorder
t_sal_销售模块t_sal_saleorder
t_bd_基础资料t_bd_material

常用标准字段

字段名说明
fid单据主键ID
fnumber单据编号
fcreate_time创建时间
fcreatorid创建人ID
fmodify_time修改时间
fmodifierid修改人ID
fdocumentstatus单据状态
fbilltype单据类型
fdate单据日期
famount金额
famt_lc本币金额

单据状态码说明

状态码说明
0草稿
1已提交/审核中
2已审核
3已驳回
4已关闭
5作废/红冲

使用示例

1. 查询表结构

-- 查询表的列信息
SELECT column_name, data_type, is_nullable 
FROM information_schema.columns 
WHERE table_name = 't_po_purorder' 
ORDER BY ordinal_position;

2. 查询采购订单

-- 查询采购订单表头
SELECT fid, fnumber, fdate, famount_lc, fdocumentstatus
FROM t_po_purorder
WHERE fdate >= '2025-01-01'
LIMIT 100;

-- 查询采购订单分录
SELECT fid, fentryid, fmaterialid, fqty, fprice, famount
FROM t_po_purorder_l
WHERE fid = '订单fid';

3. 查询销售订单

SELECT fid, fnumber, fdate, fcustid, famount_lc, fdocumentstatus
FROM t_sal_saleorder
WHERE fdate >= '2025-01-01'
ORDER BY fdate DESC
LIMIT 100;

4. 查询应付付款单

SELECT fid, fnumber, fdate, famount_lc, fpaytype, fdocumentstatus
FROM t_ap_paybill
WHERE fdate >= '2025-01-01'
ORDER BY fdate DESC
LIMIT 100;

5. 查询应收收款单

SELECT fid, fnumber, fdate, famount_lc, fdocumentstatus
FROM t_ar_receivebill
WHERE fdate >= '2025-01-01'
ORDER BY fdate DESC
LIMIT 100;

6. 查询入库单

SELECT fid, fnumber, fdate, fstockorgid, fdocumentstatus
FROM t_im_purinbill
WHERE fdate >= '2025-01-01'
ORDER BY fdate DESC
LIMIT 100;

7. 查询编码规则

-- 查询所有单据编码规则
SELECT fnumber, fprefix, fformat, fcurrentvalue
FROM t_bos_atomicincr_generator
ORDER BY fnumber;

8. 模糊搜索表名

-- 搜索包含指定关键词的表
SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'public'
AND table_name LIKE '%keyword%'
ORDER BY table_name;

常用SQL模板

关联查询表头和分录

SELECT 
    h.fnumber,
    h.fdate,
    h.famount_lc,
    l.fentryid,
    l.fmaterialid,
    l.fqty,
    l.fprice,
    l.famount
FROM t_po_purorder h
LEFT JOIN t_po_purorder_l l ON h.fid = l.fid
WHERE h.fdate >= '2025-01-01'
LIMIT 100;

按日期统计单据数量和金额

SELECT 
    DATE(fdate) as bill_date,
    COUNT(*) as bill_count,
    SUM(famount_lc) as total_amount
FROM t_po_purorder
WHERE fdate >= '2025-01-01'
GROUP BY DATE(fdate)
ORDER BY bill_date DESC;

按状态统计单据

SELECT 
    CASE fdocumentstatus
        WHEN 0 THEN '草稿'
        WHEN 1 THEN '已提交'
        WHEN 2 THEN '已审核'
        WHEN 3 THEN '已驳回'
        WHEN 4 THEN '已关闭'
        WHEN 5 THEN '作废'
        ELSE '未知'
    END as status_name,
    COUNT(*) as count,
    SUM(famount_lc) as total_amount
FROM t_po_purorder
WHERE fdate >= '2025-01-01'
GROUP BY fdocumentstatus
ORDER BY fdocumentstatus;

注意事项

  1. 大表查询限制: 生产环境数据量较大,查询时务必加上LIMIT和时间范围条件
  2. 避免全表扫描: 尽量使用fid、fnumber、fdate等有索引的字段作为查询条件
  3. 分录表关联: 分录表使用_l后缀,通过fid字段与主表关联
  4. 时间格式: PostgreSQL中日期比较使用标准ISO格式 'YYYY-MM-DD'
  5. 权限: 只有只读权限,请勿执行UPDATE/DELETE/DROP等写操作

故障排除

表不存在

  • 检查表名是否正确,是否遗漏了t_前缀
  • 确认是表头还是分录表(分录表需加_l后缀)
  • 使用模糊搜索查找正确的表名

字段不存在

  • 使用information_schema.columns查询表的实际列名
  • 注意字段大小写(PostgreSQL默认小写)

查询太慢

  • 增加LIMIT限制返回行数
  • 加上时间范围条件
  • 使用有索引的字段过滤
  • 避免在大表上使用ORDER BY无索引字段