Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Vb/Vbnet » Presmetka DPH (DDV) , (PDV) vo cod so popust
Gjoreski 14.05.2014 01:10
Predmet:Presmetka DPH (DDV) , (PDV) vo cod so popust

Pozdrav do site.
Ovaj moj Problem se sostoi vo toa sto treba da napravam rekapitulacija na po Danocni stavki na Racun vo koj e vklucen i Popust.

Imam dva Recordseti edniot e za stavkite vo racunot , drugiot e za danocnite stavki vo racunot e sega ne mozam da napravam rekapitulacija na danocni stavki na racun na koj ima dadeno odreden popust.

Eve ja funkcijata za racunot a ke stavam i baza ako nekoj ima ideja kako da se resi
PreuzmiIzvorni kфd (Visual Basic):
  1. Function PrintSmetka(SmetkaBroj As Long, Rabat As Double, Storno As Boolean)
  2. On Error GoTo PosError
  3. PrintSmetkaOK = False
  4.  
  5.    Dim rs As ADODB.Recordset
  6.    Dim rs_Smetka As ADODB.Recordset
  7.    Dim rs_DDV As ADODB.Recordset
  8.    Dim txt As String
  9.    Dim Naziv As String
  10.    Dim Danok As String
  11.    Dim Cena As String
  12.    Dim DDV As String
  13.    Dim Kolicina As String
  14.    Dim Rb As Integer
  15.    Dim SQLSmetkaStavki As String
  16.        SQLSmetkaStavki = "SELECT tblSmetki_Stavki.Barkod AS Barkod, tblArtikli_Prodazba.Naziv AS Naziv, tblSmetki_Stavki.Ed_Cena AS Ed_Cena, Sum(tblSmetki_Stavki.Kolicina) AS Kolicina, tblEdinica_Mera.EDM AS EDM, tblSmetki_Stavki.DDV AS DDV, Sum(tblSmetki_Stavki.Kolicina)*tblSmetki_Stavki.Ed_Cena AS Vkupno" _
  17.                      & " FROM tblEdinica_Mera INNER JOIN (tblArtikli_Prodazba INNER JOIN tblSmetki_Stavki ON tblArtikli_Prodazba.ID_ArtikalP = tblSmetki_Stavki.Stavka) ON (tblEdinica_Mera.ID_EDM = tblSmetki_Stavki.Ed_Mera) AND (tblEdinica_Mera.ID_EDM = tblArtikli_Prodazba.Edm)" _
  18.                      & " Where (((tblSmetki_Stavki.Smetka_Br) = " & SmetkaBroj & "))" _
  19.                      & " GROUP BY tblSmetki_Stavki.Barkod, tblArtikli_Prodazba.Naziv, tblSmetki_Stavki.Ed_Cena, tblEdinica_Mera.EDM, tblSmetki_Stavki.DDV" _
  20.                      & " ORDER BY tblSmetki_Stavki.Barkod;"
  21.    
  22.    
  23.    Set rs_Smetka = New ADODB.Recordset
  24.        rs_Smetka.Open "SELECT * FROM tblSmetki WHERE ID_Smetka=" & SmetkaBroj, cn, adOpenStatic, adLockOptimistic
  25.    Set rs = New ADODB.Recordset
  26.        rs.Open SQLSmetkaStavki, cn, adOpenStatic, adLockOptimistic
  27.    
  28.      SQL_DDV = "SELECT tblSmetki_Stavki.DDV, Sum([Ed_Cena]*[Kolicina]) AS SoDDV, Sum(([Ed_Cena]/[Koeficient])*[Kolicina]) AS BezDDV, Sum(([Kolicina]*[Ed_Cena])-(([Ed_Cena]/[Koeficient])*[Kolicina])) AS dDDV" _
  29.              & " FROM tblTarifi INNER JOIN tblSmetki_Stavki ON tblTarifi.Tarifa = tblSmetki_Stavki.DDV" _
  30.              & " Where (((tblSmetki_Stavki.Smetka_Br) =" & SmetkaBroj & ")) GROUP BY tblSmetki_Stavki.DDV;"
  31.      
  32.      Set rs_DDV = New ADODB.Recordset
  33.          rs_DDV.Open SQL_DDV, cn, adOpenStatic, adLockOptimistic
  34.      
  35.    
  36.    If rs.RecordCount <= 0 Then
  37.      '  MsgBox "Бројот на ставките во нарачката за шанк е помал или енаков на 0! ВадеЕ“ето на нарачка не е дозволено "
  38.       PrintSmetkaOK = True
  39.        Exit Function
  40.    End If
  41.    
  42.   '**************************************************************************
  43.     If SelectPrinter(ReadIniValue(App.path & "\Setup.ini", "Printeri", "Smetka")) = True Then
  44.         Call MsgBox("PRINTER NOT FOUND  ", vbOKOnly + vbExclamation + vbApplicationModal + vbDefaultButton1, "")
  45.         Exit Function
  46.       End If
  47.   '**************************************************************************
  48.    
  49.     With Printer.Font
  50.         .Name = "Times New Roman"
  51.        ' .Name = "Arial"
  52.        .Size = ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "SizeFont")
  53.     End With
  54.  
  55. Printer.Print Space(LevMargin) & "*******************************"
  56. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header1")
  57. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header2")
  58. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header3")
  59. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  60. Printer.Print Space(LevMargin) & " Datum  :                      " & Format(Date, "dd.mm.yyyy")
  61. Printer.Print Space(LevMargin) & " Cas    :                          " & Time
  62. Printer.Print Space(LevMargin) & " Stul ....... " & DLookup("Masa", "tblMasi", "ID_Masa=" & rs_Smetka!Masa)
  63. Printer.Print Space(LevMargin) & " Cisnik ... " & DLookup("Vraboten_Ime", "tblVraboteni", "ID_Vraboten=" & rs_Smetka!Vraboten)
  64. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  65. If Storno = True Then
  66.    Printer.Print Space(LevMargin) & "                  STORNO UCET "
  67. Else
  68.    Printer.Print Space(LevMargin) & "                      UCET     "
  69. End If
  70. Printer.Print Space(LevMargin) & "           Cislo : " & Format(DLookup("Smetka_Broj", "tblSmetki", "ID_Smetka=" & SmetkaBroj), "0000000")
  71. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  72. Printer.Print Space(LevMargin) & "Rb  Nazev           "
  73. Printer.Print Space(LevMargin) & "         Mnozstvi        Cena        Celkem"
  74. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  75.    
  76.  
  77.  rs.MoveFirst
  78.    Do While Not rs.EOF
  79.         Rb = Rb + 1
  80.         'Naziv = Latinica(Left(rs.Fields("Naziv"), 30))                              'Artikal naziv
  81.        Naziv = Left(rs.Fields("Naziv"), 30)                              'Artikal naziv
  82.        Kolicina = Format(rs.Fields("Kolicina"), "0.00")                            'Kolicina podatok
  83.        'Procent = Format(rs.Fields(4), "0.000")
  84.        Cena = Format(rs.Fields("Ed_Cena"), "0.00")
  85.         Printer.Print Space(LevMargin) & Rb & "." & Naziv
  86.         Vkupno = Format(rs.Fields("Vkupno"), "0.00")
  87.         VkupnaSuma = CDbl(VkupnaSuma) + Vkupno
  88.         Printer.Print Space(LevMargin) & Desno_Ravni(Format(Kolicina, "######0.00")) & Desno_Ravni(Format(Cena, "######0.00")) & Desno_Ravni(Format(Vkupno, "######0.00"))
  89.      
  90.     rs.MoveNext
  91.    Loop
  92.  
  93. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  94. Printer.Print Space(LevMargin) & "                   Celkem :    " & Desno_Ravni(Format(VkupnaSuma, "######0.00"))
  95. Printer.Print Space(LevMargin) & "                     Sleva  :    " & Desno_Ravni(Format(Rabat, "######0.00"))
  96. 'Printer.Print Space(LevMargin) & "                      DPH  :    " & Desno_Ravni(Format(Rabat, "######0.00"))
  97. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  98. Printer.Print Space(LevMargin) & "    Celkem k uhrade  :    " & Desno_Ravni((Format((CDbl(VkupnaSuma) - Rabat), "######0.00")))
  99. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  100. Printer.Print Space(LevMargin) & "Sazba   Zaklad            Dph     Celkem"
  101. 'Printer.Print Space(LevMargin) & "  0 "
  102. 'Printer.Print Space(LevMargin) & "  0 " & "             0.00            0.00          0.00 "
  103. 'Printer.Print Space(LevMargin) & "15 "
  104. 'Printer.Print Space(LevMargin) & "15 " & "             0.00            0.00          0.00 "
  105. 'Printer.Print Space(LevMargin) & "21 "
  106. 'Printer.Print Space(LevMargin) & "21 " & Desno_Ravni(Format(BezDDV(CDbl(VkupnaSuma), CDbl(21)), "#######0.00")) & Desno_Ravni(Format(PresmetkaDDV(CDbl(VkupnaSuma), CDbl(21)), "#######0.00")) & Desno_Ravni((Format((CDbl(VkupnaSuma) - Rabat), "#######0.00")))
  107. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  108.      
  109.        rs_DDV.MoveFirst
  110.     Do While Not rs_DDV.EOF
  111.        Printer.Print Space(LevMargin) & Format(rs_DDV.Fields(0), "#0") & Desno_Ravni(Format(CDbl(rs_DDV.Fields(2)), "#######0.00")) & Desno_Ravni(Format(CDbl(rs_DDV.Fields(3)), "#######0.00")) & Desno_Ravni(Format(CDbl(rs_DDV.Fields(1)), "#######0.00"))
  112.        rs_DDV.MoveNext
  113.     Loop
  114.  
  115. Printer.Print Space(LevMargin) & "-----------------------------------------------"
  116.  
  117. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer1")
  118. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer2")
  119. Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer3")
  120. Printer.Print Space(LevMargin) & "*******************************"
  121. Printer.EndDoc
  122.  
  123.  Rb = 0
  124.   PrintSmetkaOK = True
  125. PosError:
  126.     If Error <> "" Then
  127.        On Error Resume Next
  128.        PrintSmetkaOK = False
  129.        Exit Function
  130.     End If
  131.  
  132.  
  133.  End Function
