Centar za edukaciju-BiH


Stranice (2):1,2

#1 14.02.2015 12:25
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Struktura na fajl
Imam jedan fajl sa ekstenxxija .IN koj e daden kako primer za stapjane fiskalnog racuna za jedan kasa.
Ja sam naparavio identicni fajl na njega no ne moj fajl ne radi.
Pokusao sam da ga u poredim sa originalni fajl na sve moguci nacine koi sam znao od otvarajne vo neotepad,word,hexeditor iscitavajne u karaktera(Chr) slajne na printer i od sve te uporedbe sam dobio isti rezultat da oba fajlova su isti.
Jedino sto originalni fajl radi i staampa fiskalne racuna a moj fajl stampa no ne vadi nista na racunu odnosno rvadi racun sa nula iznosom.
Mozda mozete da date neki predlog u cemu je greska sa moj fajl.
PF500.IN je originalni fajl
smetka.IN je fajl koi sam ja kreirao

Prilozi:
Informacije o tipu datoteke za:rar  Fajlovi.rar
Preuzimanja:358
Velicina datoteke:320 Bajt

↑  ↓

#2 14.02.2015 17:55
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Struktura na fajl
Ni binarno se ne razlikuju uopste.
Da postoji bilo kakva razlika binarno bi nasao razliku.
Znaci nije do fajla.
E sad staje.
Prvo pitanje je jel ime fjla?
Pretpostavljam da stavis adekvatno ime.
Mozda u podesenju kase ima napr da prva dva slova imena moraju biti PF.
Jesil probao kada ga preimenujes na isto ime ovo PF500.IN
Citat:
a moj fajl stampa no ne vadi nista na racunu
Hoces reci da ostampa stavke a da umjesto cifara imas nule.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 14.02.2015 17:57
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Struktura na fajl
Moras mi jos nesto reci a to je sta je u kojoj koloni i kolike si duzine kolona odredio u kodu.
Ali prvo napisi sta stampa jeli samo nule i koje kolone su nule.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#4 14.02.2015 18:48
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Struktura na fajl
Ovako promenio sam i ime u PF500.IN
kako sto e u primeru koi su dali.
Ja ovakve slicne kase sam povrzivao i ranije i nisam imao ovakvih problema.
Ovaj fajl ima razlike u struktura od oni fajlove koi sam pravio za drugekase.
Problem e u tome sto firmata koja prodaje ove kase nije dala nikakva dokumentacija kako treba da se konstruira ovaj fajl dala e samo primere kako izgledaju fajlove.
Ja sam ovo pravio na osnovu na ovaj fajl PF500.IN

Ova e sve sto je dala ta firma za ova kasa

Prilozi:
Informacije o tipu datoteke za:rar  ProgramaZaPecatenje_SY55SY46SY250.rar
Preuzimanja:385
Velicina datoteke:68.26 KB

↑  ↓

