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