miro35 |
12.07.2011 09:36 |
Predmet:Fiskalni uređaji nazivi artikala
Za fiskalne uređaje je potrebno prilagoditi nazive artikala.Ja sam to napravio u query-ju,pa onda iz tog query-ja čitam nazive recordset-om i onda vrÅ¡im update u svoje artikle.Sve je u redu evo primjera kad mjenjam ovu crticu (') i stavljam razmak. Naz': Replace([Naz=];"'";" ") .
E kako sada da mjenjam kad su navodnici u nazivu. (").
Kako napisati ovo u query-ju? |
zxz |
12.07.2011 09:56 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Po meni netrebas mijenjati i bazi nazive artikala.
Tamo treba da ostanu izvorni. E sad sta stvarno trebas promijeniti nije mi bas jasno niti iz kog razloga.
Ja sam t radio ovako:
1.Promjena duzine na napr 35 karaktera
Conts DuzArt=35
Dim NazivARt as string
NazivArt=Rs!NazivArtikla
IF Len(NazivArt)>DuzArt Then
NazivArt=Left(NazivArt,DuzArt-1) & "."
Endif
2.Zamjena Karaktera
Prvo mi moras reci razlog zasto se mijenjaju karakteri iz naziva.
Koji se mijenjaju i u koje mijenjas.
Ovo je iz razloga da nebi lutali. |
miro35 |
12.07.2011 10:35 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Znači kad je u nazivu artikla npr "Cola" neće ga ispisati fiskalni uređaj javi greÅ¡ku.Kad stoji samo Cola onda račun izlazi.To je kod printera FP555Ba.Ja mislim da je i kod tremol uređaja.Ovo mi treba zato Å¡to neko ima preko 1000 artikala u bazi pa da ne traži gdje se nalaze navodnici u nazivu da mu to program automatski nađe.
Nije samo stvar u navodnicima.Proizvođač je u uputstvu stavio da u nazivu artikla ne smije stajati:
<,>,+,-,*,/,',",(,),=,%,&,! |
zxz |
12.07.2011 11:10 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Evo.
Kako treba koristiti?
Kada podizes RS radi kreiranja xml filea te ucitas nazi artikla prije zapisa u txt file pozoves ovu proceduru.
Primjer:
Dim NaziA as string
NazivA=Rs!NazivPolje
NazivA=Naziv_Art(NazivA)
PreuzmiIzvorni kôd (Visual Basic):Function Naziv_Art(NazivASrtikla As String)
Dim I As Integer
Dim Pozicija As Integer
Dim Duz_Art As Integer
'-------------------------------
'Duzina teksta u nazivu artikla
'Moze se postaviti kao konstanta
Duz_Art = 38
'------------------------------
For I = 30 To 47
Izmjena1:
Pozicija = InStr(1, NazivASrtikla, Chr(I))
If Pozicija > 0 Then
NazivASrtikla = Left(NazivASrtikla, Pozicija - 1) & " " & Mid(NazivASrtikla, Pozicija + 1)
GoTo Izmjena1
End If
Next I
For I = 58 To 63
Izmjena2:
Pozicija = InStr(1, NazivASrtikla, Chr(I))
If Pozicija > 0 Then
NazivASrtikla = Left(NazivASrtikla, Pozicija - 1) & " " & Mid(NazivASrtikla, Pozicija + 1)
GoTo Izmjena2
End If
Next I
If Len(NazivASrtikla) > Duz_Art Then
NazivASrtikla = Left(NazivASrtikla, Duz_Art - 1) & "."
End If
Naziv_Art = NazivASrtikla
End Function
|
miro35 |
12.07.2011 11:23 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Da li je ovo samo za dužinu naziva artikla |
zxz |
12.07.2011 11:24 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Ne to ti je za sve znakove koje si naveo i duzinu. |
miro35 |
12.07.2011 12:28 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Ovo je moj kod za kreiranje xml-a gdje i kako da ubacim ovu tvoju funkciju mislim da je pozovem:
PreuzmiIzvorni kôd (Text):Dim rs2
Dim db As Database
Set Tekst = New Stream
Tekst.Open
Tekst.Position = 0
Tekst.Charset = "UTF-8"
Tekst.WriteText "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>" & vbCrLf
Tekst.WriteText "<RECEIPT>" & vbCrLf
Set db = CurrentDb()
Set rs2 = db.OpenRecordset("SELECT * FROM qryIspisIzdFiskal WHERE Broj='" & Me.Broj & "'", dbOpenDynaset)
Do While Not rs2.EOF
If (rs2!DS_VALUEBroj > 0) Then
Tekst.WriteText "<" & "DATA BCR" & "=" & """" & rs2!BrArt & """" & " " & "VAT" & "=" & """" & rs2!ArtGPorez & """" & " " & "MES" & "=" & """" & rs2!MES & """" & " " & "DEP=""1"" " & " " & "DSC" & "=" & """" & rs2!NazArt & """" & " " & "PRC" & "=" & """" & rs2!PRCFiskal & """" & " " & "AMN" & "=" & """" & rs2!AMNFiskal & """" & " " & "DS_VALUE" & "=" & """" & rs2!DS_VALUEFiskal & """" & " " & "DISCOUNT=""True"" " & "/>" & vbCrLf
Else
Tekst.WriteText "<" & "DATA BCR" & "=" & """" & rs2!BrArt & """" & " " & "VAT" & "=" & """" & rs2!ArtGPorez & """" & " " & "MES" & "=" & """" & rs2!MES & """" & " " & "DEP=""1"" " & " " & "DSC" & "=" & """" & rs2!NazArt & """" & " " & "PRC" & "=" & """" & rs2!PRCFiskal & """" & " " & "AMN" & "=" & """" & rs2!AMNFiskal & """" & " " & "/>" & vbCrLf
End If
rs2.MoveNext
Loop
rs2.Close
Tekst.WriteText "<DATA PAY=""3"" " & "Amount" & "=" & """" & Me.Sveukupno & """" & " " & "/>" & vbCrLf
'Tekst.WriteText "<DATA PAY=""0"" Amount=""0""/>" & vbCrLf
'Tekst.WriteText "<DATA PAY=""2"" Amount=""0""/>" & vbCrLf
'Tekst.WriteText "<AdditionalLine Message=""Hvala na posjeti""/>" & vbCrLf
'Tekst.WriteText "<AdditionalLine Message=" & """" & DLookup("PodRac2", "tblPod") & """" & " " & "/>" & vbCrLf
'Tekst.WriteText "<AdditionalLine Message=" & """" & Me.BROIZD & """" & " " & "/>" & vbCrLf
Tekst.WriteText "</" & "RECEIPT" & ">" & vbCrLf
'Tekst.WriteText "<TremolFpServer>" & vbCrLf
Set db = Nothing
Tekst.SaveToFile "C:\HCP\TO_FP\RCP_" & Me.Broj & "Klijent" & ".XML", adSaveCreateOverWrite
'Tekst.SaveToFile "C:\HCP\TO_FP\RCP_104500.XML", adSaveCreateOverWrite
Tekst.Close
'Call OK_Click
Set Tekst3 = New Stream
Tekst3.Open
Tekst3.Position = 0
Tekst3.Charset = "UTF-8"
Tekst3.WriteText "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>" & vbCrLf
'Set db4 = Nothing
Tekst3.SaveToFile "C:\HCP\TO_FP\CMD.OK", adSaveCreateOverWrite
Tekst3.Close
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblIzdatnica SET FiskalniIspis='" & "D" & "' WHERE Broj='" & Me.Broj & "'"
DoCmd.SetWarnings True
Me.FiskalniIspis = "D"
' Tekst.Close
'MsgBox "Izvještaj je uspješno poslan na fiskalni ureaj!", vbExclamation, "Uspješno poslano"
ProvjeraKlient (Me.Broj)
'DoCmd.Close
|
zxz |
12.07.2011 13:27 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Evo dio koda tvog koji trebas ispraviti.
PreuzmiIzvorni kôd (Visual Basic): Set db = CurrentDb()
Set rs2 = db.OpenRecordset("SELECT * FROM qryIspisIzdFiskal WHERE Broj='" & Me.Broj & "'", dbOpenDynaset)
Do While Not rs2.EOF
Dim NazivA as string
NazivA=Rs2!NazArt
NazivA=Naziv_Art(NazivA)
If (rs2!DS_VALUEBroj > 0) Then
Tekst.WriteText "<" & "DATA BCR" & "=" & """" & rs2!BrArt & """" & " " & "VAT" & "=" & """" & rs2!ArtGPorez & """" & " " & "MES" & "=" & """" & rs2!MES & """" & " " & "DEP=""1"" " & " " & "DSC" & "=" & """" & NazivA & """" & " " & "PRC" & "=" & """" & rs2!PRCFiskal & """" & " " & "AMN" & "=" & """" & rs2!AMNFiskal & """" & " " & "DS_VALUE" & "=" & """" & rs2!DS_VALUEFiskal & """" & " " & "DISCOUNT=""True"" " & "/>" & vbCrLf
Else
Tekst.WriteText "<" & "DATA BCR" & "=" & """" & rs2!BrArt & """" & " " & "VAT" & "=" & """" & rs2!ArtGPorez & """" & " " & "MES" & "=" & """" & rs2!MES & """" & " " & "DEP=""1"" " & " " & "DSC" & "=" & """" & nazivA & """" & " " & "PRC" & "=" & """" & rs2!PRCFiskal & """" & " " & "AMN" & "=" & """" & rs2!AMNFiskal & """" & " " & "/>" & vbCrLf
End If
rs2.MoveNext
Loop
|
miro35 |
12.07.2011 13:37 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Kad stavim na ovo mjesto onda mi blokira ovo
PreuzmiIzvorni kôd (Text):Dim NazivA as string
NazivA=Rs2!NazArt
NazivA=Naziv_Art(NazivA)
a kad stavim ispod ovog djela
If (rs2!DS_VALUEBroj > 0) Then Onda mi kreira xml fajl sa praznim nazivom artikla |
zxz |
12.07.2011 13:43 |
Predmet:Re: Fiskalni uređaji nazivi artikala
Citat:If (rs2!DS_VALUEBroj > 0) Then
Onda mi kreira xml fajl sa praznim nazivom artikla Mozes ti staviti i ovdje ali onda moras isto to staviti i na else.
Ako stavis kako sam naveo onda moze samo jednom.
Citat:Dim NazivA as string
NazivA=Rs2!NazArt
NazivA=Naziv_Art(NazivA)
Na kojem redu tacno stane ovdje i koju gresku javi? |