#5 14.02.2015 19:24
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Struktura na fajl
eve ja cela funkcija koja ja koristam
PreuzmiIzvorni kôd (Visual Basic):
  1. Function Fiskalna_SY45_SY250()             'Fiskalna smetka  za fiskalna kasa SY45 i SY250
  2. If SysCmd(acSysCmdGetObjectState, acForm, "frmKasa") = 0 Then Exit Function
  3.  If Forms![frmKasa]![Fiskalna] = True Then
  4.     MsgBox "Çà îâàà ñìåòêà ÈÌÀÒÅ èçâàäåíî Ôèñêàëíà Ñìåòêà"
  5.    Exit Function
  6.   End If
  7.  
  8.       Dim rs As DAO.Recordset
  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 txt As String
  15.       Dim i As Integer
  16.       Dim DDV_Obvrznik As Boolean
  17.       Dim Makedonski As Boolean
  18.       Dim Mak As String
  19.       Dim Status As String
  20.       Dim Izlez As String
  21.       Dim Karakter As Boolean
  22.       Dim Prefix As String
  23.       Dim Port As Integer
  24.           Port = FiscalenPort
  25.           i = 33
  26.           Karakter = True
  27.  
  28. Set rs = Forms![frmKasa]![frmKasa_Stavkai_Subform].Form.RecordsetClone
  29.  If rs.RecordCount <= 0 Then
  30.    MsgBox "Áðî¼îò íà ñòàâêèòå âî ñìåòêàòà å ïîìàë èëè åíàêîâ íà 0! ÂàäåÅ“åòî íà Ñìåòêà íå å äîçâîëåíî "
  31.    Exit Function
  32.  End If
  33. rs.MoveFirst
  34. Open Pateka & "\Sinergy\PF500.IN" For Output Shared As #1
  35.  Print #1, Chr(32) & "01" & Chr(9) & "1" & Chr(9) & Chr(9) & "0" & Chr(9)  'Pocetok na smetkata otvori beleska
  36.  
  37.     DDV_Obvrznik = DLookup("DDV_Obvrznik", "tblKasaParametri")
  38.     Do While Not rs.EOF
  39.      
  40.    Makedonski = False
  41.    Naziv = Kirilica(UCase(Left(DLookup("Artikal_Ime", "tblArtikli", "ID_Artikal=" & rs.Fields(2)), 20)))    ' Artikal podatok 20 karakteri vo kirilica so golemi bukvi
  42.   Danok = DLookup("Artikal_DDV", "tblArtikli", "ID_Artikal=" & rs.Fields(2))                               ' Danocna stapka
  43.   Cena = Format(rs.Fields(4), "0.00")                                                                      ' Cena podatok
  44.   Kolicina = Format(rs.Fields(5), "0.000")                                                                 ' Kolicina podatok
  45.   Makedonski = DLookup("MK_Proizvod", "tblArtikli", "ID_Artikal=" & rs.Fields(2))                          ' Makednonski proizvod
  46.  
  47.    
  48.    If Karakter = True Then
  49.        Prefix = Chr(35)
  50.        Karakter = False
  51.    Else
  52.        Prefix = Chr(32)
  53.        Karakter = True
  54.    End If
  55.      
  56.    
  57.    If Makedonski = True Then
  58.       Mak = Chr(49)
  59.    Else
  60.       Mak = Chr(48)
  61.    End If
  62.  
  63.    If DDV_Obvrznik = True Then
  64.      Select Case Danok
  65.       Case 0
  66.            DDV = Chr(51)          'Danok podatok 0%
  67.       Case 5
  68.            DDV = Chr(50)           'Danok podatok 5%
  69.       Case 18
  70.            DDV = Chr(49)           'Danok podatok 18%
  71.      End Select
  72.    ElseIf DDV_Obvrznik = False Then
  73.           DDV = Chr(52)           'Danok podatok 0%
  74.   End If
  75.      
  76.      
  77.      Print #1, Prefix & Chr(49) & Naziv + Chr(9) & DDV & Chr(9) & Cena & Chr(9) & Kolicina & Chr(9) & Mak & Chr(9) & Chr(9)
  78.  
  79.  If IsNull(rs.Fields(1)) Or rs.Fields(1) = "" Then Call AzurirajneStavkiSmetka(rs.Fields("ID_Stavka"))
  80.  rs.MoveNext
  81.  Loop
  82.  
  83.  
  84.  Print #1, Chr(38) & "50" & Chr(9) & Chr(9)
  85.  Print #1, Chr(37) & Chr(56)                                   'Kraj na smetkata
  86. Close #1
  87.  
  88.   Sleep (1000)
  89.  
  90.   Call Shell(Pateka & "\Sinergy\Smetka.bat", vbHide)
  91.  
  92. '***************************************************************************************************************************
  93.  '-------- Ovde se zatvora smetkata i se otvora nova ------------------------------
  94.   Forms![frmKasa]![Fiskalna] = True
  95.    Forms![frmKasa]![Fis_Data] = Now
  96.    DoCmd.GoToRecord acDataForm, "frmKasa", acLast
  97. Dim RSo As DAO.Recordset
  98. Set RSo = Forms![frmKasa]![frmKasa_Stavkai_Subform].Form.RecordsetClone
  99.  If RSo.RecordCount <= 0 Then
  100.  DoCmd.GoToRecord acDataForm, "frmKasa", acLast
  101.   Else
  102.      DoCmd.Close acForm, "frmPecati_Smetka"
  103.      Forms![frmKasa].SetFocus
  104.      Forms![frmKasa]![Key] = True
  105.      DoCmd.GoToRecord acDataForm, "frmKasa", acNewRec
  106.      Forms![frmKasa]![Tip_Dokument] = DLookup("ID_Vid_Dokument", "tblDokumenti", "Forma = 6")
  107.      Forms![frmKasa]![Data] = Now
  108.      Forms![frmKasa].Refresh
  109.      Forms![frmKasa]![frmKasa_Stavkai_Subform]![Barkod].SetFocus
  110.      
  111.    
  112.  End If
  113.  
  114.  
  115. End Function
↑  ↓

#6 14.02.2015 20:22
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Struktura na fajl
Uf pa ja ovo nikad nisam radio ovako.
Mozda nije do ovoga ali upis u memorijske mora uvije biti isti.
Treba sabrati max broj karaktera koji se mogu stampati i rasporediti ih na kolone.
Evo ja cu dati primjer pa ti popravi:
Dim Naziv As String *15
Dim Danok As String*10
Dim Cena As String*8
Dim DDV As String*6
Dim Kolicina As String *8
Dim Prazno as string *1
Prazno= " "
Prefix+prazno+naziv+prazno+ddv+prazno+cena+prazno+
kolicina+prazno+mak=Broj karaktera na traci
Lset Naziv = Kirilica(UCase(Left(DLookup("Artikal_Ime", "tblArtikli", "ID_Artikal=" & rs.Fields(2)), 20))) '
Rset Danok = DLookup("Artikal_DDV", "tblArtikli", "ID_Artikal=" & rs.Fields(2)) '
Rset Cena = Format(rs.Fields(4), "0.00") ' Cena
Rset Kolicina = Format(rs.Fields(5), "0.000")

