Function PrintSmetka(SmetkaBroj As Long, Rabat As Double, Storno As Boolean)
On Error GoTo PosError
PrintSmetkaOK = False
Dim rs As ADODB.Recordset
Dim rs_Smetka As ADODB.Recordset
Dim rs_DDV As ADODB.Recordset
Dim txt As String
Dim Naziv As String
Dim Danok As String
Dim Cena As String
Dim DDV As String
Dim Kolicina As String
Dim Rb As Integer
Dim SQLSmetkaStavki As String
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" _
& " 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)" _
& " Where (((tblSmetki_Stavki.Smetka_Br) = " & SmetkaBroj & "))" _
& " GROUP BY tblSmetki_Stavki.Barkod, tblArtikli_Prodazba.Naziv, tblSmetki_Stavki.Ed_Cena, tblEdinica_Mera.EDM, tblSmetki_Stavki.DDV" _
& " ORDER BY tblSmetki_Stavki.Barkod;"
Set rs_Smetka = New ADODB.Recordset
rs_Smetka.Open "SELECT * FROM tblSmetki WHERE ID_Smetka=" & SmetkaBroj, cn, adOpenStatic, adLockOptimistic
Set rs = New ADODB.Recordset
rs.Open SQLSmetkaStavki, cn, adOpenStatic, adLockOptimistic
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" _
& " FROM tblTarifi INNER JOIN tblSmetki_Stavki ON tblTarifi.Tarifa = tblSmetki_Stavki.DDV" _
& " Where (((tblSmetki_Stavki.Smetka_Br) =" & SmetkaBroj & ")) GROUP BY tblSmetki_Stavki.DDV;"
Set rs_DDV = New ADODB.Recordset
rs_DDV.Open SQL_DDV, cn, adOpenStatic, adLockOptimistic
If rs.RecordCount <= 0 Then
' MsgBox "Áðî¼îò íà ñòàâêèòå âî íàðà÷êàòà çà øàíê å ïîìàë èëè åíàêîâ íà 0! ÂàäåÅ“åòî íà íàðà÷êà íå å äîçâîëåíî "
PrintSmetkaOK = True
Exit Function
End If
'**************************************************************************
If SelectPrinter(ReadIniValue(App.path & "\Setup.ini", "Printeri", "Smetka")) = True Then
Call MsgBox("PRINTER NOT FOUND ", vbOKOnly + vbExclamation + vbApplicationModal + vbDefaultButton1, "")
Exit Function
End If
'**************************************************************************
With Printer.Font
.Name = "Times New Roman"
' .Name = "Arial"
.Size = ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "SizeFont")
End With
Printer.Print Space(LevMargin) & "*******************************"
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header1")
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header2")
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Header3")
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & " Datum : " & Format(Date, "dd.mm.yyyy")
Printer.Print Space(LevMargin) & " Cas : " & Time
Printer.Print Space(LevMargin) & " Stul ....... " & DLookup("Masa", "tblMasi", "ID_Masa=" & rs_Smetka!Masa)
Printer.Print Space(LevMargin) & " Cisnik ... " & DLookup("Vraboten_Ime", "tblVraboteni", "ID_Vraboten=" & rs_Smetka!Vraboten)
Printer.Print Space(LevMargin) & "-----------------------------------------------"
If Storno = True Then
Printer.Print Space(LevMargin) & " STORNO UCET "
Else
Printer.Print Space(LevMargin) & " UCET "
End If
Printer.Print Space(LevMargin) & " Cislo : " & Format(DLookup("Smetka_Broj", "tblSmetki", "ID_Smetka=" & SmetkaBroj), "0000000")
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & "Rb Nazev "
Printer.Print Space(LevMargin) & " Mnozstvi Cena Celkem"
Printer.Print Space(LevMargin) & "-----------------------------------------------"
rs.MoveFirst
Do While Not rs.EOF
Rb = Rb + 1
'Naziv = Latinica(Left(rs.Fields("Naziv"), 30)) 'Artikal naziv
Naziv = Left(rs.Fields("Naziv"), 30) 'Artikal naziv
Kolicina = Format(rs.Fields("Kolicina"), "0.00") 'Kolicina podatok
'Procent = Format(rs.Fields(4), "0.000")
Cena = Format(rs.Fields("Ed_Cena"), "0.00")
Printer.Print Space(LevMargin) & Rb & "." & Naziv
Vkupno = Format(rs.Fields("Vkupno"), "0.00")
VkupnaSuma = CDbl(VkupnaSuma) + Vkupno
Printer.Print Space(LevMargin) & Desno_Ravni(Format(Kolicina, "######0.00")) & Desno_Ravni(Format(Cena, "######0.00")) & Desno_Ravni(Format(Vkupno, "######0.00"))
rs.MoveNext
Loop
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & " Celkem : " & Desno_Ravni(Format(VkupnaSuma, "######0.00"))
Printer.Print Space(LevMargin) & " Sleva : " & Desno_Ravni(Format(Rabat, "######0.00"))
'Printer.Print Space(LevMargin) & " DPH : " & Desno_Ravni(Format(Rabat, "######0.00"))
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & " Celkem k uhrade : " & Desno_Ravni((Format((CDbl(VkupnaSuma) - Rabat), "######0.00")))
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & "Sazba Zaklad Dph Celkem"
'Printer.Print Space(LevMargin) & " 0 "
'Printer.Print Space(LevMargin) & " 0 " & " 0.00 0.00 0.00 "
'Printer.Print Space(LevMargin) & "15 "
'Printer.Print Space(LevMargin) & "15 " & " 0.00 0.00 0.00 "
'Printer.Print Space(LevMargin) & "21 "
'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")))
Printer.Print Space(LevMargin) & "-----------------------------------------------"
rs_DDV.MoveFirst
Do While Not rs_DDV.EOF
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"))
rs_DDV.MoveNext
Loop
Printer.Print Space(LevMargin) & "-----------------------------------------------"
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer1")
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer2")
Printer.Print Space(LevMargin) & ReadIniValue(App.path & "\Setup.ini", "SmetkaSetup", "Footer3")
Printer.Print Space(LevMargin) & "*******************************"
Printer.EndDoc
Rb = 0
PrintSmetkaOK = True
PosError:
If Error <> "" Then
On Error Resume Next
PrintSmetkaOK = False
Exit Function
End If
End Function