Function Fiskalna_SY45_SY250() 'Fiskalna smetka za fiskalna kasa SY45 i SY250
If SysCmd(acSysCmdGetObjectState, acForm, "frmKasa") = 0 Then Exit Function
If Forms![frmKasa]![Fiskalna] = True Then
MsgBox "За оваа сметка ИМАТЕ извадено Фискална Сметка"
Exit Function
End If
Dim rs As DAO.Recordset
Dim Naziv As String
Dim Danok As String
Dim Cena As String
Dim DDV As String
Dim Kolicina As String
Dim txt As String
Dim i As Integer
Dim DDV_Obvrznik As Boolean
Dim Makedonski As Boolean
Dim Mak As String
Dim Status As String
Dim Izlez As String
Dim Karakter As Boolean
Dim Prefix As String
Dim Port As Integer
Port = FiscalenPort
i = 33
Karakter = True
Set rs = Forms![frmKasa]![frmKasa_Stavkai_Subform].Form.RecordsetClone
If rs.RecordCount <= 0 Then
MsgBox "Бројот на ставките во сметката е помал или енаков на 0! ВадеЕ“ето на Сметка не е дозволено "
Exit Function
End If
rs.MoveFirst
Open Pateka & "\Sinergy\PF500.IN" For Output Shared As #1
Print #1, Chr(32) & "01" & Chr(9) & "1" & Chr(9) & Chr(9) & "0" & Chr(9) 'Pocetok na smetkata otvori beleska
DDV_Obvrznik = DLookup("DDV_Obvrznik", "tblKasaParametri")
Do While Not rs.EOF
Makedonski = False
Naziv = Kirilica(UCase(Left(DLookup("Artikal_Ime", "tblArtikli", "ID_Artikal=" & rs.Fields(2)), 20))) ' Artikal podatok 20 karakteri vo kirilica so golemi bukvi
Danok = DLookup("Artikal_DDV", "tblArtikli", "ID_Artikal=" & rs.Fields(2)) ' Danocna stapka
Cena = Format(rs.Fields(4), "0.00") ' Cena podatok
Kolicina = Format(rs.Fields(5), "0.000") ' Kolicina podatok
Makedonski = DLookup("MK_Proizvod", "tblArtikli", "ID_Artikal=" & rs.Fields(2)) ' Makednonski proizvod
If Karakter = True Then
Prefix = Chr(35)
Karakter = False
Else
Prefix = Chr(32)
Karakter = True
End If
If Makedonski = True Then
Mak = Chr(49)
Else
Mak = Chr(48)
End If
If DDV_Obvrznik = True Then
Select Case Danok
Case 0
DDV = Chr(51) 'Danok podatok 0%
Case 5
DDV = Chr(50) 'Danok podatok 5%
Case 18
DDV = Chr(49) 'Danok podatok 18%
End Select
ElseIf DDV_Obvrznik = False Then
DDV = Chr(52) 'Danok podatok 0%
End If
Print #1, Prefix & Chr(49) & Naziv + Chr(9) & DDV & Chr(9) & Cena & Chr(9) & Kolicina & Chr(9) & Mak & Chr(9) & Chr(9)
If IsNull(rs.Fields(1)) Or rs.Fields(1) = "" Then Call AzurirajneStavkiSmetka(rs.Fields("ID_Stavka"))
rs.MoveNext
Loop
Print #1, Chr(38) & "50" & Chr(9) & Chr(9)
Print #1, Chr(37) & Chr(56) 'Kraj na smetkata
Close #1
Sleep (1000)
Call Shell(Pateka & "\Sinergy\Smetka.bat", vbHide)
'***************************************************************************************************************************
'-------- Ovde se zatvora smetkata i se otvora nova ------------------------------
Forms![frmKasa]![Fiskalna] = True
Forms![frmKasa]![Fis_Data] = Now
DoCmd.GoToRecord acDataForm, "frmKasa", acLast
Dim RSo As DAO.Recordset
Set RSo = Forms![frmKasa]![frmKasa_Stavkai_Subform].Form.RecordsetClone
If RSo.RecordCount <= 0 Then
DoCmd.GoToRecord acDataForm, "frmKasa", acLast
Else
DoCmd.Close acForm, "frmPecati_Smetka"
Forms![frmKasa].SetFocus
Forms![frmKasa]![Key] = True
DoCmd.GoToRecord acDataForm, "frmKasa", acNewRec
Forms![frmKasa]![Tip_Dokument] = DLookup("ID_Vid_Dokument", "tblDokumenti", "Forma = 6")
Forms![frmKasa]![Data] = Now
Forms![frmKasa].Refresh
Forms![frmKasa]![frmKasa_Stavkai_Subform]![Barkod].SetFocus
End If
End Function