rset i Lset su poravnanja.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 14.02.2015 23:29
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Struktura na fajl
ne te razbiram mislis dekaa brojot na karakteri mi e problem ?
=Broj karaktera na traci sto e ova?
Ovde treba da stavam kolku karakteri treba da ima vo edna linija ?
Jas nemam nikakva dokumentacija od kade da znam kolku karakteri treba da ima vo linija ?
↑  ↓

#8 15.02.2015 00:11
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Struktura na fajl
Mislim da ima 49 karaktera u jednoj liniji. a to vidid kada ostapas jedan.
Uostalom probas i kadstampas (ako si u prilici vidjet ces)
Mada mi nije jasno ovaj fajl je sto si mi poslao je identiocan jedan sa drugim i morao bi njega stampati ako i njega ne stampa onda nije do fajla sigurno.
Jedino se moze desiti da ne stampa kada odaberes druge artikle koji imaju vise karaktera u nazivu, pa eto prvo to treba otkloniti mada si ti tamo to u kodu ogranicio na 20 karaktera ili mozda cijena i kolicina da bude veca pa da preklopi jeno preko drugog.
U ovim fajlovima nisu prazni karakteri nego kolone e sad neznam sta bi se desilo ako je sirina kolone premala za podatak koji treba stati.
Neznam ja bih prvo to pokusao eliminisati.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 15.02.2015 10:25
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: Struktura na fajl
pa kazem ti i ovaj identicni fajl ne stampa i u tome e moj problem,a original oce ,e sad i drugi put sa ovaj isti drajver Fiscal32.exe sam povezivao kase i nikan nije mi trebalo da broim karactera u coloni.
Imam ja jos par kase koje rade sa ovaj drajver , no structura fajla e drugacije.
↑  ↓

#10 15.02.2015 10:57
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Struktura na fajl
Gledaj sto se tice ovog idetifikacionog fajla i tvoga fajla koji si napravio oni su potpuno isti.
Provjerio sam ih i binarno.
Znaci da postoji igdje ikakva razlika binarno bi javio.
Ako imas total comander mozes to provjeriti a imam ja i kod za provjeru.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function RedFajla(Putanja As String, BrojReda As Integer) As String
  2. '*******************************************************
  3. 'Ime:      RedFajla (Function)
  4. 'Sadrzaj:Iscitava jedan red podataka iz fajla
  5. 'Autor: zxz
  6. 'Datum: 01.09.2013, 01:58:32
  7. 'Adresa: Tuzla BiH
  8. 'EMail: zxz@icentar.ba
  9. 'www: icentar.ba
  10. 'Ulazni parametri:Putanja sa imenom i broj reda
  11. 'Izlazni parametri:Sting reda fajla
  12. '******************************************************
  13.  
  14. On Error GoTo Greska
  15.        Dim Temp As String
  16.        Dim BrojFajla As Integer
  17.        Dim i As Integer
  18.  
  19.        BrojFajla = FreeFile
  20.        Open Putanja For Input As #BrojFajla
  21.        For i = 1 To BrojReda
  22.        Line Input #BrojFajla, Temp
  23.        Next i
  24.        RedFajla = Temp
  25.        Close #BrojFajla
  26.        
  27. Exit Function
  28. Greska:
  29. RedFajla = "False"
  30. End Function
  31. Function ProvjeriBIN()
  32. Dim Fajl1 As String
  33. Dim Fajl2 As String
  34. Dim temp1 As String
  35. Dim temp2 As String
  36. Dim i As Integer
  37. Dim R
  38.  
  39.  
  40. Fajl1 = "Putanjadofilea" & "\smetka.in"' ispravi putanju
  41. Fajl2 = PutanjaDoFilea"\Obrada\PF500.IN" 'ispravi putanju.
  42.  
  43. For i = 1 To 11
  44. temp1 = RedFajla(Fajl1, i)
  45. temp2 = RedFajla(Fajl2, i)
  46. R = InStr(1, temp1, temp2, vbBinaryCompare)
  47. If R = 0 Then
  48. MsgBox "Red: " & i & " nije isti"
  49. End If
  50. Next i
  51.  
  52. End Function

samo jos jedno pitanje ako moze.

Kada stampas ovaj svoj tj. smetka.IN, jel oštampa prazan papir ili ostampa nule.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 11: 20 pm.