U8常用查詢語句:采購訂單執行狀態表


個人能力有限,在U8內沒有找到現成的報表,可以批量查詢采購單執行狀態。。。
借鑒了一下:https://blog.csdn.net/yanming8888/article/details/84722720
實現以下2個功能:

(1)總表:統計從未入過庫的采購訂單,可用於期初上線切換。

SELECT a.ivtid,
       a.cpoid AS 訂單號碼,
       a.dpodate 采購日期,
       a.cbustype AS 業務類型,
       a.cvencode AS 供應單位,
       a.cvenname AS 供應商名稱,
       a.cmemo AS 備注,
       a.cexch_name AS 幣種,
       a.cmaker AS 創建人,
       a.cverifier AS 審批人,
       a.cptname AS 采購類型,
       a.cvenaddress AS 地址,
       a.cvoucherstate 訂單狀態,
       b.行數,
       b.數量,
       b.累計入庫數量,
       b.數量 - b.累計入庫數量 剩余數量
FROM zpurpoheader a
    LEFT JOIN
    (
        SELECT poid,
               COUNT(*) 行數,
               SUM(CONVERT(FLOAT, iquantity)) 數量,
               SUM(CONVERT(FLOAT, iarrqty)) 累計到貨數量,
               SUM(CONVERT(FLOAT, ireceivedqty)) 累計入庫數量
        FROM dbo.zpurpotail
        GROUP BY poid
    ) b
        ON b.poid = a.poid
WHERE b.累計入庫數量 = 0

(3)明細表:從采購單入手,獲取采購明細;再根據行號,獲取相應入庫單。

SELECT a.cpoid AS 訂單號碼,
       a.dpodate 采購日期,
       a.cbustype AS 業務類型,
       a.cvenname AS 供應商名稱,
       a.cvenaddress 地址,
       a.cvoucherstate 采購單狀態,
       a.cmemo 備注,
       a.cexch_name 幣種,
       RIGHT(REPLICATE('0', 6) + LTRIM(b.ivouchrowno), 6) 行號,
       b.cinvcode 存貨編碼,
       b.cinvname 存貨名稱,
       b.cinvstd 規格型號,
       CONVERT(FLOAT, b.iquantity) 數量,
       CONVERT(FLOAT, b.ireceivedqty) 累計入庫數量,
       CONVERT(FLOAT, b.iinvqty) 累計開票數量,
       rd.cBatch 批號,
       PARSENAME(REPLACE(STUFF(rd.cbsysbarcode, 1, 2, ''), '|', '.'), 2) 入庫單號,
       a.cmaker 創建人,
       a.cverifier 審批人,
       a.cptname 采購類型
FROM zpurpoheader a --采購訂單
    LEFT JOIN zpurpotail b
        ON a.poid = b.poid
    LEFT JOIN rdrecords01 rd
        ON rd.cPOID = a.cpoid
           AND rd.irowno = b.ivouchrowno
WHERE a.cpoid = '訂單號'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM