2025-08-29 11:55:15 +08:00

256 lines
16 KiB
Transact-SQL

-- 安全删除方式(推荐)
IF OBJECT_ID('dbo.ZZV_FaPiao', 'V') IS NOT NULL
DROP VIEW dbo.ZZV_FaPiao;
GO
CREATE VIEW ZZV_FaPiao
AS
--销售增值税发票-销售订单
SELECT DISTINCT
D.FID AS '销售订单FID',
E.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS [开票组织],
A.FID AS [开票FID],
B.FENTRYID AS [开票FENTRYID],
B.FPRICEQTY AS [开票数量],
B.FALLAMOUNTFOR AS [开票金额] --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM
T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY' --销售增值税发票关联关系表
INNER JOIN T_SAL_ORDERENTRY E ON E.FENTRYID = C.FSID
INNER JOIN T_SAL_ORDER D ON D.FID = E.FID
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--销售增值税专用发票-应收单-销售订单
SELECT DISTINCT
F.FID AS '销售订单FID',
FE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_ORDERENTRY' --应收单关联表
INNER JOIN T_SAL_ORDERENTRY FE ON FE.FENTRYID = E.FSID
INNER JOIN T_SAL_ORDER F ON F.FID = FE.FID
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--销售增值税专用发票-应收单-销售出库单-发货通知单-销售订单
SELECT DISTINCT
J.FID AS '销售订单FID',
JE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' -- 价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 'T_AR_receivableEntry' -- 销售增值税发票关联关系
INNER JOIN T_AR_receivableEntry D ON D.FENTRYID = C.FSID -- 应收单表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' -- 应收单关联表
INNER JOIN T_SAL_OUTSTOCKENTRY F ON F.FENTRYID = E.FSID -- 销售出库单明细表
INNER JOIN T_SAL_OUTSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY' -- 销售出库单关联
INNER JOIN T_SAL_DELIVERYNOTICEENTRY H ON H.FENTRYID = G.FSID -- 发货通知单明细表
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK I ON I.FENTRYID = H.FENTRYID AND I.FSTABLENAME = 'T_SAL_ORDERENTRY' -- 发货通知单关联关系
INNER JOIN T_SAL_ORDERENTRY JE ON JE.FENTRYID = I.FSID
INNER JOIN T_SAL_ORDER J ON J.FID = JE.FID
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--销售增值税专用发票-应收单-销售出库单-销售订单
SELECT DISTINCT
H.FID AS '销售订单FID',
HE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' --应收单关联表
INNER JOIN T_SAL_OUTSTOCKENTRY F ON F.FENTRYID = E.FSID --销售出库单明细表
INNER JOIN T_SAL_OUTSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_ORDERENTRY' --销售出库单关联关系表
INNER JOIN T_SAL_ORDERENTRY HE ON HE.FENTRYID = G.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER H ON H.FID = G.FSBILLID --销售订单
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--销售增值税专用发票-应收单-期初销售出库单-销售订单
SELECT DISTINCT
G.FID AS '销售订单FID',
GE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_INITOUTSTOCKENTRY' --应收单关联表
INNER JOIN T_SAL_INITOUTSTOCKENTRY_LK F ON F.FENTRYID = E.FSID AND F.FSTABLENAME = 'T_SAL_ORDERENTRY' --期初销售出库单
INNER JOIN T_SAL_ORDERENTRY GE ON GE.FENTRYID = F.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER G ON G.FID = F.FSBILLID
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--红票销售增值税专用发票-应收单-销售退货单-退货通知单-销售订单
SELECT DISTINCT
J.FID AS '销售订单FID',
JE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表明细表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_RETURNSTOCKENTRY' --应收单关联关系表
INNER JOIN T_SAL_RETURNSTOCKENTRY F ON F.FENTRYID = E.FSID --销售退货单明细表
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_RETURNNOTICEENTRY' --销售退货单关联关系表
INNER JOIN T_SAL_RETURNNOTICEENTRY H ON H.FENTRYID = G.FSID --退货通知单明细表
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK I ON I.FENTRYID = H.FENTRYID AND I.FSTABLENAME = 'T_SAL_ORDERENTRY' --退货通知单关联关系表
INNER JOIN T_SAL_ORDERENTRY JE ON JE.FENTRYID = I.FSID
INNER JOIN T_SAL_ORDER J ON J.FID = JE.FID --销售订单
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--红票销售增值税专用发票-应收单-销售退货单-销售订单
SELECT DISTINCT
J.FID AS '销售订单FID',
JE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表明细表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_RETURNSTOCKENTRY' --应收单关联关系表
INNER JOIN T_SAL_RETURNSTOCKENTRY F ON F.FENTRYID = E.FSID --销售退货单明细表
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_ORDERENTRY' --销售退货单关联关系表
INNER JOIN T_SAL_ORDERENTRY JE ON JE.FENTRYID = G.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER J ON J.FID = G.FSBILLID --销售订单
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--红票销售增值税专用发票-应收单-销售退货单-退货通知单-销售出库单-发货通知单-销售订单
SELECT DISTINCT
L.FID AS '销售订单FID',
LE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表明细表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_RETURNSTOCKENTRY' --应收单关联关系表
INNER JOIN T_SAL_RETURNSTOCKENTRY F ON F.FENTRYID = E.FSID --销售退货单明细表
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_RETURNNOTICEENTRY' --销售退货单关联关系表
INNER JOIN T_SAL_RETURNNOTICEENTRY H ON H.FENTRYID = G.FSID --退货通知单明细表
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK I ON I.FENTRYID = H.FENTRYID AND I.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' --退货通知单关联关系表
INNER JOIN T_SAL_OUTSTOCKENTRY_LK J ON J.FENTRYID = I.FSID AND J.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY' --销售出库单关联关系表
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK K ON K.FENTRYID = J.FSID AND K.FSTABLENAME = 'T_SAL_ORDERENTRY' --发货通知单关联关系表
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FENTRYID = K.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER L ON L.FID = LE.FID --销售订单表
WHERE a.FDOCUMENTSTATUS='C'
--红票销售增值税专用发票-应收单-销售退货单-销售出库单-发货通知单-销售订单
UNION all
SELECT DISTINCT
L.FID AS '销售订单FID',
LE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表明细表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_RETURNSTOCKENTRY' --应收单关联关系表
INNER JOIN T_SAL_RETURNSTOCKENTRY F ON F.FENTRYID = E.FSID --销售退货单明细表
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' --销售退货单关联关系表
INNER JOIN T_SAL_OUTSTOCKENTRY_LK J ON J.FENTRYID = G.FSID AND J.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY' --销售出库单关联关系表
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK K ON K.FENTRYID = J.FSID AND K.FSTABLENAME = 'T_SAL_ORDERENTRY' --发货通知单关联关系表
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FENTRYID = K.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER L ON L.FID = LE.FID --销售订单表
WHERE a.FDOCUMENTSTATUS='C'
UNION all
--红票销售增值税专用发票-应收单-销售退货单-销售出库单-销售订单
SELECT DISTINCT
L.FID AS '销售订单FID',
LE.FENTRYID AS '销售订单FENTRYID',
A.FSALEORGID AS '发票组织',
A.FID AS '发票FID',
B.FENTRYID AS '发票FENTRYID',
B.FPRICEQTY AS '开票数量',
B.FALLAMOUNTFOR AS '红字发票金额' --价税合计
,CASE WHEN A.FBILLTYPEID='50ea4e69b6144f69961d2e9b44820929' THEN '专票' ELSE '普票' END AS [发票类型]
,CASE WHEN F_GENERALINVOICE='Y' THEN '' ELSE '' END '是否普票存财务'
FROM T_IV_SALESIC A
INNER JOIN T_IV_SALESICENTRY B ON A.FID = B.FID
INNER JOIN T_IV_SALESICENTRY_LK C ON C.FENTRYID = B.FENTRYID AND C.FSTABLENAME = 't_AR_receivableEntry' --销售增值税发票关联关系表
INNER JOIN t_AR_receivableEntry D ON D.FENTRYID = C.FSID --应收单表明细表
INNER JOIN T_AR_RECEIVABLEENTRY_LK E ON E.FENTRYID = D.FENTRYID AND E.FSTABLENAME = 'T_SAL_RETURNSTOCKENTRY' --应收单关联关系表
INNER JOIN T_SAL_RETURNSTOCKENTRY F ON F.FENTRYID = E.FSID --销售退货单明细表
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK G ON G.FENTRYID = F.FENTRYID AND G.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' --销售退货单关联关系表
INNER JOIN T_SAL_OUTSTOCKENTRY_LK J ON J.FENTRYID = G.FSID AND J.FSTABLENAME = 'T_SAL_ORDERENTRY' --销售出库单关联关系表
INNER JOIN T_SAL_ORDERENTRY LE ON LE.FENTRYID = J.FSID --销售订单明细表
INNER JOIN T_SAL_ORDER L ON L.FID = LE.FID --销售订单表
WHERE a.FDOCUMENTSTATUS='C'
----对表的数据进行分组合计
--SELECT DISTINCT
--[销售订单FID],
--[销售订单FENTRYID],
--[开票组织],
--[开票FID],
--[开票FENTRYID],
--SUM([开票数量]) AS 开票数量,
--SUM([开票金额]) AS 开票金额
--INTO #TEMP1
--FROM GZTH_AuditSal_OrderFP
--GROUP BY [销售订单FID],[销售订单FENTRYID],[开票组织],[开票FID],[开票FENTRYID]