Prilozi:
BazaRL.rar (Velicina datoteke:56.07 KB)

zxz 14.05.2014 12:48
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Imam nekoliko pitanja:
-koja ide cijena:
Ed_Cena
Posledna_Prod_Cena
Koja je mjera za popust:
-procenat(%)
-iznos

Dali je PDV uracunat u cijenu ili se dodaje na cijenu.

Rekapitulacija se racuna od datuma do datuma pa te najbolje nisam razumio kada kaze da pravis rekapitulaciju po racunima.

zxz 14.05.2014 12:53
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Sada sam nasao zvoj Query1.
Jeli u njemu sve ono kako zelis da napravis rekapitulaciju?
Hocu reci jeli u njemu rekapitulacija dobra.

Gjoreski 14.05.2014 13:31
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Ovako: popustot e presmetan vo pari na vkupnata suma na racunot. Rekapitulacijata mi treba da se prikazi na racunot (odnosno treba da seimplementira vo funkcijata gore)na mestoto od rsDDV. Cenata koja ja koristam e Ed_Cena . Qerito e samo za test me koristam querija vo programov sve e co cod.
Cenata e so presmetan PDV.

zxz 14.05.2014 20:54
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Evo nadam se da ces se snaci ako ne onda mi posalji primjer ili setup.ini i ispisi u wordu ili Notepadu kako treba da izgleda rekapitulacija i jeli uvijek idu obadvije ili nekad jedna nekad druga.

