[This is preliminary documentation and is subject to change.]

Spremanje artikala u fiskalni printer možemo vršiti na dva načina: pojedinačno i/ili grupno.

Maximalne vrijednosti polja:

  • Šifra -> 13 brojeva
  • Naziv i JM -> zajedno 36 karaktera
  • Cijena -> Za Favourite (9.999.999,99)

POJEDINAČNI UNOS ARTIKALA

NoteNote

Preporučujemo da prije svake naredbe prethodno provjerite dostupnost Tring.Fiscal.Servera i status Tring fiskalnog uređaja !

CopyC#
TringFiskalniPrinter printer = new TringFiskalniPrinter();
            KasaOdgovor odgovor = new KasaOdgovor();
            StatusUredjaja status;

            //vrsta fiskalnog uređaja
            printer.VrstaUredjaja = VrsteFiskalnihUredjaja.TringTF1;

            //promijeni režim u emulator
            printer.PromjeniRezimRada(RezimRada.Emulator);

            //postavka ip adrese Tring.Fiscal.Server
            //localhost za slučaj lokalnog server
            //ip adresa ili mrežni naziv računala u slučaju da je server lociran u mreži
            printer.IPadresa("localhost");

            //testiranje dostupnosti Tring.Fiscal.Server
            odgovor = printer.TestirajTringFiscalServer();

            if (odgovor.VrstaOdgovora == VrsteOdgovora.OK)
            {
                //server dostupan
                //provjera statusa uredjaja
                status = printer.ProvjeriStatusUredjaja();
                if (status == StatusUredjaja.Normalan || status == StatusUredjaja.Test)
                {
                    //nastavak koda
                    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\..\..\..\VB6\pos.mdb");
                    OleDbCommand  command = new OleDbCommand("select * from ARTIKLI", con);
                    OleDbDataReader dr;
                    try
                    {
                        con.Open();
                        dr=command.ExecuteReader(CommandBehavior.CloseConnection );

                        while (dr.Read ())
                        {
                            Artikal art = new Artikal();
                            art.Sifra = dr.GetValue(0).ToString(); //samo brojevi ipak
                             art.Naziv = dr.GetString(1);
                            art.JM = dr.GetString(2);
                            art.Cijena = (double)dr.GetValue(3);
                            art.Stopa = (VrstePoreskihStopa)dr.GetInt16(4);

                            //dodati u printer
                            odgovor = printer.UpisiArtikal(art);
                            if (odgovor.VrstaOdgovora == VrsteOdgovora.OK )
                            {
                                Debug.WriteLine(art.Naziv + ":OK");
                            }
                        }
                        dr.Close();
                        con.Close();


                    }
                    catch (Exception ex)
                    {

                        MessageBox.Show(ex.Message);
                    }
                }
            }
            else
            {
                //greška
            }
            printer = null;
            odgovor = null;
CopyVB 5,6
Dim printer As TringFiskalniPrinter
Dim odgovor As KasaOdgovor
Dim status As StatusUredjaja
Dim listaArtikala As ArtikalList
Dim i As Integer

Dim ado As New ADODB.Recordset
Dim con As New ADODB.Connection
With con
        .Provider = "MSDataShape"
        .Properties("Data Provider") = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Data Source") = Replace("D:\PROJEKTI\Tring.Fiscal\Sample\VB6\pos.mdb", vbNullChar, "")
        .Properties("User ID").Value = "Admin"
End With

Set printer = New TringFiskalniPrinter
Set odgovor = New KasaOdgovor

'vrsta fiskalnog uređaja
printer.VrstaUredjaja = VrsteFiskalnihUredjaja_TringTF1

'promijeni režim u emulator
printer.PromjeniRezimRada (RezimRada_Emulator)

'postavka ip adrese Tring.Fiscal.Server
'localhost za slučaj lokalnog server
'ip adresa ili mrežni naziv računala u slučaju da je server lociran u mreži
printer.IPadresa ("localhost")

'testiranje dostupnosti Tring.Fiscal.Server
Set odgovor = printer.TestirajTringFiscalServer()

If odgovor.VrstaOdgovora = VrsteOdgovora_OK Then
    'server dostupan
    status = printer.ProvjeriStatusUredjaja()
    'provjera statusa uredjaj
    If status = StatusUredjaja_Normalan Or status = StatusUredjaja_Test Then
        'nastavak koda
        'otvaranje konekcije
        Call con.Open
        Set ado.ActiveConnection = con
        'zadavanje SQL naredbe
        ado.Source = "select * from ARTIKLI"
        Call ado.Open

        Set listaArtikala = New ArtikalList
        'učitavanje artikala iz recordseta u listu artikala
        For i = 0 To ado.RecordCount - 1
            'kreiranje novog artikla
            Set artikal = New artikal
            artikal.Sifra = ado!Sifra
            artikal.Naziv = ado!Naziv
            artikal.JM = ado!JM
            artikal.Cijena = ado!Cijena
            artikal.Stopa = CInt(ado!StopaPDV)
            'upis artikala u fiskalni printer
            Set odgovor = printer.UpisiArtikal(artikal)
            If odgovor.VrstaOdgovora = VrsteOdgovora_OK Then
                'artikal uspješno prijavljen u fiskalni printer
                Debug.Print artikal.Sifra + ":" + OK
            End If
            ado.MoveNext
        Next i
        'zatvaranje konekcije
        Call con.Close



    End If
