amir 09.12.2010 09:58
Predmet:Re: Fiskalizacija u FBiH

Pozz,
@zxz: radi se o Tremol M modelu koji moze da bude fiskalna kasa ili F. printer.

Evo vec sam se bacio na posao i dosao je odgovor sam na neka pitanja.
Sto se tice komunikacije sa FP dovoljno je samo generisati xml fajl u zadanom direktoriju, a FP server to pokupi i dalje proslijedi do FP-a.

Ostaje mi nejasno jos nacin unosa artikala i klijenata u memoriju FP-a :
- Dali je moguc pojedinacan unos artikala (bez sync_items.xml) s tim da se zada sifra artikla ?
- Kako pokupiti zadnji broj F. racuna iz F.kase da se sinhronizuje sa programom ? Dali se kupi iz neke "result" datoteke ili ...?

Napravio sam i proceduru (delphi) za generisanje XML dokumenata preko TXMLDocument komponente, ako kome zatreba:

PreuzmiIzvorni kôd (Text):
  1. // global variables
  2.   sl      : TStringList;
  3.   xmlDoc  : TXMLDocument;
  4.  
  5. // glavna proc izvjestaja
  6. procedure TForm1.izvjestaj(tip,pocetak,kraj: String); // Ispis izvjstaja
  7. var mainNode : IXMLNode;
  8. begin
  9.     xmlDoc := TXMLDocument.Create(nil) ;
  10.     try
  11.       xmlDoc.Active := true;
  12.       xmlDoc.Version:='1.0';
  13.       xmlDoc.Encoding:='utf-8';
  14.       mainNode := xmlDoc.AddChild('TremolFpServer') ;
  15.       mainNode.Attributes['Command'] := 'Report';
  16.       mainNode.Attributes['Type'] := tip;
  17.       if pocetak<>'' then mainNode.Attributes['Start'] := pocetak;
  18.       if kraj<>'' then mainNode.Attributes['End'] := kraj;
  19.       sl := TStringList.Create;   // String lista
  20.       try
  21.         sl.Assign(xmlDoc.XML) ;
  22.         sl.SaveToFile('c:\Fiscal_comm\Izvjestaj-0000001.xml') ;
  23.       finally
  24.         sl.Free;
  25.       end;
  26.     finally
  27.       xmlDoc := nil;
  28.     end;
  29. end;
  30.  
  31. // poziv  proc. primjer:
  32. izvjestaj('OperatorZ;0','','');  // Z izvjestaj po operatoru

miro35 09.12.2010 16:40
Predmet:Re: Fiskalizacija u FBiH