Naslov procedure:
Function Smetka_Rekapitulacija(SmetkaBroj As Long, Optional Datum = Date)
...
SQLSmetkaStavki = "SELECT tblSmetki_Stavki.DDV, Sum([Ed_Cena]*[Kolicina]) AS BezPopusta," _
& " Sum([Ed_Cena]*[Kolicina]-[Popust]) AS SoDDV, Sum(tblSmetki_Stavki.Popust) AS pp_Popust," _
& " Sum([Ed_Cena]*[Kolicina]-[popust]/[Koeficient]) AS BezDDV," _
& " Sum(([Kolicina]*[Ed_Cena]-[popust])-([Ed_Cena]*[kolicina]-[popust])/[Koeficient]) AS dDDV" _
& " FROM tblTarifi INNER JOIN tblSmetki_Stavki ON tblTarifi.Tarifa = tblSmetki_Stavki.DDV" _
& " WHERE tblSmetki_Stavki.Smetka_Br =" & SmetkaBroj _
& " GROUP BY tblSmetki_Stavki.DDV"
...
SQL_DDV = "SELECT tblSmetki_Stavki.Stavka, tblSmetki_Stavki.DDV, Sum([Ed_Cena]*[Kolicina]) AS BezPopusta," _
& " Sum([Ed_Cena]*[Kolicina]-[Popust]) AS SoDDV, Sum(tblSmetki_Stavki.Popust) AS pp_Popust," _
& " Sum([Ed_Cena]*[Kolicina]-[popust]/[Koeficient]) AS BezDDV," _
& " Sum(([Kolicina]*[Ed_Cena]-[popust])-([Ed_Cena]*[kolicina]-[popust])/[Koeficient]) AS dDDV" _
& " FROM tblSmetki INNER JOIN (tblTarifi INNER JOIN tblSmetki_Stavki ON tblTarifi.Tarifa = tblSmetki_Stavki.DDV)" _
& " ON tblSmetki.ID_Smetka = tblSmetki_Stavki.Smetka_Br" _
& " WHERE tblSmetki.Data Between " & Datum & " And " & Datum + 1 AND tblSmetki.Storna=False _
& " GROUP BY tblSmetki_Stavki.Stavka, tblSmetki_Stavki.DDV" _
& " HAVING Sum([Ed_Cena]*[Kolicina]>0)"
end function

