Prikazi cijelu temu 27.09.2013 15:05
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Lokacija:Ohrid Makedonija


Predmet:Re: stored procedure Kako?
Jas se izvinuvam mislev deka sum go stavil resenieto bidejki ova go resiv ne e dovrseno no izrabotiv stored procedura koja sega zasega bi trebalo da zadovoli eden del od potrebite.
Eve vaka go resiv ova :
Tocno deka vo ova moe queri ima i drugi funkcii koi vo osnova se site slicni i imaat slicna namena a toa e presmetka na DDV i ceni BEZ DDV i ceni SO DDV .
Eve Stored kako izgleda:
PreuzmiIzvorni kôd (SQL):
  1. Proc [dbo].[spPLT]
  2. @IDFaktura INT
  3. AS
  4. BEGIN
  5.  
  6. SELECT
  7.         tblFaktura_Stavki.ID_Stavka
  8.       , tblFaktura_Stavki.Barkod
  9.       , tblArtikli.Artikal_Ime AS Stavka
  10.       , tblFaktura_Stavki.Ed_Mera
  11.       , tblFaktura_Stavki.Ed_Cena
  12.       , tblFaktura_Stavki.Kolicina
  13.       , tblFaktura_Stavki.Popust
  14.       , tblFaktura_Stavki.DDV
  15.       , tblFaktura_Stavki.Posledna_Prod_Cena AS Prodazna_So_DDV
  16.       , tblFaktura_Stavki.Ed_Cena*tblFaktura_Stavki.DDV AS VkunoNabavnaSoDDV
  17.       , CAST(isnull(tblFaktura_Stavki.DDV,0) AS DECIMAL) / 1000 AS DDVrocent
  18.       , (dbo.PresmetkaDDV (tblFaktura_Stavki.Ed_Cena,tblFaktura_Stavki.DDV))*tblFaktura_Stavki.Kolicina AS VkDDV  
  19.      -- , (dbo.PresmetkaDDV (180.5,tblFaktura_Stavki.DDV))* tblFaktura_Stavki.Kolicina as VkDDV  
  20.       , tblFakturi.ID_Faktura
  21.       , tblFakturi.Faktura_Broj
  22.       , tblFakturi.Tip_Faktura
  23.       , tblFakturi.DATA
  24.       , tblFakturi.Valuta
  25.       , tblFakturi.Po_Dokument
  26.       , tblFakturi.Magacin
  27.       , tblKomitenti.Komitent_Firma
  28.       , tblFakturi.Komitent_Partner
  29.       , tblFakturi.VoMagacin
  30.    
  31. FROM tblArtikli INNER JOIN (tblKomitenti INNER JOIN (tblFakturi INNER JOIN tblFaktura_Stavki ON tblFakturi.ID_Faktura = tblFaktura_Stavki.Faktura_Br) ON tblKomitenti.ID_Komitent = tblFakturi.Komitent_Partner) ON tblArtikli.ID_Artikal = tblFaktura_Stavki.Stavka
  32. WHERE tblFakturi.ID_Faktura = @IDFaktura
  33. ORDER BY tblFaktura_Stavki.ID_Stavka;
I dvete funkcii
PreuzmiIzvorni kôd (SQL):
  1. FUNCTION [dbo].[DDVK]
  2. (
  3.         -- Add the parameters for the function here
  4.         @DDVA INT
  5. )
  6. RETURNS DECIMAL(18, 2)
  7. AS
  8. BEGIN
  9.  
  10.    IF @DDVA = 24  RETURN 1.24;
  11.    IF @DDVA = 23  RETURN 1.23;
  12.    IF @DDVA = 22  RETURN 1.22;
  13.    IF @DDVA = 21  RETURN 1.21;
  14.    IF @DDVA = 20  RETURN 1.2;
  15.    IF @DDVA = 19  RETURN 1.19;
  16.    IF @DDVA = 18  RETURN 1.18;
  17.    IF @DDVA = 17  RETURN 1.17;
  18.    IF @DDVA = 16  RETURN 1.16;
  19.    IF @DDVA = 15  RETURN 1.15;
  20.    IF @DDVA = 14  RETURN 1.14;
  21.    IF @DDVA = 13  RETURN 1.13;
  22.    IF @DDVA = 12  RETURN 1.12;
  23.    IF @DDVA = 11  RETURN 1.11;
  24.    IF @DDVA = 10  RETURN 1.1;
  25.    IF @DDVA = 9  RETURN 1.09;
  26.    IF @DDVA = 8  RETURN 1.08;
  27.    IF @DDVA = 7  RETURN 1.07;
  28.    IF @DDVA = 6  RETURN 1.06;
  29.    IF @DDVA = 5  RETURN 1.05;
  30.    IF @DDVA = 4  RETURN 1.04;
  31.    IF @DDVA = 3  RETURN 1.03;
  32.    IF @DDVA = 2  RETURN 1.02;
  33.    IF @DDVA = 1  RETURN 1.01;
  34.   /*
  35. If @DDVA = 0  return 0;
  36.   */
  37.  
  38.   RETURN 0;
  39.  
  40. END
  41.  
  42. UNCTION [dbo].[PresmetkaDDV]
  43.                (@Cena FLOAT , @Stapka INT)
  44. --RETURNS decimal(18, 8)
  45. RETURNS FLOAT
  46. AS
  47. BEGIN
  48.   IF @Stapka = 0  RETURN @Cena - @Cena;
  49.   IF @Stapka <> 0  RETURN @Cena - (@Cena / dbo.DDVK(@Stapka));
  50.  
  51.   /*
  52. If @DDVA = 0  return 0;
  53.   */
  54.  
  55.  RETURN 0;
  56.  
  57. END

go vidov i ona predhodno sto mi predlozi za ovaj koeficient sto go koristam za presmetka no toa ne mi e prakticno bidejki koeficientot vo ovaj slucaj se dvizi od 1.01 do 1.24 no nekogas mi treba da bode 0.01 ili razlicno od ova no toa ne e bitno sega bidejki ova za pocetok e odlicno skolo ,isto taka interesno e toa sto go zabelezav dokolku mnozis delis ili vrsis nekoi operacii na dva podatoci od tipot na Float i Integer togas dobivas nevaliden podatok moze da bide bez decimali ili ako e pomal od 1 togas dobivas 0 ( Zaklicaok vo SQL server sekogas vrsi operacii nad isti tip na podatok ).
Ovaa tema nema da ja zatvoram ke imam uste prasajna no neznam kako ke se odvivaat rabotite .

I uste edna molba Dali moze eden primer od Cristal Report odnosno Report i Subreport koi imaat
dva razlicni DataSource od dve stored proceduri odnosto mi treba na primer Faktura kako Report i
Rekapitulacija kako Subreport koja ke sodrzi nekoi grupirani i sumirani stavki od fakturata.
pozdrav