1. 概述

分析了下发出商品余额表的SQL,取数逻辑相对简单,就是取销售出库单及退货入库单的交易明细中,应结算计价数量-应收销售成本明细档计价数量&交易明细成本金额-应收销售成本明细档成本金额不为0的数据;

2. SQL

declare @ACCOUNT_YEAR varchar(4),@ACCOUNT_PERIOD_SEQNO int
select @ACCOUNT_YEAR='2020',@ACCOUNT_PERIOD_SEQNO=8
SELECT
CASE  WHEN [TLA].[SYNERGY_D_ID] = '00000000-0000-0000-0000-000000000000' THEN [TLA].[CUSTOMER_CODE]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] = 1) THEN [CUS2].[CUSTOMER_CODE]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] IN (2,3)) THEN [CUS3].[CUSTOMER_CODE]
ELSE N' ' END AS [CUSTOMER_CODE],
CASE  WHEN [TLA].[SYNERGY_D_ID] = '00000000-0000-0000-0000-000000000000' THEN [TLA].[CUSTOMER_NAME]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] = 1) THEN [CUS2].[CUSTOMER_NAME]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] IN (2,3)) THEN [CUS3].[CUSTOMER_NAME]
ELSE N' ' END AS [CUSTOMER_NAME],
CASE  WHEN [TLA].[SYNERGY_D_ID] = '00000000-0000-0000-0000-000000000000' THEN [TLA].[CUSTOMER_FULL_NAME]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] = 1) THEN [CUS2].[CUSTOMER_FULL_NAME]
WHEN ([TLA].[SYNERGY_D_ID] <> '00000000-0000-0000-0000-000000000000' AND [TLA].[SYNERGY_TYPE] IN (2,3)) THEN [CUS3].[CUSTOMER_FULL_NAME]
ELSE N' ' END AS [CUSTOMER_FULL_NAME],
CASE  WHEN ([DOC].[CATEGORY] = N'14' AND ([TLA].[EXPORT_CONTROL] = 0 OR  [TLA].[EXPORT_CONTROL] IS NULL)) THEN ([DOC].[CATEGORY]+N'A')
WHEN ([DOC].[CATEGORY] = N'14' AND [TLA].[EXPORT_CONTROL] = 1) THEN ([DOC].[CATEGORY]+N'B')
ELSE [DOC].[CATEGORY] END AS [CATEGORY],
[DOC].[DOC_NAME],
[TLA].[DOC_NO],
[TLA].[SEQUENCE_NO],
CAST([TLA].[TRANSACTION_DATE] AS Date) AS [TRANSACTION_DATE],
[TLA].[ITEM_CODE],
[TLA].[ITEM_NAME],
[TLA].[ITEM_SPECIFICATION],
[ITF].[ITEM_FEATURE_CODE],
[ITF].[ITEM_SPECIFICATION] AS [ITEM_FEATURE_SPECIFICATION],
[ITF].[ITEM_DESC],
[ITF].[DRAWING_NO],
[TLA].[S_QTY],
[UNIT].[UNIT_CODE],
[UNIT].[UNIT_NAME],
CAST([TLA].[S_COST] AS Decimal(18,2)) AS [S_COST],
[TLA].[AR_QTY],
CAST([TLA].[AR_COST] AS Decimal(18,2)) AS [AR_COST],
[TLA].[B_QTY],CAST([TLA].[B_COST] AS Decimal(18,2)) AS [B_COST],
[IFY].[IM_FICATEGORY_CODE],
[IFY].[IM_FICATEGORY_NAME],
[CF].[CUSTOMER_FICATEGORY_CODE],
[CF].[CUSTOMER_FICATEGORY_NAME],
[P].[PLANT_CODE],[P].[PLANT_NAME],
[TLA].[ITEM_F1],[TLA].[ITEM_F2],
[TLA].[ITEM_F3],[TLA].[ITEM_F4],
[SD_DOC_NO],[SD_ID],[SDD_SequenceNumber],
[SO_DOC_NO],
[SDD_ID],
[SO_ID],
[SOD_SequenceNumber],
[SOD_ID],
[SOSD_SequenceNumber],
[SOSD_ID],
[SI_ID],
[SID_ID],
[TLA].[CUSTOMER_ITEM_CODE],
[TLA].[CUSTOMER_ITEM_NAME],
[TLA].[CUSTOMER_ITEM_SPECIFICATION],
[TLA].[CUSTOMER_ORDER_NO],
CASE [TLA].[DRAWING_NO_FROM] WHEN N'1' THEN [TLA].[DRAWING_NO] WHEN N'2' THEN [ITF].[DRAWING_NO] ELSE [TLA].[DRAWING_NO] END AS [ITEM_DRAWING_NO],
[TLA].[SHORTCUT],[TLA].[WAREHOUSE_CODE],
[TLA].[WAREHOUSE_NAME],[TLA].[BIN_CODE],
[TLA].[BIN_NAME],[TLA].[LOT_CODE],
[TLA].[LOT_DESCRIPTION] FROM
---1
(SELECT [TL].[ITEM_ID],[TL].[ITEM_FEATURE_ID], [TL].[Owner_Org_ROid] AS [Owner_Org_ROid],[SD].[INVOICE_CUSTOMER_ID] AS [CUSTOMER_ID],[TL].[DOC_ID],[TL].[TRANSACTION_DATE],[TL].[DOC_NO],[TL].[SEQUENCE_NO], ([SID].[SHOULD_SETTLE_PRICE_QTY]*([TL].[STOCK_ACTION]*(-1)) )  AS [S_QTY] ,([TL].[COST_AMT]*([TL].[STOCK_ACTION]*(-1)) )  AS [S_COST] , (ISNULL([AR].[PRICE_QTY],0)*([TL].[STOCK_ACTION]*(-1)) )  AS [AR_QTY] , (ISNULL([AR].[SALES_COST_AMT],0)*([TL].[STOCK_ACTION]*(-1)) )  AS [AR_COST] , (([SID].[SHOULD_SETTLE_PRICE_QTY]-ISNULL([AR].[PRICE_QTY],0)) *([TL].[STOCK_ACTION]*(-1)) )  AS [B_QTY] , --应结算计价数量-应收销售成本明细档计价数量(([TL].[COST_AMT]-ISNULL([AR].[SALES_COST_AMT],0)) *([TL].[STOCK_ACTION]*(-1)) )  AS [B_COST] , --交易明细成本金额-应收销售成本明细档成本金额[SD].[DOC_NO] AS [SD_DOC_NO], [SD].[SALES_DELIVERY_ID] AS [SD_ID], [SDD].[SequenceNumber] AS [SDD_SequenceNumber], [SDD].[SALES_DELIVERY_D_ID] AS [SDD_ID], [SO].[DOC_NO] AS [SO_DOC_NO], [SO].[SALES_ORDER_DOC_ID] AS [SO_ID], [SOD].[SequenceNumber] AS [SOD_SequenceNumber], [SOD].[SALES_ORDER_DOC_D_ID] AS [SOD_ID], [SOSD].[SequenceNumber] AS [SOSD_SequenceNumber], [SOSD].[SALES_ORDER_DOC_SD_ID] AS [SOSD_ID], [CI].[CUSTOMER_ITEM_CODE] AS [CUSTOMER_ITEM_CODE], [CI].[CUSTOMER_ITEM_NAME] AS [CUSTOMER_ITEM_NAME], [CI].[CUSTOMER_ITEM_SPECIFICATION] AS [CUSTOMER_ITEM_SPECIFICATION], [SO].[CUSTOMER_ORDER_NO] AS [CUSTOMER_ORDER_NO], [SDD].[PRICE_UNIT_ID] AS [SDD_PRICE_UNIT_ID], [SI].[SALES_ISSUE_ID] AS [SI_ID], [SID].[SALES_ISSUE_D_ID] AS [SID_ID], [SID].[SYNERGY_ID] AS [SYNERGY_ID], [SID].[SYNERGY_D_ID] AS [SYNERGY_D_ID], [SID].[SYNERGY_TYPE] AS [SYNERGY_TYPE], [WAREHOUSE].[WAREHOUSE_CODE] AS [WAREHOUSE_CODE], [WAREHOUSE].[WAREHOUSE_NAME] AS [WAREHOUSE_NAME], [BIN].[BIN_CODE] AS [BIN_CODE], [BIN].[BIN_NAME] AS [BIN_NAME], [ITEM_LOT].[LOT_CODE] AS [LOT_CODE], [ITEM_LOT].[LOT_DESCRIPTION] AS [LOT_DESCRIPTION], [DOC1].[EXPORT_CONTROL] AS [EXPORT_CONTROL], [CU].[CUSTOMER_CODE] AS [CUSTOMER_CODE], [CU].[CUSTOMER_NAME] AS [CUSTOMER_NAME], [CU].[CUSTOMER_FULL_NAME] AS [CUSTOMER_FULL_NAME], [IT].[ITEM_CODE] AS [ITEM_CODE], [IT].[ITEM_NAME] AS [ITEM_NAME], [IT].[ITEM_SPECIFICATION] AS [ITEM_SPECIFICATION], [IT].[DRAWING_NO_FROM] AS [DRAWING_NO_FROM], [IT].[DRAWING_NO] AS [DRAWING_NO], [IT].[SHORTCUT] AS [SHORTCUT],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4] FROM [TRANSACTION_LINE] AS [TL] INNER JOIN [SALES_ISSUE_D] AS [SID] ON [TL].[SOURCE_ID_ROid] = [SID].[SALES_ISSUE_D_ID] INNER JOIN [SALES_ISSUE] AS [SI] ON [SID].[SALES_ISSUE_ID] = [SI].[SALES_ISSUE_ID] LEFT OUTER JOIN [SALES_DELIVERY_D] AS [SDD] ON [SDD].[SALES_DELIVERY_D_ID] = [SID].[SOURCE_ID_ROid] LEFT OUTER JOIN [SALES_DELIVERY] AS [SD] ON [SD].[SALES_DELIVERY_ID] = [SDD].[SALES_DELIVERY_ID] LEFT OUTER JOIN [SALES_ORDER_DOC_SD] AS [SOSD] ON [SOSD].[SALES_ORDER_DOC_SD_ID] = [SDD].[SOURCE_ID_ROid] LEFT OUTER JOIN [SALES_ORDER_DOC_D] AS [SOD] ON [SOD].[SALES_ORDER_DOC_D_ID] = [SOSD].[SALES_ORDER_DOC_D_ID] LEFT OUTER JOIN [SALES_ORDER_DOC] AS [SO] ON [SOD].[SALES_ORDER_DOC_ID] = [SO].[SALES_ORDER_DOC_ID] LEFT OUTER JOIN [CUSTOMER_ITEM] AS [CI] ON [CI].[CUSTOMER_ITEM_ID] = [SOD].[CUSTOMER_ITEM_ID] LEFT OUTER JOIN [WAREHOUSE] AS [WAREHOUSE] ON [WAREHOUSE].[WAREHOUSE_ID] = [SID].[WAREHOUSE_ID] LEFT OUTER JOIN [BIN] AS [BIN] ON [BIN].[BIN_ID] = [SID].[BIN_ID] LEFT OUTER JOIN [ITEM_LOT] AS [ITEM_LOT] ON [ITEM_LOT].[ITEM_LOT_ID] = [SID].[ITEM_LOT_ID] LEFT OUTER JOIN [ITEM] AS [IT] ON [IT].[ITEM_BUSINESS_ID] = [TL].[ITEM_ID] LEFT OUTER JOIN [CUSTOMER] AS [CU] ON [CU].[CUSTOMER_BUSINESS_ID] = [SD].[INVOICE_CUSTOMER_ID] LEFT OUTER JOIN (SELECT  [RED].[SOURCE2_ID_ROid] AS [SOURCE2_ID_ROid],SUM(([RED].[PRICE_QTY]*1) ) AS [PRICE_QTY],SUM(ISNULL([ARC].[SALES_COST_AMT],0)) AS [SALES_COST_AMT] FROM [RECEIVABLE_DOC_D] AS [RED] INNER JOIN [RECEIVABLE_DOC] AS [RE] ON [RE].[RECEIVABLE_DOC_ID] = [RED].[RECEIVABLE_DOC_ID] LEFT OUTER JOIN [AR_SALES_COST_DETAIL] AS [ARC] ON [ARC].[SOURCE2_ID_ROid] = [RED].[RECEIVABLE_DOC_D_ID] --应收销售成本明细档WHERE ((1=1 AND [RE].[ApproveStatus] = N'Y') AND (([RE].[ACCOUNT_YEAR] = @ACCOUNT_YEAR AND [RE].[ACCOUNT_PERIOD_SEQNO] <= @ACCOUNT_PERIOD_SEQNO) OR [RE].[ACCOUNT_YEAR] < @ACCOUNT_YEAR)) GROUP BY [RED].[SOURCE2_ID_ROid]) AS [AR] ON [AR].[SOURCE2_ID_ROid] = [TL].[SOURCE_ID_ROid] LEFT OUTER JOIN [DOC] AS [DOC1] ON [DOC1].[DOC_ID] = [SD].[DOC_ID] INNER JOIN (--品号特征码,未启用的可以去除SELECT  [ITEM].[ITEM_BUSINESS_ID] AS [ITEM_ID],ISNULL([ITEM_FEATURE].[ITEM_FEATURE_ID],'00000000-0000-0000-0000-000000000000') AS [ITEM_FEATURE_ID],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4] FROM [ITEM] AS [ITEM] LEFT OUTER JOIN [ITEM_FEATURE] AS [ITEM_FEATURE] ON [ITEM].[ITEM_BUSINESS_ID] = [ITEM_FEATURE].[ITEM_BUSINESS_ID] UNION ALL (SELECT '00000000-0000-0000-0000-000000000000' AS [ITEM_ID],'00000000-0000-0000-0000-000000000000' AS [ITEM_FEATURE_ID],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4])) AS [FEATURE] ON ([TL].[ITEM_ID] = [FEATURE].[ITEM_ID] AND [TL].[ITEM_FEATURE_ID] = [FEATURE].[ITEM_FEATURE_ID]) WHERE (1=1 AND ((         ((([TL].[ACCOUNT_YEAR] = @ACCOUNT_YEAR AND [TL].[ACCOUNT_PERIOD_SEQNO] <= @ACCOUNT_PERIOD_SEQNO --截止年月份) OR [TL].[ACCOUNT_YEAR] < @ACCOUNT_YEAR) AND [SI].[COMPANY_ID] = '73D1A08F-A636-480D-318A-13DE3C5E085E') AND [SID].[SETTLEMENT_CLOSE] <> N'0' --结算状态码不为不需结算) AND [TL].[STOCK_ACTION] = (-1) --交易记录为扣减库存)) UNION ----2(SELECT [TL].[ITEM_ID],[TL].[ITEM_FEATURE_ID], [TL].[Owner_Org_ROid] AS [Owner_Org_ROid], [SD].[INVOICE_CUSTOMER_ID] AS [CUSTOMER_ID],[TL].[DOC_ID],[TL].[TRANSACTION_DATE],[TL].[DOC_NO],[TL].[SEQUENCE_NO], ([SID].[PRICE_QTY]*([TL].[STOCK_ACTION]*(-1)) )  AS [S_QTY] , ([TL].[COST_AMT]*([TL].[STOCK_ACTION]*(-1)) )  AS [S_COST] , (ISNULL([AR].[PRICE_QTY],0)*([TL].[STOCK_ACTION]*(-1)) )  AS [AR_QTY] , (ISNULL([AR].[SALES_COST_AMT],0)*([TL].[STOCK_ACTION]*(-1)) )  AS [AR_COST] , (([SID].[PRICE_QTY]-ISNULL([AR].[PRICE_QTY],0)) *([TL].[STOCK_ACTION]*(-1)) )  AS [B_QTY] , (([TL].[COST_AMT]-ISNULL([AR].[SALES_COST_AMT],0)) *([TL].[STOCK_ACTION]*(-1)) )  AS [B_COST] , [SD].[DOC_NO] AS [SD_DOC_NO], [SD].[SALES_RETURN_ID] AS [SD_ID], [SDD].[SequenceNumber] AS [SDD_SequenceNumber], [SDD].[SALES_RETURN_D_ID] AS [SDD_ID], [SO].[DOC_NO] AS [SO_DOC_NO], [SO].[SALES_ORDER_DOC_ID] AS [SO_ID], [SOD].[SequenceNumber] AS [SOD_SequenceNumber], [SOD].[SALES_ORDER_DOC_D_ID] AS [SOD_ID], [SOSD].[SequenceNumber] AS [SOSD_SequenceNumber], [SOSD].[SALES_ORDER_DOC_SD_ID] AS [SOSD_ID], [CI].[CUSTOMER_ITEM_CODE] AS [CUSTOMER_ITEM_CODE], [CI].[CUSTOMER_ITEM_NAME] AS [CUSTOMER_ITEM_NAME], [CI].[CUSTOMER_ITEM_SPECIFICATION] AS [CUSTOMER_ITEM_SPECIFICATION], [SO].[CUSTOMER_ORDER_NO] AS [CUSTOMER_ORDER_NO], [SDD].[PRICE_UNIT_ID] AS [SDD_PRICE_UNIT_ID], [SI].[SALES_RETURN_RECEIPT_ID] AS [SI_ID], [SID].[SALES_RETURN_RECEIPT_D_ID] AS [SID_ID], [SID].[SYNERGY_ID] AS [SYNERGY_ID], [SID].[SYNERGY_D_ID] AS [SYNERGY_D_ID], [SID].[SYNERGY_TYPE] AS [SYNERGY_TYPE], [WAREHOUSE].[WAREHOUSE_CODE] AS [WAREHOUSE_CODE], [WAREHOUSE].[WAREHOUSE_NAME] AS [WAREHOUSE_NAME], [BIN].[BIN_CODE] AS [BIN_CODE], [BIN].[BIN_NAME] AS [BIN_NAME], [ITEM_LOT].[LOT_CODE] AS [LOT_CODE], [ITEM_LOT].[LOT_DESCRIPTION] AS [LOT_DESCRIPTION], [DOC1].[EXPORT_CONTROL] AS [EXPORT_CONTROL], [CU].[CUSTOMER_CODE] AS [CUSTOMER_CODE], [CU].[CUSTOMER_NAME] AS [CUSTOMER_NAME], [CU].[CUSTOMER_FULL_NAME] AS [CUSTOMER_FULL_NAME], [IT].[ITEM_CODE] AS [ITEM_CODE],[IT].[ITEM_NAME] AS [ITEM_NAME], [IT].[ITEM_SPECIFICATION] AS [ITEM_SPECIFICATION], [IT].[DRAWING_NO_FROM] AS [DRAWING_NO_FROM], [IT].[DRAWING_NO] AS [DRAWING_NO], [IT].[SHORTCUT] AS [SHORTCUT],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4] FROM [TRANSACTION_LINE] AS [TL] INNER JOIN [SALES_RETURN_RECEIPT_D] AS [SID] ON [TL].[SOURCE_ID_ROid] = [SID].[SALES_RETURN_RECEIPT_D_ID] INNER JOIN [SALES_RETURN_RECEIPT] AS [SI] ON [SID].[SALES_RETURN_RECEIPT_ID] = [SI].[SALES_RETURN_RECEIPT_ID] LEFT OUTER JOIN [SALES_RETURN_D] AS [SDD] ON [SDD].[SALES_RETURN_D_ID] = [SID].[SOURCE_ID_ROid] LEFT OUTER JOIN [SALES_RETURN] AS [SD] ON [SD].[SALES_RETURN_ID] = [SDD].[SALES_RETURN_ID] LEFT OUTER JOIN [SALES_ORDER_DOC_SD] AS [SOSD] ON [SOSD].[SALES_ORDER_DOC_SD_ID] = [SDD].[SOURCE_ID_ROid] LEFT OUTER JOIN [SALES_ORDER_DOC_D] AS [SOD] ON [SOD].[SALES_ORDER_DOC_D_ID] = [SOSD].[SALES_ORDER_DOC_D_ID] LEFT OUTER JOIN [SALES_ORDER_DOC] AS [SO] ON [SOD].[SALES_ORDER_DOC_ID] = [SO].[SALES_ORDER_DOC_ID] LEFT OUTER JOIN [CUSTOMER_ITEM] AS [CI] ON [CI].[CUSTOMER_ITEM_ID] = [SOD].[CUSTOMER_ITEM_ID] LEFT OUTER JOIN [WAREHOUSE] AS [WAREHOUSE] ON [WAREHOUSE].[WAREHOUSE_ID] = [SID].[WAREHOUSE_ID] LEFT OUTER JOIN [BIN] AS [BIN] ON [BIN].[BIN_ID] = [SID].[BIN_ID] LEFT OUTER JOIN [ITEM_LOT] AS [ITEM_LOT] ON [ITEM_LOT].[ITEM_LOT_ID] = [SID].[ITEM_LOT_ID] LEFT OUTER JOIN [ITEM] AS [IT] ON [IT].[ITEM_BUSINESS_ID] = [TL].[ITEM_ID] LEFT OUTER JOIN [CUSTOMER] AS [CU] ON [CU].[CUSTOMER_BUSINESS_ID] = [SD].[INVOICE_CUSTOMER_ID] LEFT OUTER JOIN (SELECT  [RED].[SOURCE2_ID_ROid] AS [SOURCE2_ID_ROid],SUM(([RED].[PRICE_QTY]*(-1)) ) AS [PRICE_QTY],SUM(ISNULL([ARC].[SALES_COST_AMT],0)) AS [SALES_COST_AMT] FROM [RECEIVABLE_DOC_D] AS [RED] INNER JOIN [RECEIVABLE_DOC] AS [RE] ON [RE].[RECEIVABLE_DOC_ID] = [RED].[RECEIVABLE_DOC_ID] LEFT OUTER JOIN [AR_SALES_COST_DETAIL] AS [ARC] ON [ARC].[SOURCE2_ID_ROid] = [RED].[RECEIVABLE_DOC_D_ID] WHERE ((1=1 AND [RE].[ApproveStatus] = N'Y') AND (([RE].[ACCOUNT_YEAR] = @ACCOUNT_YEAR AND [RE].[ACCOUNT_PERIOD_SEQNO] <= @ACCOUNT_PERIOD_SEQNO) OR [RE].[ACCOUNT_YEAR] < @ACCOUNT_YEAR)) GROUP BY [RED].[SOURCE2_ID_ROid]) AS [AR] ON [AR].[SOURCE2_ID_ROid] = [TL].[SOURCE_ID_ROid] LEFT OUTER JOIN [DOC] AS [DOC1] ON [DOC1].[DOC_ID] = [SD].[DOC_ID] INNER JOIN (SELECT  [ITEM].[ITEM_BUSINESS_ID] AS [ITEM_ID],ISNULL([ITEM_FEATURE].[ITEM_FEATURE_ID],'00000000-0000-0000-0000-000000000000') AS [ITEM_FEATURE_ID],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4] FROM [ITEM] AS [ITEM] LEFT OUTER JOIN [ITEM_FEATURE] AS [ITEM_FEATURE] ON [ITEM].[ITEM_BUSINESS_ID] = [ITEM_FEATURE].[ITEM_BUSINESS_ID] UNION ALL (SELECT '00000000-0000-0000-0000-000000000000' AS [ITEM_ID],'00000000-0000-0000-0000-000000000000' AS [ITEM_FEATURE_ID],N' ' AS [ITEM_F1],N' ' AS [ITEM_F2],N' ' AS [ITEM_F3],N' ' AS [ITEM_F4])) AS [FEATURE] ON ([TL].[ITEM_ID] = [FEATURE].[ITEM_ID] AND [TL].[ITEM_FEATURE_ID] = [FEATURE].[ITEM_FEATURE_ID]) WHERE  ((((1=1 AND (([TL].[ACCOUNT_YEAR] = @ACCOUNT_YEAR AND [TL].[ACCOUNT_PERIOD_SEQNO] <= @ACCOUNT_PERIOD_SEQNO) OR [TL].[ACCOUNT_YEAR] < @ACCOUNT_YEAR)) --截止年月份AND [SI].[COMPANY_ID] = '73D1A08F-A636-480D-318A-13DE3C5E085E') AND [SID].[SETTLEMENT_CLOSE] <> N'0') AND [TL].[STOCK_ACTION] = 1)--交易记录为增加库存的)---2
) AS [TLA]
---1
LEFT OUTER JOIN [DOC] AS [DOC] ON [DOC].[DOC_ID] = [TLA].[DOC_ID]
LEFT OUTER JOIN [SALES_SYNERGY] AS [SAS] ON [SAS].[SALES_SYNERGY_ID] = [TLA].[SYNERGY_ID]
LEFT OUTER JOIN [SALES_SYNERGY_FI_D] AS [SASD] ON [SASD].[SALES_SYNERGY_FI_D_ID] = [TLA].[SYNERGY_D_ID]
LEFT OUTER JOIN [SUPPLY_SYNERGY] AS [SUS] ON [SUS].[SUPPLY_SYNERGY_ID] = [TLA].[SYNERGY_ID]
LEFT OUTER JOIN [SUPPLY_SYNERGY_FI_D] AS [SUSD] ON [SUSD].[SUPPLY_SYNERGY_FI_D_ID] = [TLA].[SYNERGY_D_ID]
LEFT OUTER JOIN [CUSTOMER] AS [CUS2] ON [CUS2].[CUSTOMER_BUSINESS_ID] = [SASD].[CUSTOMER_ID]
LEFT OUTER JOIN [CUSTOMER] AS [CUS3] ON [CUS3].[CUSTOMER_BUSINESS_ID] = [SUSD].[CUSTOMER_ID]
LEFT OUTER JOIN [ITEM_FINANCIAL] AS [IFL] ON ([TLA].[ITEM_ID] = [IFL].[ITEM_ID] AND [IFL].[Owner_Org_ROid] = '73D1A08F-A636-480D-318A-13DE3C5E085E')
LEFT OUTER JOIN [IM_FICATEGORY] AS [IFY] ON [IFL].[IM_FICATEGORY_ID] = [IFY].[IM_FICATEGORY_ID]
LEFT OUTER JOIN [CUSTOMER_FI] AS [CFI] ON ([TLA].[CUSTOMER_ID] = [CFI].[CUSTOMER_ID] AND [CFI].[Owner_Org_ROid] = '73D1A08F-A636-480D-318A-13DE3C5E085E')
LEFT OUTER JOIN [CUSTOMER_FICATEGORY] AS [CF] ON [CFI].[CUSTOMER_FICATEGORY_ID] = [CF].[CUSTOMER_FICATEGORY_ID]
LEFT OUTER JOIN [UNIT] AS [UNIT] ON [UNIT].[UNIT_ID] = [TLA].[SDD_PRICE_UNIT_ID]
LEFT OUTER JOIN [PLANT] AS [P] ON [TLA].[Owner_Org_ROid] = [P].[Owner_Org_ROid]
LEFT OUTER JOIN [ITEM_FEATURE] AS [ITF] ON [TLA].[ITEM_FEATURE_ID] = [ITF].[ITEM_FEATURE_ID]
WHERE ((1 = 1 AND 1 = 1) AND ([TLA].[B_QTY] <> 0 OR CAST([TLA].[B_COST] AS Decimal(18,2)) <> 0))
ORDER BY [TLA].[CUSTOMER_CODE]  ,[TLA].[DOC_NO]  ,[TLA].[SEQUENCE_NO]  