Za tremol evo moja procedura ili događaj na on click dugmeta:
PreuzmiIzvorni kôd (Text):
  1. Private Sub XML_Click()
  2. If IsNull(DLookup("BROULIZ", "STAVKEMP1", "BROULIZ='" & Me.BROIZD & "'")) Then
  3. MsgBox "Ne postoje podaci za ispis,niste unijeli artikle za prodaju!", vbExclamation, "Obavijest"
  4. Exit Sub
  5. End If
  6. 'DEFINISANJE PROMENLJIVIH
  7. '...........................
  8. Dim rs2
  9. Dim db As Database
  10. Set Tekst = New Stream
  11. Tekst.Open
  12. Tekst.Position = 0
  13. Tekst.Charset = "IBM852"
  14. Tekst.WriteText "<?xml version=""1.0"" encoding=""IBM852""?>" & vbCrLf
  15. Tekst.WriteText "<TremolFpServer Command=""Receipt"" Description=""*** RA UN ***"">" & vbCrLf
  16.  
  17. Set db = CurrentDb()
  18. Set rs2 = db.OpenRecordset("SELECT * FROM qryIZLAZMP WHERE BROULIZ='" & Me.BROIZD & "'", dbOpenDynaset)
  19.     Do While Not rs2.EOF
  20.  
  21.  Tekst.WriteText "<" & "Item Description" & "=" & """" & rs2!ArtNaz & """" & " " & "Quantity" & "=" & """" & rs2!KOLICINASAD & """" & " " & "Price" & "=" & """" & rs2!Cijena & """" & " " & "VatInfo" & "=" & """" & rs2!ArtGPorez & """" & " " & "Department=""1"" " & "UnitName" & "=" & """" & rs2!SIFJED & """" & " " & "/>" & vbCrLf
  22.  
  23. rs2.MoveNext
  24.  
  25.     Loop
  26.    
  27.       rs2.Close
  28.       Tekst.WriteText "<Payment Type=""Virman"" Amount=""0""/>" & vbCrLf
  29.       Tekst.WriteText "<Payment Type=""Gotovina"" " & "Amount" & "=" & """" & Me.Sveukupno & """" & " " & "/>" & vbCrLf
  30.       'Tekst.WriteText "<AdditionalLine Message=""Hvala na posjeti""/>" & vbCrLf
  31.       Tekst.WriteText "<AdditionalLine Message=" & """" & DLookup("PodRac2", "tblPod") & """" & " " & "/>" & vbCrLf
  32.       Tekst.WriteText "<AdditionalLine Message=" & """" & Me.BROIZD & """" & " " & "/>" & vbCrLf
  33.    Tekst.WriteText "</" & "TremolFpServer" & ">" & vbCrLf
  34.       'Tekst.WriteText "<TremolFpServer>" & vbCrLf
  35.  
  36.    
  37.     Set db = Nothing
  38. Tekst.SaveToFile "C:\Prodaja\Miro.xml", adSaveCreateOverWrite
  39.  Tekst.Close
  40. End Sub
Ali ako može Amir malo oko HCP printera.ja sam sve napravio za tu vrstu uređaja ali me zanima kako da svaki put prijavim drugog operatera na uređaj.Znači trebam prije slanja računa da svaki put prijavim novog operatera na fiskalni uređaj HCP.

zxz 09.12.2010 16:49
Predmet:Re: Fiskalizacija u FBiH

