金蝶云星空即时库存查询SQL语句SQLServer

公司需要,需要同步库存数据,这就需要用SQL语句来写即时库存查询,用了Microsoft SQL Server Management Studio 来抓语句,抓了很久抓到如下语句:

SELECT
    *
FROM
    (
        SELECT
            t0.FMATERIALID fmaterialid_id,
            t0.FSTOCKID fstockid_id,
            t0.FSTOCKLOCID fstocklocid,
            t0.FLOT flot_id,
            t0.FSTOCKUNITID fstockunitid_id,
            t0.FQTY fqty,
            t0.FBASEUNITID fbaseunitid_id,
            t0.FBASEQTY fbaseqty,
            t0.FSTOCKORGID fstockorgid_id,
            t0.FOWNERID fownerid_id,
            t0.FSTOCKORGID fstockorgid,
            t0.FSUMLEVEL fsumlevel,
            st019.FOPCODE fstocklocid_1,
            t0.FID fid,
            ROW_NUMBER () OVER (ORDER BY t0.FID ASC) fidentityid
        FROM
            T_STK_INVSUMQUERY t0
        LEFT OUTER JOIN T_BAS_FLEXVALUESDETAIL st019 ON t0.FSTOCKLOCID = st019.FID
        WHERE
            (
                FTRANSID = 'e0b7a4a6d3a5b64111e94ed399db50db'
                AND t0.FSTOCKORGID IN (
                    1,
                    100008,
                    100009,
                    100010,
                    101008,
                    101010,
                    134011,
                    134012,
                    134013,
                    134014,
                    134047,
                    310300,
                    329929,
                    329930,
                    329931,
                    329932,
                    329934,
                    329935,
                    329936,
                    329937,
                    329938,
                    329939,
                    329940,
                    329941,
                    329942,
                    0
                )
            )
    ) tlist
WHERE ((fidentityid >= 1) AND (fidentityid <= 10000))

红色部分为分页所取条数(1-10000),但是结果为:

 虽然条数对的上 (跟金蝶云星空的客户端查询出来的比较) 不过却出不来其他关联的数据,后来又各种百度,有关金蝶云即时库存SQL语句的真是少之又少,调试很久又有如下语句:

SELECT
    TI.FSTOCKORGID,
    OL.FNAME fstockorgname,
    M.FNUMBER '物料编码', --物料编码
    ML.FNAME '物料名称',--物料名称
    TSL.FNAME '仓库',--仓库
    TI.FSTOCKLOCID '仓位ID',--仓位ID
    TUL0.FNAME '库存主单位',--库存主单位
    TI.FQTY '主单位库存量',
    TUL1.FNAME '基本单位', --基本单位
    TI.FBASEQTY '基本单位库存量',
    TUL2.FNAME '库存辅单位',--库存辅单位
    TI.FSECQTY '库存辅单位库存量',
    TL.FNUMBER flotnumber,
    TI.FAUXPROPID,
    CASE
WHEN TMS.FISEXPPARTOFLOT = '1' THEN
    CONVERT (
        CHAR (10),
        TL.FPRODUCEDATE,
        20
    )
ELSE
    CONVERT (
        CHAR (10),
        TI.FPRODUCEDATE,
        20
    )
END fproducedate,
 CASE
WHEN TMS.FISEXPPARTOFLOT = '1' THEN
    CONVERT (CHAR(10), TL.FEXPIRYDATE, 20)
ELSE
    CONVERT (CHAR(10), TI.FEXPIRYDATE, 20)
END fexpirydate,
 TB.FNUMBER fbomnumber,--BOM编号
 TSSL.FNAME fstockstatus,
 TI.FOWNERTYPEID,
 VO_L.FNAME fownername,
 TI.FKEEPERTYPEID,--保管者类型
 VK_L.FNAME fkeepername,
 TMS.FSTOREURNUM,
 TMS.FSTOREURNOM,
 TMS.FISSNMANAGE,
 TSK.FALLOWMINUSQTY,
 TUS.FPRECISION fstkprecision,
 TUS.FROUNDTYPE froundtype,
 TUE.FPRECISION fsecprecision,
 TI.FMTONO,
 TI.FPROJECTNO,
 TSUB.FBASELOCKQTY fbaselockqty,
 TSUB.FSECLOCKQTY fseclockqty,
 '' fstocklocname