--------------------------------------------------------------------------------------------------------------------------

欢迎指正、探讨!

ERP/E10/SQL交流群: 81837123

[ERP/鼎捷E10][销售分销]发出商品余额表取数逻辑及SQL相关推荐

  1. [ERP/鼎捷E10][销售分销]允限销管理

    1.业务场景 针对特定的产品,只允许销售给某些特定的客户或者禁止销售给某些特定的客户,此时就需要进行销售管控. 2.基础数据及设置 1) 维护销售域参数-销售限定策略,下拉选项包含:不控制.价格表控制 ...

  2. [ERP/鼎捷E10][自动分录]发出商品

    科目:发出商品(1406) 发出商品,是指企业采用托收承付结算方式进行销售而出的产成品,收到货款才作销售收入. 销货出库单: 分录:    借:发出商品 贷:存货 应收单: 收入分录:    借:应收 ...

  3. [ERP/鼎捷E10]VMI业务在E10中的处理

    1.VMI概述 VMI全称Vendor Managed Inventory,即供应商管理库存. VMI(Vendor Managed Inventory)是一种以用户和供应商双方都获得最低成本为目的, ...

  4. [ERP/鼎捷E10][采购管理]采购质检业务单据回写到货单字段情况说明

    回写时机如下: 单据建立后,保存.审核.反审核.删除四个动作会回写到货单的字段: 1.保存后 保存前到货单字段: 保存后到货单字段: 保存后会回写:检验状态.合格业务数量.不合格业务数量.检验破坏数量 ...

  5. [ERP/鼎捷E10][产品结构管理]料件认可

    1.料件认可作业目的 在生产过程中,企业对原材料的质量要求比较高,会成立[质量核检]相关的部门,针对还没有核准的品牌产品,进行产品质量的核检,如果通过核检了,这些品牌才会被纳入[料件认可]. 针对纳入 ...

  6. [ERP/鼎捷E10][生产制造]生产齐套分析

    不管什么样的计划,都会有偏差:关注计划的偏差并予以调整,比努力制定一个完美的计划有效的多. ------------------------------------------------------ ...

  7. [ERP/鼎捷E10][自动分录]委托加工物资

    科目:委托加工物资(1408) 资产类科目,用来核算委外加工的材料费和加工费: 领料出库单: 分录:      借:委托加工物资 贷:存货 采购入库单: 成本分录:     借:存货 贷:委托加工物资 ...

  8. [性能] SAP销售订单取数逻辑优化---索引表

    我也分享了许多篇性能优化的帖子,主要集中在sql.语法及合理的索引方面.我们在表上加索引确实能大幅提升性能,但是索引的数量.所需字段及利用率都是我们在新建索引时需要考虑的,对于大多数abaper而言, ...

  9. 【SAP Abap】关于销售凭证VBKD业务数据表的使用与注意事项

    关于销售凭证VBKD业务数据表的使用与注意事项 1.背景 2.优化方案 1.背景 定制开发功能运维,阅读发现如下代码: SELECT A~VBELN,A~POSNR,A~MATNR,A~ABGRU,C ...

  10. 鼎信诺虚拟服务器导数,鼎信诺审计前端取数讲解.ppt

    鼎信诺审计前端取数讲解.ppt 鼎信诺审计前端取数 财务软件介绍 财务软件本身不存储任何财务数据财务软件存取在后台数据库中财务软件只是告诉用户在什么模块做什么操作 在财务软件凭证录入模块输入凭证信息 ...