Gjoreski 16.05.2014 12:46
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Mene mi treba nesto vakvo :

SQL_DDV = "SELECT A.DDV, Sum(A.Kolicina) AS KOL, Avg(A.Ed_Cena) AS Cena, tblTarifi.Koeficient, [kol]*[Cena] AS VUkupno, & VkupnaSuma & AS Suma, Avg(" & Rabat & ") AS Rab, [suma]-[rab] AS Za_Naplatu, [Suma]/[VUkupno] AS Procenat, [Za_Naplatu]/[procenat] AS N_Sa_Pdv, [N_Sa_Pdv]/[Koeficient] AS N_Bez_PDV, [N_Sa_PDV]-[N_Bez_Pdv] AS PDV_Iznos" _
& " FROM tblTarifi INNER JOIN (tblSmetki INNER JOIN tblsmetki_stavki AS A ON tblSmetki.ID_Smetka = A.Smetka_Br) ON tblTarifi.Tarifa = A.DDV" _
& " Where (((tblSmetki.ID_Smetka) =" & SmetkaBroj & "))GROUP BY A.DDV, tblTarifi.Koeficient;"

VkupnaSuma = vkupnata suma na racunot so PDV bez popust (Ovaa vrednos ja imam gotova ne mora da se presmetuva)
Rabat = Popustot na racunot ( Isto gotova vrednost)
SmetkaBroj = ID od Racunot za koj treba da se odnesuva rekapitulacijata

zxz 16.05.2014 12:55
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Citat:
VkupnaSuma = vkupnata suma na racunot so PDV bez popust (Ovaa vrednos ja imam gotova ne mora da se presmetuva)
Rabat = Popustot na racunot ( Isto gotova vrednost)

Ja sam ove vrjednosti stavio da bi sve imao na jednome mjestu i da je lakse napraviti izvjestaj

Citat:
SmetkaBroj = ID od Racunot za koj treba da se odnesuva rekapitulacijata

Ja sam stavio u proceduru kao ulaz broj Smetka umjesto id smetka racunajuci da je lakse i to sam i napisao.
Citat:
" Where (((tblSmetki.ID_Smetka) =" & SmetkaBroj & "))GROUP BY A.DDV, tblTarifi.Koeficient;"

Ovo imas samo sa broj Smetki.

zxz 16.05.2014 13:04
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Evo ti u mdb procedura.
Otvori modu i u prozor immediate kocaj ovo:
?Smetka_Rekap(0)
?Smetka_Rekap(10)
?Smetka_Rekap(0,"10.05.2014","17.05.2014")

Na putanji mdb dobit ces stampa.txt file i pogledaj sta ima.
?Smetka_Rekap(10)
Dobit ces rezultate kao u tvome xls fajlu.

Mogu ti ovo napraviti i u vb ako vidis da je dobro.
Prilozi:
BazaRLzxz.zip (Velicina datoteke:66.72 KB)

Gjoreski 16.05.2014 13:05
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

vo mojov slucaj e biten ID to od smetkata bideki za sekoja kasa (a ima 3 ) se generira broj na smetka odnosno brojot na smetkata moze da bide isti na tri kasi samo ID to e razlicno.
Pred da se zatvori smetkata prvo se printa a potoa se zatvora,pri zatvorajne na smetkata se zapisuva i vrednosta na rabatot.
Znaci so vakva konstrukcija jas na racunot nikogas ke nemam prikazan rabat.

zxz 16.05.2014 13:15
Predmet:Re: Presmetka DPH (DDV) , (PDV) vo cod so popust

Dobro nije problem promijeniti broj smetka u id kao uslov ali prvo isprobaj i vidi dali ti to pase sto sam napravio.
Napravio sam po onome sto si ti dao.