IF (EXISTS(Select * from sys.sysprocedure where LCase(proc_name) = LCase('PreparePrintAgain'))) THEN Drop procedure PreparePrintAgain END IF GO create procedure DBA.PreparePrintAgain( in @SmetkaNo integer,in @OkCancel integer ) // Tazi procedura se izpolzva za napylwane na wremennata tablica #Articles // sus articulite ot opredelena smetka pri owtoren pechat na smetka ili Anulirane na smetka // kato ako e PrintAgain @OkCancel e 1, a pri Cancel -1 begin declare @DDS double; //Iztriva wremennata tablica za artikulite delete from #Articles; //Iztriva wremennata tablica za nacinite na plashtane delete from #PaymentTypes; //Popylva wremennata tablica za artikulite //@ArticlePrWithDDS,@ArticlePrWithDDS*@Qty for f0 as curs0 scroll cursor for select Articles.ArticleNo as @ArticleNumber,ArticleName as @ArticleName,Qty as @ArticleQty,Price as @ArticlePrice, RegNo as @RegNo,CreditNo as @CreditNo,TotalSum as @ArticleSum,Discount as @Discount, TipDDS as @TipDDS,ServiceNo as @Service,Price as @ArticlePrWithDDS,TotalSum as @TotalSumWithDDS, RegDate as @RDate,RealLodgingsNum as @RealLodgingsNum,isnull(srs1.Stoinost,-1) as @RentMonth,isnull(srs2.Stoinost,1000) as @RentYear, DDSType as @DDSType,VatRate as @VatRate from Articles left outer join SvoRedoveStn as srs1 on srs1.InvoiceNo = Articles.InvoiceNo and srs1.ArticleNo = Articles.ArticleNo and srs1.Svoistvo = 1 left outer join SvoRedoveStn as srs2 on srs2.InvoiceNo = Articles.InvoiceNo and srs2.ArticleNo = Articles.ArticleNo and srs2.Svoistvo = 2 where Articles.InvoiceNo = @SmetkaNo do if @TipDDS = 2 then set @DDS = @VatRate else set @DDS = 0 end if; insert into #Articles( ArticleNumber,ArticleName,Measure,ArticleQty,MaxQty,MinQty,ArticlePrice,RegNo,CreditNo, ArticleSum,Discount,TipDDS,ServiceNo,PriceInvWithDDS,ArticleSumWithDDS,RegDate,RealLodgNum,RentMonth,RentYear,VatRate,DDSType ) values( @ArticleNumber,@ArticleName,'απ.',@ArticleQty,@ArticleQty,@ArticleQty, @OkCancel*@ArticlePrice,@RegNo,@CreditNo,@OkCancel*@ArticleSum,@Discount,@TipDDS,@Service,@ArticlePrWithDDS,@TotalSumWithDDS,@RDate,@RealLodgingsNum, @RentMonth,@RentYear,@VatRate,@DDSType ) end for; //Popylva wremennata tablica za nachinite na plashtane for f1 as curs1 scroll cursor for select RM.Sum as @Sum,RM.Currency as @KodCurrency,RM.Payment as @PaymentType,Cr.Symbol as @Symbol, RM.AccountNumber as @AccountNumber,RM.GuestNo as @GuestNo,RM.GroupNo as @GroupNo,RM.RoomNo as @RoomNo,RM.ReserveNo as @ReserveNo, RM.PTVid as @PTVid from DBA.ResMoney as RM,DBA.Currencies as Cr where RM.InvoiceNo = @SmetkaNo and RM.DateMoney <> 0 and RM.Currency = Cr.KodCurrency do insert into #PaymentTypes( PaymentType,Sum,KodCurrency,AccountNumber,Symbol,GuestNo,GroupNo,RoomNo,ReserveNo,PTVid ) values( @PaymentType,@OkCancel*@Sum,@KodCurrency,@AccountNumber,@Symbol,@GuestNo,@GroupNo,@RoomNo,@ReserveNo,@PTVid ) end for end //[v.1 00.11.16] //[v.2 18.02.2003] Jorko //[v.3 19.Nov.2007] - A.Kozludjov, fix pri anulirane na smetka //[v.4 10.Dec.2008 - MON] - Nixon - dobaveno RealLodgingsNum