SELECT TOP 100 FSRCBILLID,d.FDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,B.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT , B.FSettleCurrId FROM T_AR_RECMacthLog A LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY B ON A.FID=B.FID LEFT JOIN T_BAS_BILLTYPE C ON B.FSOURCETYPE=C.FBILLTYPEID LEFT JOIN t_AR_RECEIVEBILL d ON d.FBILLNO=B.FSRCBILLNO --WHERE FBILLFORMID IN ('AR_receivable','AR_RECEIVEBILL','AR_AdjustExchangeRate') ORDER BY FVERIFYSEQ SELECT FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT ,FSettleCurrId FROM T_AR_RECMacthLogENTRY WHERE FSRCBILLNO IN ('PL-AR202412000100','XN-QC202412000154') SELECT DISTINCT FSOURCETYPE,b.FBILLFORMID FROM T_AR_RECMacthLogENTRY a LEFT JOIN T_BAS_BILLTYPE b ON a.FSOURCETYPE=b.FBILLTYPEID SELECT FDATE,FDOCUMENTSTATUS FROM T_AR_RECEIVEBILL SELECT * FROM T_BAS_BILLTYPE WHERE FBILLTYPEID IN ('180ecd4afd5d44b5be78a6efe4a7e041','180ecd4afd5d44b5be78a6efe4a7e041') OR FBILLFORMID='AR_RECEIVEBILL' SELECT F_VRYF_Text_83g,* FROM t_AR_receivable WHERE FBILLNO='PL-XSCKD20250601337-000001' ORDER BY FDATE DESC SELECT FDATE,FDOCUMENTSTATUS,FBILLNO,FID,FSALEORGID,F_contractnumber FROM T_AR_RECEIVEBILL WHERE FDOCUMENTSTATUS='C' ORDER BY FDATE DELETE [ZZZ_HeXiaoBook] WHERE [ShouKuanFDate]>=@BeginDATE DECLARE @FDATE DATETIME,@FBILLNO NVARCHAR(200),@ShouKuanFID INT,@FSALEORGID INT ,@F_contractnumber NVARCHAR(2000),@fid2 INT,@fid3 INT,@amount DECIMAL(18,2); -- 1. 声明游标 DECLARE cursor_name2 CURSOR FOR SELECT FDATE,FBILLNO,FID,FSALEORGID,F_contractnumber FROM T_AR_RECEIVEBILL WHERE FDOCUMENTSTATUS='C' ORDER BY FDATE OPEN cursor_name2; FETCH NEXT FROM cursor_name2 INTO @FDATE, @FBILLNO, @ShouKuanFID, @FSALEORGID, @F_contractnumber WHILE @@FETCH_STATUS = 0 BEGIN ---销售的自动核销记录单-- SELECT @fid2=0,@fid3=0; SELECT @fid2=FID FROM dbo.T_AutoWrireRecordEntry2 WHERE FBILLNO3=@FBILLNO SELECT @FDATE=ISNULL(F_YeWuDate,FCREATEDATE),@fid3=FID FROM T_AutoWrireRecord WHERE FID=@fid2 AND FDOCUMENTSTATUS='C' IF(@fid3>0) BEGIN INSERT INTO [dbo].[ZZZ_HeXiaoBook] ([XiaoShouFid] ,[XiaoShouBillNo] ,[XiaoShouHeTong] ,[ShouKuanFid] ,[ShouKuanBillNo] ,[ShouKuanFDate] ,[BenCiHeXiao] ,[FSaleOrgId]) ( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE ,(CASE WHEN b.FALLAMOUNT220) BEGIN SELECT @F_contractnumber=FCONTRACTNUMBER,@amount=FALLAMOUNT22 FROM VRYF_t_Cust_Entry100024 a WHERE a.FID=@fid2 INSERT INTO [dbo].[ZZZ_HeXiaoBook] ([XiaoShouFid] ,[XiaoShouBillNo] ,[XiaoShouHeTong] ,[ShouKuanFid] ,[ShouKuanBillNo] ,[ShouKuanFDate] ,[BenCiHeXiao] ,[FSaleOrgId]) ( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,@amount * dd.FExchangeRate,@FSALEORGID FROM T_SAL_ORDER a LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID WHERE a.FSALEORGID=[FSaleOrgId] and a.F_CONTRACTNUMBER=@F_contractnumber) END ---应收核销记录表--------- SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0; SELECT d.FDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT , b.FSettleCurrId INTO #temp2 FROM T_AR_RECMacthLog a LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID LEFT JOIN T_BAS_BILLTYPE c ON b.FSOURCETYPE=c.FBILLTYPEID LEFT JOIN t_AR_RECEIVEBILL d ON d.FBILLNO=b.FSRCBILLNO WHERE FVERIFYSEQ IN (SELECT FVERIFYSEQ FROM T_AR_RECMacthLog a LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLNO AND c.FBILLFORMID='AR_RECEIVEBILL') SELECT @amount= SUM(FCURTAXMATCHAMOUNT) FROM #temp2 WHERE FBILLFORMID!='AR_RECEIVEBILL' SELECT @fid2 FROM #temp2 WHERE FBILLFORMID ='AR_receivable' SELECT @F_contractnumber= F_PAPERPRO FROM T_AR_receivable WHERE fid=@fid2 INSERT INTO [dbo].[ZZZ_HeXiaoBook] ([XiaoShouFid] ,[XiaoShouBillNo] ,[XiaoShouHeTong] ,[ShouKuanFid] ,[ShouKuanBillNo] ,[ShouKuanFDate] ,[BenCiHeXiao] ,[FSaleOrgId]) ( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,@amount,@FSALEORGID FROM T_SAL_ORDER a LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID WHERE a.FSALEORGID=[FSaleOrgId] and a.F_CONTRACTNUMBER=@F_contractnumber) --------历史核销记录单-------------- IF(@FSALEORGID=100302) begin SELECT F_ORDERNO,F_RECEIPTNUMBER,* FROM VRYF_t_Cust_Entry100021 WHERE F_matched=1 AND F_Receiptnumber=@FBILLNO INSERT INTO [dbo].[ZZZ_HeXiaoBook] ([XiaoShouFid] ,[XiaoShouBillNo] ,[XiaoShouHeTong] ,[ShouKuanFid] ,[ShouKuanBillNo] ,[ShouKuanFDate] ,[BenCiHeXiao] ,[FSaleOrgId]) ( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,F_shareAmount,@FSALEORGID FROM T_SAL_ORDER a LEFT JOIN VRYF_t_Cust_Entry100021 c ON a.F_CONTRACTNUMBER=c.F_ORDERNO LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID WHERE a.FSALEORGID=[FSaleOrgId] AND F_matched=1 AND c.F_Receiptnumber=@FBILLNO ) END -- 获取下一条记录 FETCH NEXT FROM cursor_name2 INTO @FDATE, @FBILLNO, @ShouKuanFID, @FSALEORGID, @F_contractnumber; END -- 4. 关闭游标 CLOSE cursor_name2; -- 5. 释放游标资源 DEALLOCATE cursor_name2;