Neznam imas li uputstvo. Ako nemas mogu postaviti.
Izgled filea za artikle je u txt formatu bar tako pise:
13POLIRANJE ZUBA (oba 20.002110.00020.0000.000.0000.00
17PROTEZA TOTALNA I PA800.002110.00020.0000.000.0000.00
18PROTEZA TOTALNA I PA900.002110.00020.0000.000.0000.00
19PROTEZA METALNA (viz750.002110.00020.0000.000.0000.00
20LJEPLJENJE PROTEZE 25.002110.00020.0000.000.0000.00
21NADOMJESTAK ZUBA NA 25.002110.00020.0000.000.0000.00
22PODLAGANJE PROTEZE 50.002110.00020.0000.000.0000.00
23KERAMI¬KA ZUBNA KRUN200.002110.00020.0000.000.0000.00
24NADOGRADNJA ZUBA-KOL100.002110.00020.0000.000.0000.00
26FREZ TEHNIKA 50.002110.00020.0000.000.0000.00
27CIRKONSKA ZUBNA KRUN500.002110.00020.0000.000.0000.00
28BEZMETALNA PRESANA K450.002110.00020.0000.000.0000.00
4OBRADA RANE (zaustav10.002110.00020.0000.000.0000.00
5INCIZIJA APSCESA 20.002110.00020.0000.000.0000.00
6LIJE¬ENJA JEDNOKORIJ25.002110.00020.0000.000.0000.00
7LIJE¬ENJA VIćEKORIJE30.002110.00020.0000.000.0000.00
8PLOMBA (jednopovrçin30.002110.00020.0000.000.0000.00
9PLOMBA (viçepovrçins40.002110.00020.0000.000.0000.00
Sta je sve u kojoj koloni vjeruj mi da neznam.
Vjerovatno pise u uputstvu.
Nisam ga citao cijelog.
a Null artikl:
<?xml version="1.0" encoding="utf-8" ?>
<TremolFpServer Command="Report" Type="ItemZ" />

Ako ti nije tesko stavi nam u delphi forum kod ako ga vec imas.

amir 09.12.2010 20:13
Predmet:Re: Fiskalizacija u FBiH

@Miro : ako moze neka info, kako da dobijem broj fiskalnog racuna iz kase ?
HCP nisam radio, radio sam NSC: FP-550H.

@zxz: Bas to mi treba, ali treba mi i opis kolona, prve 3 su jasne ali ostale ... ?

amir 09.12.2010 20:22
Predmet:Re: Fiskalizacija u FBiH

Evo jos jedne procedure za Tremol, (prodaja artikla - TXMLDocuments ):

PreuzmiIzvorni kôd (Text):
  1. //globalne var.
  2.   sl      : TStringList;
  3.   xmlDoc  : TXMLDocument;
  4.  
  5.  
  6. procedure TForm1.pracuni_print;  // Ispis p_racun stavki na FP
  7.  var
  8.     mainNode, itemNode, paymentNode, adNode  : IXMLNode;
  9. begin
  10.     xmlDoc := TXMLDocument.Create(nil) ;
  11.     try
  12.       xmlDoc.Active := true;
  13.       xmlDoc.Version:='1.0';
  14.       xmlDoc.Encoding:='ibm852';
  15.  
  16.       mainNode :=xmlDoc.AddChild('TremolFpServer') ;
  17.       mainNode.Attributes['Command'] := 'Receipt';
  18.  
  19.       // Ovdje idu artikli povuceni iz db while --> not eof
  20.       itemNode := mainNode.AddChild('Item') ;
  21.       itemNode.Attributes['Description'] := 'Artikal_1';
  22.       itemNode.Attributes['Quantity'] := '1.00';
  23.       itemNode.Attributes['Price'] := '1.20';
  24.       itemNode.Attributes['VatInfo'] := '2';
  25.       itemNode.Attributes['Department'] := '1';
  26.       itemNode.Attributes['Discount'] := '0.00%';
  27.  
  28.       // Nacin placanja
  29.       paymentNode:= mainNode.AddChild('Payment');
  30.       paymentNode.Attributes['Type'] := 'Kartica';
  31.       paymentNode.Attributes['Amount'] := '0.00';
  32.  
  33.       // Pozdravna poruka iz db
  34.       adNode := mainNode.AddChild('AdditionalLine');
  35.       adNode.Attributes['Message'] := 'Hvala, posjetite nas ponovo !74';
  36.  
  37.       sl := TStringList.Create;
  38.       try
  39.         sl.Assign(xmlDoc.XML) ;
  40.         sl.SaveToFile('c:\Fiscal_comm\Racun-0000001.xml') ;
  41.       finally
  42.         sl.Free;
  43.       end;
  44.     finally
  45.       xmlDoc := nil;
  46.     end;
  47. end;
  48.  
  49. // pozivanje procedure:
  50.  pracuni_print;

zxz 09.12.2010 21:06
Predmet:Re: Fiskalizacija u FBiH

Evo ti uputstvo.
Izmedju ostalog ima i programiranje artikala.
Kako isprogramiras tako treba da izgleda i file.

Upute za tremol_M

miro35 10.12.2010 10:19
Predmet:Re: Fiskalizacija u FBiH

Evo ti u pdf-u za tremol opis kolona Å¡ta koja znači a to sa brojem fiskalnog računa ja mislim da se nemože dobiti iz uređaja barem su tako rekli.
Prilozi:
FormatDB.rar (Velicina datoteke:80.29 KB)

miro35 10.12.2010 10:21
Predmet:Re: Fiskalizacija u FBiH

Još za tremol
Prilozi:
FormatDB.rar (Velicina datoteke:80.29 KB)

miro35 10.12.2010 10:24
Predmet:Re: Fiskalizacija u FBiH

Evo za HCP
Prilozi:
HCP Fiscal Residential Gateway BA.rar (Velicina datoteke:228.45 KB)

miro35 10.12.2010 10:26
Predmet:Re: Fiskalizacija u FBiH

Izvinjavam se ovo je bilo na engleskom evo na našem jeziku:
Prilozi:
HCP Fiscal Residential Gateway BA 1.rar (Velicina datoteke:232.26 KB)