FROM
    AIS20181210113048.dbo.T_STK_INVENTORY TI
LEFT OUTER JOIN T_ORG_ORGANIZATIONS_L OL ON (
    TI.FSTOCKORGID = OL.FORGID
    AND OL.FLOCALEID = 2052
) --机构名称
INNER JOIN T_BD_MATERIAL M ON (
    M.FMASTERID = TI.FMATERIALID
    AND (
        M.FUSEORGID = TI.FSTOCKORGID
        OR EXISTS (
            SELECT
                1
            FROM
                T_META_BASEDATATYPE BT
            WHERE
                (
                    BT.FBASEDATATYPEID = 'BD_MATERIAL'
                    AND BT.FSTRATEGYTYPE = 1
                )
        )
    )
)--物料
LEFT OUTER JOIN T_BD_MATERIAL_L ML ON (
    M.FMATERIALID = ML.FMATERIALID
    AND ML.FLOCALEID = 2052
)--物料名称、规格型号
INNER JOIN T_BD_MATERIALSTOCK TMS ON M.FMATERIALID = TMS.FMATERIALID
LEFT OUTER JOIN T_ENG_BOM TB ON (
    TB.FMASTERID = TI.FBOMID
    AND (
        TB.FUSEORGID = TI.FSTOCKORGID
        OR EXISTS (
            SELECT
                1
            FROM
                T_META_BASEDATATYPE BT
            WHERE
                (
                    BT.FBASEDATATYPEID = 'ENG_BOM'
                    AND BT.FSTRATEGYTYPE = 1
                )
        )
    )
)
LEFT OUTER JOIN T_BD_STOCKSTATUS_L TSSL ON (
    TI.FSTOCKSTATUSID = TSSL.FSTOCKSTATUSID
    AND TSSL.FLOCALEID = 2052
)
LEFT OUTER JOIN T_BD_LOTMASTER TL ON (
    (
        TI.FLOT = TL.FMASTERID
        AND TI.FSTOCKORGID = TL.FUSEORGID
    )
    AND TL.FBIZTYPE = '1'
)
LEFT OUTER JOIN T_BD_UNIT TUS ON TMS.FSTOREUNITID = TUS.FUNITID
LEFT OUTER JOIN T_BD_UNIT_L TUL0 ON (
    TMS.FSTOREUNITID = TUL0.FUNITID
    AND TUL0.FLOCALEID = 2052
)
INNER JOIN T_BD_STOCK TSK ON (
    TSK.FMASTERID = TI.FSTOCKID
    AND (
        TSK.FUSEORGID = TI.FSTOCKORGID
        OR EXISTS (
            SELECT
                1
            FROM
                T_META_BASEDATATYPE BT
            WHERE
                (
                    BT.FBASEDATATYPEID = 'BD_STOCK'
                    AND BT.FSTRATEGYTYPE = 1
                )
        )
    )
)
LEFT OUTER JOIN T_BD_STOCK_L TSL ON (
    TSL.FSTOCKID = TI.FSTOCKID
    AND TSL.FLOCALEID = 2052
)
LEFT OUTER JOIN T_BD_UNIT_L TUL1 ON (
    TI.FBASEUNITID = TUL1.FUNITID
    AND TUL1.FLOCALEID = 2052
)
LEFT OUTER JOIN T_BD_UNIT TUE ON TMS.FAUXUNITID = TUE.FUNITID
LEFT OUTER JOIN T_BD_UNIT_L TUL2 ON (
    TI.FSECUNITID = TUL2.FUNITID
    AND TUL2.FLOCALEID = 2052
)
LEFT OUTER JOIN V_ITEMCLASS_OWNER VO ON (
    (
        VO.FMASTERID = TI.FOWNERID
        AND VO.FFORMID = TI.FOWNERTYPEID
    )
    AND (
        VO.FUSEORGID = TI.FSTOCKORGID
        OR VO.FUSEORGID = 0
        OR EXISTS (
            SELECT
                1
            FROM
                T_META_BASEDATATYPE BT
            WHERE
                (
                    BT.FBASEDATATYPEID = VO.FFORMID
                    AND BT.FSTRATEGYTYPE = 1
                )
        )
    )
)
LEFT OUTER JOIN V_ITEMCLASS_OWNER_L VO_L ON (
    VO.FITEMID = VO_L.FITEMID
    AND VO_L.FLOCALEID = 2052
)
LEFT OUTER JOIN V_ITEMCLASS_KEEPER VK ON (
    (
        VK.FMASTERID = TI.FKEEPERID
        AND VK.FFORMID = TI.FKEEPERTYPEID
    )
    AND (
        VK.FUSEORGID = TI.FSTOCKORGID
        OR VK.FUSEORGID = 0
        OR EXISTS (
            SELECT
                1
            FROM
                T_META_BASEDATATYPE BT
            WHERE
                (
                    BT.FBASEDATATYPEID = VK.FFORMID
                    AND BT.FSTRATEGYTYPE = 1
                )
        )
    )
)
LEFT OUTER JOIN V_ITEMCLASS_KEEPER_L VK_L ON (
    VK.FITEMID = VK_L.FITEMID
    AND VK_L.FLOCALEID = 2052
)
--以下仓位
LEFT OUTER JOIN T_BAS_FLEXVALUESDETAIL FVD ON TI.FSTOCKLOCID = FVD.FID
LEFT OUTER JOIN T_BAS_FLEXVALUESENTRY_L VFF100001 ON (
    FVD.FOPCODE = VFF100001.FENTRYID
    AND VFF100001.FLOCALEID = 2052
)
LEFT OUTER JOIN T_BAS_FLEXVALUESENTRY_L VFF100002 ON (
    FVD.FOPCODE = VFF100002.FENTRYID
    AND VFF100002.FLOCALEID = 2052
)
LEFT OUTER JOIN T_BAS_FLEXVALUESENTRY_L VFF100003 ON (
    FVD.FOPCODE = VFF100003.FENTRYID
    AND VFF100003.FLOCALEID = 2052
)
--以下锁库和预留
LEFT OUTER JOIN (
    SELECT
        TLKE.FSUPPLYINTERID finventryid,
        SUM (TLKE.FBASEQTY) fbaselockqty,
        SUM (TLKE.FSECQTY) fseclockqty
    FROM
        T_PLN_RESERVELINKENTRY TLKE
    INNER JOIN T_PLN_RESERVELINK TLKH ON TLKE.FID = TLKH.FID
    WHERE
        (
            TLKE.FSUPPLYFORMID = 'STK_Inventory'
            AND TLKE.FLINKTYPE = '4'
        )
    GROUP BY
        TLKE.FSUPPLYINTERID
) tsub ON TI.FID = TSUB.FINVENTRYID
WHERE TI.FBASEQTY > 0

