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