最新文章

  1. Visual C++ 2012/2013的内存溢出检測工具
  2. java int 0.5_java int转float精度缺失原因?
  3. JS获取元素高度宽度的问题
  4. 如何解决Android 5.0中出现的警告:Service Intent must be explicit
  5. 设置函数环境——setfenv
  6. 数据库并发一致性的问题
  7. SparkStreaming
  8. Java中BigDecimal类介绍及用法
  9. idea运行android usb调试,android-Intellij Idea不允许在真实设备上运行应...
  10. 【AI面试题】逻辑回归如何处理多标签分类问题
  11. NDTTS-II变压器综合试验系统
  12. 储油罐的变位识别与罐容表标定
  13. centos桌面版配置ip_CentOS7安装GNOME可视化界面和如何配置IP地址
  14. vue实现点击按钮调用摄像头扫码
  15. mac小技巧之打印文件
  16. 基于android 10的国产手机,魅友有福了,基于Android 10的Flyme来了,10款旧机型可申请...
  17. 一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井
  18. Mpls ldp router-id loopback0 force是什么意思
  19. 治疗感冒的常用中成药
  20. 可以快速剪辑音乐用什么软件

热门文章

  1. 可道云kodexplorer隐藏免费版按钮及简单修改使用方法
  2. android 换机 备份,Recovery(Android手机备份功能)
  3. PS滤镜学习视频教程
  4. dsp2812 linux开发板,dsp2812开发板自制编程流程
  5. 觅风易语言教程全集(完整超清版+源码)
  6. 算法设计与分析——图像的压缩
  7. 线性动力学问题(二)
  8. 人事管理系统 C语言,人事管理系统----C语言设计
  9. PTA离散数学集合论自测(无答案版)
  10. 色彩空间(CIE色度图,SRGB,AdobeRGB...)