第二篇金蝶k3供应链系统初始化
- 格式:pptx
- 大小:2.48 MB
- 文档页数:30


系统实施文档之K/3系统初始化指南文档作者:创建日期:确认日期:当前版本:拷贝数量:目录一.概述 (4)1、各系统模块启用前必须完成的资料 (4)2、实际业务处理前需要完成的资料 (5)二.静态数据:基础资料 (5)1、物料 (5)2、计量单位 (6)3、仓库 (6)4、客户 (6)5、供应商 (7)6、职员 (7)7、科目 (7)8、自定义核算项目 (8)9、自定义辅助资料 (8)三.静态数据:供应链 (8)1、检验项目、不良原因 (8)四.静态数据:生产管理 (8)1、BOM (8)2、工艺路线 (8)五.静态数据:成本管理 (9)1、成本对象组、共耗材料费用分配标准 (9)六.动态数据:供应链 (9)1、初始库存 (9)2、初始暂估入库单 (10)3、初始未核销销售出库单 (10)4、初始暂估委外加工入库单 (10)5、初始未核销委外加工出库单 (10)6、初始未完结采购订单、销售订单 (10)七.动态数据:生产管理 (11)1、初始未完结生产任务单、委外加工单 (11)八.动态数据:总账 (11)1、初始科目余额 (11)2、初始现金流量 (12)九.动态数据:应收款管理 (12)1、初始增值税发票、普通发票、其他应收单、预收单 (12)2、初始应收票据 (12)十.动态数据:应付款管理 (12)1、初始增值税发票、普通发票、其他应付单、预付单 (12)2、初始应付票据 (13)十一.动态数据:固定资产管理 (13)1、初始固定资产卡片 (13)2、无形资产管理 (13)十二.动态数据:成本管理 (13)1、初始在制品成本余额(与供应链同期初始化) (13)2、初始在制品成本余额(在供应链之后初始化) (14)十三.动态数据:对账 (15)1、总账与供应链对账 (15)2、总账与应收款管理对账 (16)3、总账与应付款管理对账 (16)4、总账与固定资产管理对账 (16)5、总账与现金管理对账 (16)6、总账与成本管理对账 (16)附:EXCEL文件引入注意事项 (16)K/3系统初始化指南一.概述系统初始化资料分2部分:一是各系统模块启用前必须完成的资料,项目实施任务中的“初始化结束”便是指此部分资料录入结束;一是实际业务处理前需要完成的资料,这部分资料可以在相应系统模块启用后录入。
系统初始化流程系统设置会计科目引入-参数设置基础资料设置辅助资料-比别-凭证字-计量单位-会计科目-核算项目-固定资产类初始数据录入存货初始数据录入-出事单据数据录入结束初始化对账-结束初始化基础资料-会计科目录入金蝶系统中将会计科目分为“资产”、“负债”、“权益”、“成本”、“损益”和“表外”六大类。
在本软件中会计科目可以从标准模板引入,可以根据企业的实际情况选择。
案例:引入“企业会计制度科目”模板操作步骤1、在K/3主控台,依次选择【系统设置】-->【基础资料】-->【公共资料】-->【科目】,进入“科目”维护窗口。
单击【文件】菜单下的【从模板中引入科目】,进入科目模板窗口。
一、系统参数设置K/3基础版分为总账、报表、现金流量表、工资管理、固定资产、应收款管理、应付款管理、现金管理、财务分析、采购管理、销售管理、仓存管理、存货核算共计13个系统。
每个系统都可独立操作,故都有自己的设置。
其中,总账、工资管理、固定资产、应收款管理、应付款管理、现金管理在正式使用前都要进行自己的系统参数设置。
而采购管理、销售管理、仓存管理、存货核算由于共用一个参数设置界面,故只需在其中一个系统设置,其他系统就可以直接引用。
下面我们分系统介绍参数设置。
参数设置-总帐操作步骤1、在K/3主控台,依次选择【系统设置】-->【系统设置】-->【总账】-->【系统参数】,进入总账系统参数设置窗口。
参数设置-现金管理操作步骤1、在K/3主控台,依次选择【系统设置】-->【系统设置】-->【现金管理】-->【系统参数】,进入现金管理系统参数设置窗口。
参数设置-工资操作步骤1、在K/3主控台,依次选择【系统设置】-->【系统设置】-->【工资管理】-->【系统参数】,进入工资管理系统参数设置窗口。
参数设置-固定资产操作步骤1、在K/3主控台,依次选择【系统设置】-->【系统设置】-->【固定资产管理】-->【系统参数】,进入固定资产管理系统参数设置窗口。
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER PROCEDURE [dbo].[StockINIDataOn]ASSET NOCOUNT ONDECLARE @pPeriodTmp V ARCHAR(255)DECLARE @Period INT--当前会计期间DECLARE @Ptype V ARCHAR(255)DECLARE @CurYear INT--当前年份DECLARE @CalType INT--核算方式DECLARE @CurStartDate DA TETIMEDECLARE @CurEndDate DA TETIMEDECLARE @BillNo V ARCHAR(255)--单据号码DECLARE @AuditChoice INT---核算方式,--数量核算,--数量、金额核算--电子行业:序列号检查--检查SystemINISNDataOn存储过程的存在,存在则执行IF EXISTS(SELECT 1 FROM sysobjects WHERE name='SystemINISNDataOn') EXEC SystemINISNDataOn--电子行业:序列号检查SET @AuditChoice = 0SELECT @CurYear =CONVERT(INT, FValue)FROM t_SystemProfile WHERE FCategory ='IC'AND FKey ='CurrentYear'IF @CurYear =NULLBEGINRAISERROR('~$~系统参数: 《IC--CurrentYear》数据被破坏^|^!',16,1)RETURN 0ENDEXEC GetSysPrm 'IC','CurrentPeriod', @pPeriodTmp OUTPUT, @pType OUTPUTSELECT @Period =CONVERT(INT, @pPeriodTmp)SELECT @CalType =CONVERT(INT, Fvalue)FROM t_SystemProfile WHERE FCategory ='IC'AND FKey ='CalculateType'If @CalType =NullBEGINRAISERROR('~$~系统参数: 《IC--CalculateType 数据被破坏^|^!',16,1)RETURN 0ENDIF @CalType = 2BEGINIF EXISTS(SELECT 1FROM t_StockWHERE FTypeID IN(500, 20291, 20293)AND FStockGroupID = 0 ) BEGINRAISERROR('~$~系统检测到在分组核算模式下,还有实仓未分组^|^', 16, 1)RETURN 0ENDUPDATE t_Stock SET FGroupID = FStockGroupID WHERE FTypeID IN(500, 20291, 20293)ENDIF @CalType = 1BEGINUPDATE t_Stock SET FGroupID = FItemID WHERE FTypeID IN(500, 20291, 20293) ENDIF @CalType = 0BEGINUPDATE t_Stock SET FGroupID = 0 WHERE FTypeID IN(500, 20291, 20293) END--当前会计期间的起止日期EXEC GetPeriodStartEnd 0, @Period, @CurStartDate OUTPUT, @CurEndDate OUTPUTIF(SELECT COUNT(*)FROM(SELECT DISTINCT FPeriod FROM ICInvInitial)AS t1)= 1BEGINUPDATE ICInvInitial SET FPeriod = @PeriodUPDATE ICInvInitialAdj SET FPeriod = @PeriodENDELSE IF(SELECT COUNT(*)FROM(SELECT DISTINCT FPeriod FROM ICInvInitial) AS t1)> 1BEGINRAISERROR('~$~系统提示: 系统初始化表《ICInvInitial》含有多期数据,不符合启用条件^|^!', 16, 1)RETURN 0ENDSELECT @BillNo = FBillNoFROM ICStockBillWHERE(FCheckerID IS NULL OR FCheckerID = 0)AND FTranType = 28 AND FDate < @CurStartDateIF@@ROWCOUNT> 0BEGINSET @BillNo ='~$~系统提示: 委外加工出库单--^|^'+ @BillNo +'^|^~$~未审核,不符合启用条件^|^!'RAISERROR(@BillNo, 16, 1)RETURN 0ENDSELECT @BillNo = FBillNoFROM ICStockBillWHERE(FCheckerID IS NULL OR FCheckerID = 0)AND FTranType = 5 AND FDate < @CurStartDateIF@@ROWCOUNT> 0BEGINSET @BillNo ='~$~系统提示: 委外加工入库单--^|^'+ @BillNo +'^|^~$~未审核,不符合启用条件^|^!'RAISERROR(@BillNo, 16, 1)RETURN 0END--数量核算账套不检查金额SELECT@AuditChoice =FValue FROM t_SystemProfile WHERE FKey ='AuditChoice' AND FCategory ='IC'IF @AuditChoice = 1BEGINSELECT @BillNo = B.FBillNoFROM ICStockBill BINNER JOIN ICStockBillEntry E ON B.FInterID =E.FInterID AND B.FTranType = 28 AND E.FAmount = 0WHERE B.FDate < @CurStartDateIF@@ROWCOUNT> 0BEGINSET @BillNo ='~$~系统提示: 委外加工出库单--^|^'+ @BillNo +'^|^~$~中存在金额为的分录,不符合启用条件^|^!'RAISERROR(@BillNo, 16, 1)RETURN 0ENDSELECT @BillNo = B.FBillNoFROM ICStockBill BINNER JOIN ICStockBillEntry E ON B.FInterID =E.FInterID AND B.FTranType = 5AND(E.FMaterialCost =0 OR E.FMaterialCostPrice = 0)WHERE B.FDate < @CurStartDateIF@@ROWCOUNT> 0BEGINSET @BillNo ='~$~系统提示: 委外加工入库单--^|^'+ @BillNo +'^|^~$~中存在金额为的分录,不符合启用条件^|^!'RAISERROR(@BillNo, 16, 1)RETURN 0ENDEND--系统不允许负库存的时候,不允许出现负数IF EXISTS(SELECT top 1 1 FROM ICInvInitial tiINNER JOIN t_Stock ts ON ti.FStockID =ts.FItemID WHERE FBegQty <0 AND ts.FUnderStock=0)BEGINRAISERROR('~$~系统不允许负库存,但是期初结存已经录入负数,不符合启用条件^|^!',16,1)RETURN 0ENDTRUNCATE TABLE ICInvBalTRUNCATE TABLE ICBalTRUNCATE TABLE ICVMIInvBalCREATE TABLE #ICInvBalTemp(FStockID INT NOT NULL DEFAULT(0),FSPID INT NOT NULL DEFAULT(0),FItemID INT NOT NULL,FBatchNo V ARCHAR(200)NOT NULL DEFAULT(''),FMtoNo NV ARCHAR(50)NOT NULL DEFAULT(''),FBegQty DECIMAL(28, 10)DEFAULT(0),FReceive DECIMAL(28, 10)DEFAULT(0),FSend DECIMAL(28, 10)DEFAULT(0),FYtdReceive DECIMAL(28, 10)DEFAULT(0),FYtdSend DECIMAL(28, 10)DEFAULT(0),FEndQty DECIMAL(28, 10)DEFAULT(0),FBegBal DECIMAL(20,2)NOT NULL DEFAULT(0),FCredit DECIMAL(20,2)NOT NULL DEFAULT(0), FYtdDebit DECIMAL(20,2)NOT NULL DEFAULT(0), FYtdCredit DECIMAL(20,2)NOT NULL DEFAULT(0), FEndBal DECIMAL(20,2)NOT NULL DEFAULT(0), FBegDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FReceiveDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FSendDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FEndDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FBillInterID INT IDENTITY(1,1),FOldBillInterID INT NOT NULL DEFAULT(0),FEntryID INT NOT NULL DEFAULT(0),FYtdReceiveDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FYtdSendDiff DECIMAL(20,2)NOT NULL DEFAULT(0), FSecBegQty DECIMAL(28, 10)NOT NULL DEFAULT(0), FSecReceive DECIMAL(28, 10)NOT NULL DEFAULT(0), FSecSend DECIMAL(28, 10)NOT NULL DEFAULT(0), FSecYtdReceive DECIMAL(28, 10)NOT NULL DEFAULT(0), FSecYtdSend DECIMAL(28, 10)NOT NULL DEFAULT(0), FSecEndQty DECIMAL(28, 10)NOT NULL DEFAULT(0), FStockInDate V ARCHAR(20)NOT NULL DEFAULT(''),FAuxPropID INT NOT NULL DEFAULT(0),FKFDate V ARCHAR(20)NOT NULL DEFAULT(''),FKFPeriod INT NOT NULL DEFAULT(0),FAuxUnitBegQty DECIMAL(28, 10)NOT NULL DEFAULT(0), FYtdAuxUnitSend DECIMAL(28, 10)NOT NULL DEFAULT(0), FYtdAuxUnitReceive DECIMAL(28, 10)NOT NULL DEFAULT(0), FSupplyID INT NOT NULL DEFAULT(0))CREATE TABLE #ICVMIInvBalTemp(FStockID INT NOT NULL DEFAULT(0),FSPID INT NOT NULL DEFAULT(0),FItemID INT NOT NULL,FBatchNo V ARCHAR(200)NOT NULL DEFAULT(''), FMtoNo NV ARCHAR(50)NOT NULL DEFAULT(''), FBegQty DECIMAL(28, 10)DEFAULT(0),FReceive DECIMAL(28, 10)DEFAULT(0),FSend DECIMAL(28, 10)DEFAULT(0),FYtdReceive DECIMAL(28, 10)DEFAULT(0),FYtdSend DECIMAL(28, 10)DEFAULT(0),FEndQty DECIMAL(28, 10)DEFAULT(0),FBegBal DECIMAL(20,2)NOT NULL DEFAULT(0),FCredit DECIMAL(20,2)NOT NULL DEFAULT(0),FYtdDebit DECIMAL(20,2)NOT NULL DEFAULT(0),FYtdCredit DECIMAL(20,2)NOT NULL DEFAULT(0),FEndBal DECIMAL(20,2)NOT NULL DEFAULT(0),FBegDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FReceiveDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FSendDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FEndDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FBillInterID INT IDENTITY(1,1),FOldBillInterID INT NOT NULL DEFAULT(0),FEntryID INT NOT NULL DEFAULT(0),FYtdReceiveDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FYtdSendDiff DECIMAL(20,2)NOT NULL DEFAULT(0),FSecBegQty DECIMAL(28, 10)NOT NULL DEFAULT(0),FSecReceive DECIMAL(28, 10)NOT NULL DEFAULT(0),FSecSend DECIMAL(28, 10)NOT NULL DEFAULT(0),FSecYtdReceive DECIMAL(28, 10)NOT NULL DEFAULT(0),FSecYtdSend DECIMAL(28, 10)NOT NULL DEFAULT(0),FSecEndQty DECIMAL(28, 10)NOT NULL DEFAULT(0),FStockInDate V ARCHAR(20)NOT NULL DEFAULT(''),FAuxPropID INT NOT NULL DEFAULT(0),FKFDate V ARCHAR(20)NOT NULL DEFAULT(''),FKFPeriod INT NOT NULL DEFAULT(0),FAuxUnitBegQty DECIMAL(28, 10)NOT NULL DEFAULT(0),FYtdAuxUnitSend DECIMAL(28, 10)NOT NULL DEFAULT(0),FYtdAuxUnitReceive DECIMAL(28, 10)NOT NULL DEFAULT(0),FSupplyID INT NOT NULL DEFAULT(0))--普通仓ICInvInitial数据结转入临时表--非后进先出和先进先出按批号+入库日期排序重新分配顺序号INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive) SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff,a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceiveFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,SUM(t1.FAuxUnitBegQty)As FAuxUnitBegQty,SUM(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,SUM(t1.FYtdAuxUnitReceive)As FYtdAuxUnitReceiveFROM ICInvInitial t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack<>79 And t3.FTrack<>78 AND t4.FTypeID <> 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod) aORDER BY a.FStockID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FStockInDate,a.FAuxPropID,a.FInterID,a.FSPID, a.FKFDate,a.FKFPeriod--普通仓ICInvInitial数据结转入临时表--先进先出法按入库日期正排INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive)SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff,a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceiveFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,Sum(t1.FAuxUnitBegQty)As FAuxUnitBegQty,Sum(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,Sum(t1.FYtdAuxUnitReceive) As FYtdAuxUnitReceiveFROM ICInvInitial t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack= 78 AND t4.FTypeID <> 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod) aORDER BY a.FStockID,a.FItemID,a.FStockInDate ,a.FBatchNo,a.FMtoNo,a.FAuxPropID,a.FInterID,a.FSPID ,a.FKFDate,a.FKFPeriod--普通仓ICInvInitial数据结转入临时表--后进先出法按入库日期倒排INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive)SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff, a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceiveFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,Sum(t1.FAuxUnitBegQty)As FAuxUnitBegQty,Sum(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,Sum(t1.FYtdAuxUnitReceive)As FYtdAuxUnitReceiveFROM ICInvInitial t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack= 79 AND t4.FTypeID <> 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod) aORDER BY a.FStockID,a.FItemID,a.FStockInDate DESC,a.FBatchNo,a.FMtoNo,a.FAuxPropID,a.FInterID,a.FSPID,a.FKFDate,a.FKFPeriod --VMI仓结算余额来自ICInvInitialAdj--非后进先出和先进先出按批号+入库日期排序重新分配顺序号INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID) SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff, a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,SUM(t1.FAuxUnitBegQty)As FAuxUnitBegQty,SUM(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,SUM(t1.FYtdAuxUnitReceive)As FYtdAuxUnitReceive,t1.FSupplyIDFROM ICInvInitialAdj t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack<>79 And t3.FTrack<>78 AND t4.FTypeID = 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod,t1.FSupplyID) aORDER BY a.FStockID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FStockInDate,a.FAuxPropID,a.FInterID,a.FSPID, a.FKFDate,a.FKFPeriod,a.FSupplyID--VMI仓结算余额来自ICInvInitialAdj--先进先出法按入库日期正排INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID)SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff, a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,Sum(t1.FAuxUnitBegQty)As FAuxUnitBegQty,Sum(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,Sum(t1.FYtdAuxUnitReceive) As FYtdAuxUnitReceive,t1.FSupplyIDFROM ICInvInitialAdj t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack= 78 AND t4.FTypeID = 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod,t1.FSupplyID) aORDER BY a.FStockID,a.FItemID,a.FStockInDate ,a.FBatchNo,a.FMtoNo,a.FAuxPropID,a.FInterID,a.FSPID ,a.FKFDate,a.FKFPeriod,a.FSupplyID--VMI仓结算余额来自ICInvInitialAdj--后进先出法按入库日期倒排INSERT INTO #ICInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID) SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff, a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,Sum(t1.FAuxUnitBegQty)As FAuxUnitBegQty,Sum(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,Sum(t1.FYtdAuxUnitReceive)As FYtdAuxUnitReceive,t1.FSupplyIDFROM ICInvInitialAdj t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack= 79 AND t4.FTypeID = 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod,t1.FSupplyID) aORDER BY a.FStockID,a.FItemID,a.FStockInDateDESC,a.FBatchNo,a.FMtoNo,a.FAuxPropID,a.FInterID,a.FSPID,a.FKFDate,a.FKFPeriod,a.FSu pplyID--临时表结算余额结转进入ICInvBalINSERT INTO ICInvBal(FBrNo,FYear,FPeriod,FStockID,FStockPlaceID,FItemID, FBatchNo,FMtoNo,FBegQty, FReceive, FSend, FYtdReceive, FYtdSend, FEndQty,FBegBal, FDebit, FCredit, FYtdDebit, FYtdCredit, FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff, FYtdSendDiff,FKFDate,FKFPeriod,FAuxPropID,FSecBegQty,FSecYtdSend, FSecYtdReceive,FStockInDate,FBillInterID,FSupplyID)SELECT'0', @CurYear, @Period, FStockID, FSPID, FItemID, FBatchNo, FMtoNo,FBegQty, FReceive, FSend, FYtdReceive, FYtdSend, FEndQty,FBegBal, FDebit, FCredit, FYtdDebit, FYtdCredit, FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff, FYtdSendDiff,FKFDate,FKFPeriod,FAuxPropID,FAuxUnitBegQty, FYtdAuxUnitSend, FYtdAuxUnitReceive,FStockInDate,FBillInterID,FSupplyIDFROM #ICInvBalTempUPDATE t1 SET FBillInterID=0 FROM icinvbal t1 inner join t_icitem t2 on t1.FItemID=t2.FItemID where t2.FTrack not in(78,79,20308)--从ICinvBal导数据到ICBal,不用包含VMI仓数据INSERT INTO ICBal(FBrNo,FYear,FPeriod,FItemID,FBatchNo,FStockGroupID, FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FBillInterID,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate) SELECT'0',@CurYear,@Period,t1.FItemID,t1.FBatchNo,t2.FGroupID,SUM(FBegQty),SUM(FReceive),SUM(FSend),SUM(FYtdReceive),SUM(FYtdSend),SUM(FEnd Qty),SUM(FBegBal),SUM(FDebit),SUM(FCredit),SUM(FYtdDebit),SUM(FYtdCredit),SUM(FEndBa l),SUM(FBegDiff),SUM(FReceiveDiff),SUM(FSendDiff),SUM(FYtdReceiveDiff),SUM(FYtdSend Diff),t1.FBillInterID,t1.FAuxPropID,SUM(FSecBegQty),SUM(FSecYtdSend),SUM(FSecYtdReceive), t1.FStockInDateFROM ICInvBal t1 INNER JOIN t_Stock t2 ON t1.FStockID=t2.FItemIDWHERE t2.FTypeID <> 504GROUP BY t2.FGroupID,t1.FItemID,t1.FBatchNo,t1.FAuxPropID,t1.FStockInDate,t1.FBillInterID--VMI仓库存余额--非后进先出和先进先出按批号+入库日期排序重新分配顺序号INSERT INTO #ICVMIInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID) SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff,a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)As FSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,SUM(t1.FAuxUnitBegQty)As FAuxUnitBegQty,SUM(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,SUM(t1.FYtdAuxUnitReceive)As FYtdAuxUnitReceive,t1.FSupplyIDFROM ICInvInitial t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemIDINNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack<>79 And t3.FTrack<>78 AND t4.FTypeID = 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod,t1.FSupplyID) aORDER BY a.FStockID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FStockInDate,a.FAuxPropID,a.FInterID,a.FSPID, a.FKFDate,a.FKFPeriod,a.FSupplyID--普通仓ICInvInitial数据结转入临时表--先进先出法按入库日期正排INSERT INTO #ICVMIInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID)SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff, a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As FReceiveDiff,Sum(t1.FSendDiff)As FSendDiff,Sum(t1.FYtdReceiveDiff)As FYtdReceiveDiff,Sum(t1.FYtdSendDiff)As FYtdSendDiff, FAuxPropID,Sum(FAuxUnitBegQty)As FSecBegQty,t1.FBillInterID As FInterID,Sum(FYtdAuxUnitSend)AsFSecYtdSend,Sum(FYtdAuxUnitReceive)As FSecYtdReceive,FStockInDate,t1.FKFDate,t1.FKFPeriod,Sum(t1.FAuxUnitBegQty)As FAuxUnitBegQty,Sum(t1.FYtdAuxUnitSend)As FYtdAuxUnitSend,Sum(t1.FYtdAuxUnitReceive) As FYtdAuxUnitReceive,t1.FSupplyIDFROM ICInvInitial t1 INNER JOIN t_icitem t3 ON t1.FItemID=t3.FItemID INNER JOIN t_Stock t4 ON t1.FStockID=t4.FItemIDWHERE t1.FPeriod=@Period And t3.FTrack= 78 AND t4.FTypeID = 504GROUP BY t1.FStockID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,FAuxPropID,FStockInDate,t1.FBillInterID,t1.F SPID,t1.FKFDate,t1.FKFPeriod,t1.FSupplyID) aORDER BY a.FStockID,a.FItemID,a.FStockInDate ,a.FBatchNo,a.FMtoNo,a.FAuxPropID,a.FInterID,a.FSPID ,a.FKFDate,a.FKFPeriod,a.FSupplyID--普通仓ICInvInitial数据结转入临时表--后进先出法按入库日期倒排INSERT INTO #ICVMIInvBalTemp(FStockID,FSPID,FItemID,FBatchNo,FMtoNo,FOldBillInterID,FBegQty,FReceive,FSend,FYtdReceive,FYtdSend,FEndQty,FBegBal,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBal,FBegDiff,FReceiveDiff,FSendDiff,FYtdReceiveDiff,FYtdSendDiff,FAuxPropID,FSecBegQty,FSecYtdSend,FSecYtdReceive,FStockInDate,FKFDate,FKFPeriod,FAuxUnitBegQty,FYtdAuxUnitSend,FYtdAuxUnitReceive,FSupplyID) SELECT a.FStockID, a.FSPID,a.FItemID,a.FBatchNo,a.FMtoNo,a.FInterID,a.FBegQty,a.FReceive,a.FSend,a.FYtdReceive,a.FYtdSend,a.FEndQty,a.FBegBal,a.FDebit,a.FCredit,a.FYtdDebit,a.FYtdCredit,a.FEndBal,a.FBegDiff,a.FReceiveDiff,a.FSendDiff,a.FYtdReceiveDiff,a.FYtdSendDiff,a.FAuxPropID,a.FSecBegQty,a.FSecYtdSend,a.FSecYtdReceive,a.FStockInDate,a.FKFDate,a.FKFPeriod,a.FAuxUnitBegQty,a.FYtdAuxUnitSend,a.FYtdAuxUnitReceive,a.FSup plyIDFROM(SELECT t1.FStockID, t1.FSPID,t1.FItemID,t1.FBatchNo,t1.FMtoNo,Sum(t1.FBegQty)AS FBegQty,Sum(t1.FReceive)As Freceive ,Sum(t1.FSend)As FSend,Sum(t1.FYtdReceive)As FYtdReceive,Sum(t1.FYtdSend)As FYtdSend,Sum(t1.FEndQty)As FEndQty,Sum(t1.FBegBal)As FBegBal,Sum(t1.Fdebit)As Fdebit,Sum(t1.Fcredit)As Fcredit,Sum(t1.FYtdDebit)As FYtdDebit,Sum(t1.FYtdCredit)As FYtdCredit,Sum(t1.FEndBal)As FEndBal,Sum(t1.FBegDiff)As FBegDiff,Sum(t1.FReceiveDiff)As。