Else
    'greška
    '....
End If

Set printer = Nothing
Set odgovor = Nothing

GRUPNI UNOS ARTIKALA

NoteNote

Preporučujemo da prije svake naredbe prethodno provjerite dostupnost Tring.Fiscal.Servera i status Tring fiskalnog uređaja !

CopyC#
TringFiskalniPrinter printer = new TringFiskalniPrinter();
            KasaOdgovor odgovor = new KasaOdgovor();
            StatusUredjaja status;

            //vrsta fiskalnog uređaja
            printer.VrstaUredjaja = VrsteFiskalnihUredjaja.TringTF1;

            //promijeni režim u emulator
            printer.PromjeniRezimRada(RezimRada.Emulator);

            //postavka ip adrese Tring.Fiscal.Server
            //localhost za slučaj lokalnog server
            //ip adresa ili mrežni naziv računala u slučaju da je server lociran u mreži
            printer.IPadresa("localhost");

            //testiranje dostupnosti Tring.Fiscal.Server
            odgovor = printer.TestirajTringFiscalServer();

            if (odgovor.VrstaOdgovora == VrsteOdgovora.OK)
            {
                //server dostupan
                //provjera statusa uredjaja
                status = printer.ProvjeriStatusUredjaja();
                if (status == StatusUredjaja.Normalan || status == StatusUredjaja.Test)
                {
                    //nastavak koda
                    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\..\..\..\VB6\pos.mdb");
                    OleDbCommand command = new OleDbCommand("select * from ARTIKLI", con);
                    OleDbDataReader dr;
                    try
                    {
                        con.Open();
                        dr = command.ExecuteReader(CommandBehavior.CloseConnection);

                        //nova lista artikala
                        ArtikalList listaArtikala = new ArtikalList();

                        while (dr.Read())
                        {
                            Artikal art = new Artikal();
                            art.Sifra = dr.GetValue(0).ToString(); //samo brojevi ipak
                            art.Naziv = dr.GetString(1);
                            art.JM = dr.GetString(2);
                            art.Cijena = (double)dr.GetValue(3);
                            art.Stopa = (VrstePoreskihStopa)dr.GetInt16(4);

                            listaArtikala.Dodaj(art);

                        }
                        //dodati u printer
                        odgovor = printer.UpisiArtikle(listaArtikala);
                        if (odgovor.VrstaOdgovora == VrsteOdgovora.OK)
                        {
                            Debug.WriteLine("OK");
                        }
                        dr.Close();
                        con.Close();


                    }
                    catch (Exception ex)
                    {

                        MessageBox.Show(ex.Message);
                    }
                }
            }
            else
            {
                //greška
            }
            printer = null;
            odgovor = null;
CopyVB 5,6
Dim printer As TringFiskalniPrinter
Dim odgovor As KasaOdgovor
Dim status As StatusUredjaja
Dim listaArtikala As ArtikalList
Dim i As Integer

Dim ado As New ADODB.Recordset
Dim con As New ADODB.Connection
With con
        .Provider = "MSDataShape"
        .Properties("Data Provider") = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Data Source") = Replace("D:\PROJEKTI\Tring.Fiscal\Sample\VB6\pos.mdb", vbNullChar, "")
        .Properties("User ID").Value = "Admin"
End With

Set printer = New TringFiskalniPrinter
Set odgovor = New KasaOdgovor

'vrsta fiskalnog uređaja
printer.VrstaUredjaja = VrsteFiskalnihUredjaja_TringTF1

'promijeni režim u emulator
printer.PromjeniRezimRada (RezimRada_Emulator)

'postavka ip adrese Tring.Fiscal.Server
'localhost za slučaj lokalnog server
'ip adresa ili mrežni naziv računala u slučaju da je server lociran u mreži
printer.IPadresa ("localhost")

'testiranje dostupnosti Tring.Fiscal.Server
Set odgovor = printer.TestirajTringFiscalServer()

If odgovor.VrstaOdgovora = VrsteOdgovora_OK Then
    'server dostupan
    status = printer.ProvjeriStatusUredjaja()
    'provjera statusa uredjaj
    If status = StatusUredjaja_Normalan Or status = StatusUredjaja_Test Then
        'nastavak koda
        'otvaranje konekcije
        Call con.Open
        Set ado.ActiveConnection = con
        'zadavanje SQL naredbe
        ado.Source = "select * from ARTIKLI"
        Call ado.Open

        Set listaArtikala = New ArtikalList
        'učitavanje artikala iz recordseta u listu artikala
        For i = 0 To ado.RecordCount - 1
            'kreiranje novog artikla
            Set artikal = New artikal
            artikal.Sifra = ado!Sifra
            artikal.Naziv = ado!Naziv
            artikal.JM = ado!JM
            artikal.Cijena = ado!Cijena
            artikal.Stopa = CInt(ado!StopaPDV)
            'dodavanje artikla u listu
            Call listaArtikala.Dodaj(artikal)
            ado.MoveNext
        Next i
        'zatvaranje konekcije
        Call con.Close

        'upis artikala u fiskalni printer
        Set odgovor = printer.UpisiArtikle(listaArtikala)

        If odgovor.VrstaOdgovora = VrsteOdgovora_OK Then
            'artikal uspješno prijavljen u fiskalni printer
            MsgBox ("OK")
        End If
    End If
Else
    'greška
    '....
End If

Set printer = Nothing
Set odgovor = Nothing