以上这条语句是自己调试出来的,不过条数比第一个多了40几条(共3w多条),但是该有的都有,所以这个暂时就采用了,之后调试或者测试的时候估计还会继续修改,暂时到这里

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
金蝶云星空是由金蝶软件开发的一款基础资料管理系统,其提供了丰富的功能和灵活的查询方式,可以方便地查询和操作企业的基础资料。 在使用金蝶云星空进行基础资料的sql查询时,我们可以通过以下步骤进行操作: 首先,登录金蝶云星空系统,进入到基础资料管理的模块。在该模块中,我们可以看到不同的基础资料分类,如客户、供应商、物料等。 然后,选择需要查询的基础资料类别,比如我们选择客户作为例子。在客户基础资料管理页面,我们可以看到已经存在的客户数据。 接下来,我们点击查询按钮,进入到查询条件设置界面。在该界面中,我们可以设置各种查询条件,如客户编号、客户名称、客户类型等。在设置完查询条件后,点击确认按钮。 系统将根据设置的查询条件,自动生成相应的sql查询语句,并进行查询。在查询结果中,我们可以看到满足查询条件的客户数据信息。 同时,金蝶云星空还提供了一些高级的查询功能,如按照某个字段进行排序、分页显示查询结果等。这些功能可以根据实际需要进行使用。 最后,我们可以根据查询结果进行进一步的操作,如看详细信息、修改、删除等。同时,系统还支持将查询结果导出为Excel表格或PDF文件,方便数据的保存和分享。 综上所述,金蝶云星空基础资料的sql查询功能非常强大和灵活,能够满足企业对基础资料管理的各种需求。在使用过程中,我们只需要根据实际需要设置相应的查询条件,系统会自动执行sql查询,并返回符合条件的结果,帮助我们更好地管理和利用企业的基础资料。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值