среда, 4. април 2012.

SachsenWasser - utosak po mernim mestima

Izvršena izmena programa Pregled stanja vodomjera ( IKO001v ). Dodana je opcija prikaza utrošaka fluida na mernim mestima za izabranu godinu po mesecima. Prikazani utrošak prestavlja u stvari fakturisani fluid za svaki iazabrani period. U prikazu će se pojaviti sva merna mesta kojima je obračunat utrošak fluida bez obzira na način obračuna:

  • Obračun po članu
  • Obračun po procentu
  • Pomočno merilo
  • Sekundarni paušalac
  • Paušalac po članu
  • Samostalni paušalac
  • Samostalno merilo
  • Glavno merilo
  • Uneta potrošnja po ćlanu
  • Paušal po mesecu i ćlanu

Ako vas interesuju utrošci samo onih mernih mesta koja imaju merač u tu grupu spadaju:
  • Samostalno merilo
  • Glavno merilo
  • Pomočno merilo
Program sa izmenama se nalazi na svim klijentima. Da bi ste pokrenuli program u meniju "Komunalne usluge" izaberite podmeni "Pregledi" a zatim "Pregled i analiza stanja Vodomera" 
Po pokretanju programa treba izabrati opciju “Pregled merača koji su ugrađeni u merno mesto“  (kao na slici)
Prelaskom u prozor sa izborom prikaza podataka, primećujemo da postoje dva  nova izbora:
  • Prikaz mernih mesta sa utroškom vode u izabranoj godini
  • Prikaz merača i mernih mesta sa utroškom vode u izabranoj godini


Izborom opcije „Prikaz mernih mesta sa utroškom vode u izabranoj godini“ i klikom na dugme Prikaži izabrane podatke prelazimo u sledeći izbor. U ovom prozoru je potrebno izabrati godinu za koju želimo da prikažemo podatke.


Izborom godine potrebno je da sačekamo da se podaci popune u tabelu.
Tabela ima sledeće kolone:
  • Šifra rejona
  • Šifra podrejona
  • Broj mernog mesta
  • Sledećih dvanaest kolona su meseci sa fakturisanom vodom u tim mesecima.

Negativne količine prestavljaju stornirane kubike kroz reklamaciju. U VIK ovima se prilikom reklamacije ne vezuju kubike koje storniraju za mesec u kojem su pogrešno fakturisani. 
Izborom druge opcije:
Prikaz merača i mernih mesta sa utroškom vode u izabranoj godini, postupak je indetičan samo što će mo dobti drukčiju strukturu podataka.





Žutom bojom su označene one kolone kod kojih mernih mesta je bila zamena merača u toku izabrane godine. Tako da je u prvoj koloni broj merača a sledeće kolone su parametri mernog mesta čiji se utrošci prikazuju.
Dobijene podatke možete ivesti u EXCEL ako uradite desni klik u tabelu i izaberete opciju „Izvoz“




недеља, 1. април 2012.

Zen problem

Budistički sveštenik dobija zadatak od svog učitelja da meditira tačno 45 minuta.
Nema sat, ima samo dva mirišljava štapića, od kojih svaki gori tačno jedan sat, ali različitom brzinom. 
Kako će sveštenik izmeriti tačno 45min meditacije?


Pošto budistički sveštenik zna C#, verovatno je napisao ovakav code:


using System;
using System.Threading;
namespace Puzzle
{
    class Program
    {
        public static Thread T1_l, T1_r, T2_l, T2_r;
       
        static void Main(string[] args)
        {
            ST st1 = new ST(60, 50, 1);
            ST st2 = new ST(60, 50, 2);
            T1_l = new Thread(new ThreadStart(st1.F1));
            T1_r = new Thread(new ThreadStart(st1.F2));
            T2_l = new Thread(new ThreadStart(st2.F1));
            T2_r = new Thread(new ThreadStart(st2.F2));
            st1._e1 += new EventHandler(_EH1l);
            st1._e2 += new EventHandler(_EH1r);
            st1._e0 += new EventHandler(_Fin1);
            st2._e1 += new EventHandler(_EH2l);
            st2._e2 += new EventHandler(_EH2r);
            st2._e0 += new EventHandler(_Fin2);
 
            T1_l.Start();
            T1_r.Start();
            T2_l.Start();
 
            Console.ReadLine();
        }
 
        static void _Fin1(object sender, EventArgs e)
        {
            Console.WriteLine("First finish  " + sender.ToString());
            if (!T2_r.IsAlive)
                T2_r.Start();
        }
        static void _EH1l(object sender, EventArgs e)
        {
            Console.WriteLine("Left  " + sender.ToString());
        }
        static void _EH1r(object sender, EventArgs e)
        {
            Console.WriteLine("Right " + sender.ToString());
        }
        static void _Fin2(object sender, EventArgs e)
        {
            Console.WriteLine("Finish  " + sender.ToString());
        }
        static void _EH2l(object sender, EventArgs e)
        {
            Console.WriteLine("     Left  " + sender.ToString());
        }
        static void _EH2r(object sender, EventArgs e)
        {
            Console.WriteLine("     Right " + sender.ToString());
        }
    }
    public class ST
    {
        public event EventHandler _e1, _e2, _e0;
        private decimal _d = 0;
        private int[] v_s;
        private int[] v_t;
        private int[] v_d;
        int x, y = 0;
        private DateTime dt;
        private int tt = 1000;
        private int a = 0;
        Random sl = new Random();
        public ST(int _t, int _i, int _a)
        {
            v_s = new int[_t];
            v_t = new int[_t];
            v_d = new int[_t];
            Console.Write("Stick " + _a.ToString() + " (");
            for (int i = 0; i < _t; i++)
            {
                v_s[i] = sl.Next(1, _i);
                v_t[i] = _t / 60;
                v_d[i] = v_s[i] * v_t[i];
                if (i != (_t - 1))
                    Console.Write(v_s[i].ToString() + ",");
                else
                    Console.Write(v_s[i].ToString());
 
            }
            Console.WriteLine(")");
            dt = DateTime.Now;
            //   this._d = v_s.Sum();
            foreach (int q in v_s)
                this._d += q;
            y = _t;
            this.a = _a;
 
            //    Console.WriteLine("Stick {0} Duration: {1} Time: {2}", _a, v_d.Sum(),_t);
            int e = 0;
            foreach (int q in v_d)
                e += q;
            Console.WriteLine("Stick {0} Duration: {1} Time: {2}", _a, e, _t);
            Console.WriteLine();
        }
        public void F1()
        {
            string _b = "";
            decimal _tt = 0;
            while (Duration > 0)
            {
                if (Duration <= v_d[x])
                {
                    _tt = Math.Round(((Duration / Convert.ToDecimal(v_d[x])) *
                        Convert.ToDecimal(v_t[x]) / 2), 2) * tt;
 
                    if ((Program.T2_r.IsAlive) && a == 2)
                        Program.T2_r.Abort();
                    if ((Program.T1_r.IsAlive) && a == 1)
                        Program.T1_r.Abort();
                }
                else
                    _tt = v_t[x] * tt;
                Thread.Sleep(Convert.ToInt32(_tt));
                _b = String.Format("Speed: {0:D2} Time: {1:F0} Duration: {2:D2} Remaining: {3:F0} Elapsed: {4:D2}",
                    v_s[x], _tt / tt, v_d[x], Duration - v_d[x], dt.Subtract(DateTime.Now).Duration().Seconds);
 
                _e1((object)_b, new EventArgs());
                Duration = v_d[x];
                x++;
            }
        }
        public void F2()
        {
            string _b = "";
            decimal _tt = 0;
            while (Duration > 0)
            {
                y--;
                if (Duration <= v_d[y])
                {
                    _tt = Math.Round(((Duration / Convert.ToDecimal(v_d[y])) *
                        Convert.ToDecimal(v_t[y]) / 2), 2) * tt;
                    if ((Program.T2_l.IsAlive) && a == 2)
                        Program.T2_l.Abort();
                    if ((Program.T1_l.IsAlive) && a == 1)
                        Program.T1_l.Abort();
                }
                else
                    _tt = v_t[y] * tt;
                Thread.Sleep(Convert.ToInt32(_tt));
                _b = String.Format("Speed: {0:D2} Time: {1:F0} Duration: {2:D2} Remaining: {3:F0} Elapsed: {4:D2}",
                 v_s[y], _tt / tt, v_d[y], Duration - v_d[y], dt.Subtract(DateTime.Now).Duration().Seconds);
                _e2((object)_b, new EventArgs());
                Duration = v_d[y];
            }
        }
        private decimal Duration
        {
            get { return _d; }
            set
            {
                _d = _d - value;
                if (_d < 0)
                    _d = 0;
                if (_d == 0)
                {
                   _e0((object)dt.Subtract(DateTime.Now).Duration().Seconds, new EventArgs();
 
                    if ((Program.T1_l.IsAlive) && a == 1)
                        Program.T1_l.Abort();
                    if ((Program.T1_r.IsAlive) && a == 1)
                        Program.T1_r.Abort();
                    if ((Program.T2_l.IsAlive) && a == 2)
                        Program.T2_l.Abort();
                    if ((Program.T2_r.IsAlive) && a == 2)
                        Program.T2_r.Abort();
                }
            }
        }
    }
}


понедељак, 16. мај 2011.

Završen konkurs „Vip izazov3” II

„ViPutnik”, „TV program Srbija” i „SerbianNews“ među najboljim domaćim mobilnim aplikacijama. Domaći programeri prijavili 76 aplikacija na konkursu. Nagradni fond iznosi 40.000 evra.




Nagrađene aplikacije u kategoriji Najbolja WP7 aplikacija su:
1. nagrada (3.000 evra): SerbianNews – birani pristup dnevnim informacijama iz Srbije, autor je Aleksandar Petrinović.

2. nagrada (1.000 evra): Bioskopi – dnevni repertoar bioskopskih projekcija koji omogućava i rezervaciju karata, autor Vladimir Milošević.

3. nagrada (Samsung Omnia 7 smart telefon): BudgetZ – praćenje i analiza ličnih finansija, autor Nemanja Zbiljić.

„Vip izazov3”, jedinstveni konkurs za razvoj lokalno primenljivih aplikacija za Android, bada i Windows Phone 7 mobilne telefone, uspešno je završen. Ovim konkursom Vip, u saradnji sa kompanijom Samsung, želi da približi sve tri platforme domaćim programerima i pripremi lokalno tržište za novo korisničko iskustvo.
Razvojem aplikacija za ove tri mobilne platforme, kroz tri različite faze konkursa, programeri su se takmičili za tri vrste nagrada: Najbolje aplikacije po izboru žirija za svaku od platformi, Najbolje studentske aplikacije po izboru žirija i Nagrade programera.
Prema kriterijumima konkursa, prilikom selekcije aplikacija, žiri je vrednovao njihova kreativna rešenja, inovativnost i primenljivost na domaćem tržištu. Takođe, održivost aplikacije i stimulisanje korišćenja mobilne mreže obezbedile su dodatnu vrednost tokom selekcije. Ukupan nagradni fond konkursa „Vip izazov3” iznosi 40.000 evra



Završen konkurs „Vip izazov3”

среда, 15. септембар 2010.

Program za prijavljivanje na PoIS

Pojmovi

·         Korisničko ime
·         Lozinka

Da bi ste se uspešno prijavili na aplikaciju PoIS sa vašom korisničkom šifrom potrebno je ispravno uneti korisničko ime i lozinku.


  1. Korisničko ime je Vaša bivša šifra koju ste unosili u prethodnoj verziji programa. Prilikom unosa korisničkog imena ne postoji razlika velikih i malih slova (uvek su velika). Ako želelite da promenite korisničko ime obratite se administartoru.
  2. Lozinka je pojam dužine do 16 znakova. Polje za lozinku pravi razliku malih i velikih slova. Lozinku je uvek moguće promeniti klikom na dugme Promeni lozinku. Ako ste zaboravili Vašu lozinku obratite se Vašem administartoru da Vam postavi javnu lozinku.
Sa svojim korisničkim imenom možete se prijaviti sa bilo koje radne stanice na kojoj  je instalirana aplikacija PoISa.
Dužni ste da se uvek prijavite sa svojim korisničkim imenom. Prijavljivanje sa tuđim korisničkim imenom smatraće se zloupotrebom aplikacije.
Ako sumnjate da neko zna Vašu lozinku promenite je.
U desnom gornjem uglu programa za prijavu, posle ispravno unešenog korisničkog imena pojaviće se u prvom redu Vaš skraćeni naziv u PoISu, a u drugom redu Vaša veza sa šifarnikom iz kadrovske evidencije. Ako ne piše ime i prezime ili ako je ispisano tuđe ime i prezime obratite se administratoru.

Promeni lozinku

Dugme Promeni lozinku postaje dostupno kada ste ispravno uneli Vaše korisničko ime. Opciju promene lozinke možete koristiti u dva slučaja:
  • Kada kliknete na dugme Promena lozinke (dostupno kada je unešeno ispravno korisničko ime)
  • Kada je administrator postavio na Vaše korisničko ime javnu lozinku, u tom slučaju program će Vas  automatski prebaciti u odeljak programa namenjen za promenu lozinke.

 


Prilikom promene lozinke, prvo ste dužni da unesete ispravno Vašu staru lozinku ili javnu lozinku ako je administrator na Vaše korisničko ime stavio javnu lozinku (ako ste zaboravili Vašu lozinku ili iz nekog drugog razloga). Potrebno je uneti novu lozinku I ispravno ponoviti novu lozinku. Ako ste ispravno popunili ova tri polja dugme ‘ Promeni’ će Vam biti dostupno, sada je još samo potrebno da potvrdite izmenu i Vaša lozinka će biti promenjena. Program će Vas obavestiti da ste uspešno promenili lozinku.
Lozinku nije moguće promeniti na arhivskim bazama PoISa.
Ako koristite opciju Prijava Barcode čitačem, posle promene lozinke potrebno je ponovo odštampati karticu.

Podešavanja

Podešavanje programa za prijavu na aplikaciju PoISa.


Opcije podešavanja su sledeće:
  1. Zapamti korisničko ime. Ako je ova opcija uključena prilikom uspešnog logovanja zapamtiće se korisnička šifra na računaru na kojem ste se prijavili, to korisničko ime će Vam se nuditi prilikom sledeće prijave na PoIS. Ako je ova opcija isključena tom računaru svaki put će se morati ukucavati korisničko ime.
  2. Pređi na polje za lozinku ako je korisnik ispravan. Ako je uključena ova opcija i ako je prilikom prethodnog logovanja bio prijavljen ispravan korisnik na tom računaru će se ponuditi prethodno ispravno logovan korisnik i program će preći na polje za unos lozinke. Ova opcija će Vam smanjiti jedan ENTER koji ste obavezni pritisnuti na polju za unos korisničkog imena.
  3. Zapamti lozinku. U ovoj veziji programa nemate pravo uključivanja ove opcije.
  4. Enter na polju za lozinku pokreće menu. Ova opcija Vam smanjuje jos jedan ENTER na dugmetu Prijava. Ako je uključena ova opcija, odmah prilikom unosa ispravne lozinke i njene potvrde sa tasterom ENTER pokrenuće se Vaš menu aplikacije PoIS. Ako je ova opcija uključena nećete moći kliknuti na dugme Moj nalog, pošto je za pregled arhive prijava na sistem potrebno uneti ispravno i korisničko ime i lozinku.
  5. Prijava elektronskom karticom ili barcode. Ako je uključena ova opcija program će prilikom pokretanja preći u prozor za prijavu elektronskom karticom ili barcodom. Potrebno je samo provuci Vašu karticu kroz čitač.

Moj nalog

Je opcija pomoću koje će te imati uvid u arhivu Vaših ispravnih prijavljivanja na sistem, arhivu pomena lozinki, promenu Vaših ličnih podtaka i štampu Vaše kartice.
Ova opcija je dostupna tek ako ste ispravno uneli i vaše korisničko ime i Vašu lozinku. Obratite pažnju; Ako je u podešavanjima uključena opcija „Enter na polju za lozinku pokreće menu“ nećete biti u mogućnosti da izaberete opciju Moj nalog, zato je potrebno prvo u podešavanjima isključiti ovu opciju, a zatim ispravno uneti korisničko ime i lozinku, pa nakon toga izabrati opciju Moj nalog.


Prva strana opcija Moj nalog Vam pokazuje broj konekcija sa različitih klijenata (računara)
Klikom na dugme Lista svih konekcija dobijate listu svih uspešnih prijava na sistem


Klikom na dugme Lista promena lozinki dobijate listu svih promena lozinki i sa kojih računara je urađena promena


Štampa kartice

Klikom na dugme Barcode, podaci dolazite u modul gde možete promeniti svoje podatke (ako Vam je to dozvoljeno od strane administratora) i da odštampate svoju karticu pomoću koje se možete prijaviti upotrebom čitača barcode.

 
Vezivanje slike sa nalogom
Da bi ste odabrali ovu opciju potrebno je da:
  • Proverite da li je u podešavanjima isključena opcija „Enter na polju za lozinku pokreće menu“
  • Unesete ispravno korisničko ime
  • Unesete lozinku
  • Kliknete na opciju „Moj nalog“
  • Kliknete na opciju „Barcode podaci...“
  • Kliknete na opciju „Ubaci sliku“
  • Kliknete na lupicu
  • Pronađete željenu sliku
  • Kliknete „Upiši“
Koristite manje dimenzije slike.

Opcija prijava elektronskom karticom ili barcodom:

Opcija se uključuje u odeljku podešavanja.
Dovoljno je da provučete elektronsku karticu ili da Vaš barcod sa kartice očitate sa čitačem  barcoda, i bićete prijavljeni na PoIS.

Posle svake promene lozinke, potrebno je ponovo odštampati karticu.


Administartor

Program za administriranje korisnika

Novine u programu za prijavu korisnika.

Administrator ne može da zna lozinku korisnika. Administartor otvara novog korisnika tako što mu dodeljuje njegovo korisničko ime i prava koja taj korisnik ima. Prilikom formiranja novog korisnika program mu automatski dodeljuje javnu lozinku, koju će korisnik prilikom prvog pokušaja prijave na PoIS morati da promeni. Administartor može promeniti korisniku lozinku samo u javnu lozinku. Prilikom reseta (postavljanja javne lozinke nekom korisniku), korisnik će takođe morati da promeni lozinku prilikom prve prijave na sistem.


Javna lozinka

Javna lozinka se definiše u dokumentu C:\PoIS\Prog\logtt00.aif (ili kako je vec kod vas definisano logičko ime pois_prog). Dodaje se novi simbol
DEFINE RES_LOZINKA "123"  ! DEFAULT Lozinka za reset u programu IPS003 ako je ovde space lozinka = gsk_sifrak
Ako je definisana ova lozinka, program za prijavu korisnika će prilikom resetovanja lozinke ili formiranja novog korisnika dodeliti ovu lozinku u ovom slučaju 123
Ako ovaj simbol nije definisan u logtt00.iaf javna lozinka će biti indentična kao korisničko ime. U ovom slučaju potrebno je obratiti pažnju korisnicima da u polju za lozinku moraju ukucati svoje korisničko ime velikim slovima, pošto polje za lozinku pravi razliku između malih i velikih slova.
Lozinka se restuje tako što se izabere korisničko ime i klikne na dugme reset

Nove opcije programa

  1. Korisnik mora promeniti lozinku prilikom sledećeg logovanja. Ako je uključena ova opcija korisnik će morati da promeni lozinku prilikom sledećeg prijavljivanja na aplikaciju PoISa. Reset lozinke ili prijava novog korisnika automatski uključuje ovu opciju.
  2. Korisnik nema prava promene lozinke.
  3. Lozinka nikad ne ističe
  4. Korisnik je aktivan. Ako sada korisnik želi da ima neko drugo korisničko ime, potrebno je otvoriti novog korisnika sa funkciskim tasterom F3 prepisati podatke sa prethodnog korisnika i proglasiti starog korisnika (staro korisničko ime) u neaktivnog korisnika isključivanjem ove opcije.
Korisnik nema prava promene lozinke nad arhivskom bazom. U doovoru sa InfoSoftom možete postaviti samo jedno korisničko ime nad arhivskim bazama.
Prilikom prelaska na novu verziju programa, ekipa koja bude došala na instalaciju će u dogovoru sa Vama postaviti podrazumevane lozinke na sve otvorene korisničke šifre.
Prilkom instalacije nove prijave moguće je nastaviti sa radaom i sa starom prijavom.

Registorvanje klijenata

Ova opcija se odnosi samo na firme koje imaju takav ugovor potpisan sa InfoSoftom, po kojem je potrebno svaku radnu stanicu prvo registovati da bi se sa njom moglo raditi u aplikaciji PoIS.
Procedura je jednostavna, prilikom prve prijave na nekoj radnoj stanici program „Prijava“ će od Vas tražiti da unesete ključ za aktivaciju. Dok ispravno ne unesete ključ za aktivaciju nećete moći pristupiti aplikaciji PoIS.

Aktivacioni ključ

Aktivacioni kluč je šifra dužine 16 znakova koju ste dužni uneti na svakoj radnoj stanici, kako bi se mogli prijaviti na aplikaciju PoISa. Dužni ste da kontaktirate glavnog distributera aplikacije i da mu izdiktirate šifre klijenata a on će Vam vratiti aktivacioni ključ.

  
Vodite računa da je broj pokušaja ograničen i zavisi od podešavanja aplikacije.
Ako imate ograničen broj Radnih stanica prilikom zamene radne stanice potrebno javiti koja je radna stanica zamenjena kako bi dobli aktivacioni ključ za novu stanicu.

недеља, 3. јануар 2010.

Srecna Nova godina!


Prvim radnim danom u Novoj godini, program za knjiženje blagajne (IAK130) javi ce sledeću grešku: "Niste zakljucili prethodnu godinu!".
Treba pokrenuti program IAK137 "Priprema blagajne za novu godinu". Potrebo je izabarti jedno od dva ponuđena odgvora: da li ste ili niste radili (imali knjiženja blagajne) pod 01.01.2010. Posle puštanja ovog programa blagajna može nastaviti nesmetano sa radom.
Za one koji koriste PoIS od prošle godine (ili oni koji su zaboravili) od 01.01.2010. pa do godišnje obrade dužni ste u programima (u kojim se to traži ) izabrati jedno od dve opcije.
0 - Nalog je iz prethodne 2009 godine
1 - Nalog je iz nove 2010 godine


Želim Nam uspešnu saradnju u novoj 2010 godini!

среда, 30. децембар 2009.

Kako prikazati kamatu

Prvi problem na koji nailazimo prilikom formiranja ove logike je način prikaza kamate na računu. U narednom delu ću pokušati objasniti zašto bi možda redovni konto i konto kamate trebali posmatrati kako jednu celinu prilikom formiranja logike.

Uporedni prikaz redovnog konta i konta kamate po računima,

Redovno

Kamata

Period obr kam. Ako je over stopa za tekući mesece

Rač.

Dat nal

Valuta

Dug.

Pot.

Saldo

Dug.

Pot.

Saldo

PS

01.01.2009

01.01.2009

5

5

1

01.02.2009

15.02.2009

5

10

1

1

01.01 - 01.02

2

01.03.2009

15.03.2009

5

15

1 = 2-1

2

01.02 - 01.03

3

01.04.2009

15.04.2009

5

20

1 = 3-2

3

01.03 – 01.04

4

01.05.2009

15.05.2009

5

25

1 = 4-3

4

01.04 – 01.05

5

01.06.2009

15.06.2009

5

30

1 = 5-4

5

01.05 – 01.06

Postoje dve mogućnosti zatvaranja računa kod javnih preduzeća.

1. Dug po računu (nastao uslugom) i kamata za koju se dužnik zadužuje po istom računu su dve nevezane celine. Jednostavniji slučaj, rutina uvek vraća podatke po kontu i analitici.

2. Dug i kamata po računu čine jedinstven pojam. Radi se zbirno po oba konta.

U primeru u tabeli ipod prikazan je uporedni pregled kartica kamate i redovnog zaduženja, prilikom storniranja računa. U ovom primeru se vidi kako prilikom storniranja računa nastaje negativno zaduženje za kamatu, a ako je u periodu od prethodnog računa do storna računa postojala uplata, postoji mogućnost da saldo kamatne kartice bude negativan.

Uporedni prikaz redovnog konta i konta kamate kada u periodu postoji storno računa,

Redovno

Kamata

Period obr kam. Ako je over stopa za tekući mesece

Uplataupl

Rač.

Dat nal

Valuta

Dug.

Pot.

Saldo

Dug.

Pot.

Saldo

PS

01.01.2009

01.01.2009

5

5

1

01.02.2009

15.02.2009

5

10

1

1

01.01 - 01.02

2

01.03.2009

15.03.2009

5

15

1 = 2-1

2

01.02 - 01.03

3

01.04.2009

15.04.2009

5

20

1 = 3-2

3

01.03 – 01.04

2

05.04.2009

05.04.2009

5

15

3

0

8

4

01.05.2009

15.05.2009

5

20

1 = 4-3

1

01.04 – 01.05

5

01.06.2009

15.06.2009

5

25

1 = 5-4

2

01.05 – 01.06

4

08.06.2009

15.05.2009

-5

20

2

4

09.06.2009

09.06.2009

5

15

2

0

7

6

01.07.2009

15.07.2009

5

20

-1=4-5

-1

01.06 – 01.07

Kako bi izgledalo zatvaranje računa, paralelni pregled oba konta.

Ovim pregledom se vidi da bi način prikaza duga trebalo prilagoditi trenutnim načinom generisanja i knjiženja kamata.

Napomena; Ovaj izgled kartice nastaje kada se uplate rasknjižavaju programom IAK104 ili knjiženjem naplate koja je bila preko PsIONa (Inđiski vodovod).

Uporedni prikaz redovnog konta i konta kamate sa stornom računa kada bi se koristila logika zatvaranja računa pojedinačno za svaki konto.

RAČUN

Redovan konto

Konto kamate

Rač

Datum naloga

Valuta

Duguje

Način zatvaranja

Ostalo za zatvaranje

Ostalo po računu

Kam. Po racunu

Način zatvar.

Ostalo za zatvaranje

Ostalo po računu

PS

01.01.09

01.01.09

5

10 – 5

5

0

1

01.02.09

15.02.09

5

5 – 5

0

0

1

5-1

4

0

2

01.03.09

15.03.09

5

0

5

1

4-1

3

0

3

01.04.09

15.04.09

5

0

10

1

3-1

2

0

4

01.05.09

15.05.09

Račun je storniran u potpunosti!

1

2-1

1

0

5

01.06.09

15.06.09

5

0

15

1

1-1

0

0

6

01.07.09

15.07.09

5

0

20

-1

0

-1

Izgled paralelenog pregleda redovnog konta i konta kamate ako se u firmi kamata ne zatvara automatski. Posle fiktivnog zatvaranja računa na kontu kamate svi računu ostaju otvoreni.

RAČUN

Redovan konto

Konto kamate

Rač

Datum naloga

Valuta

Duguje

Način zatvaranja

Ostalo za zatvaranje

Ostalo po računu

Kam. Po racunu

Način zatvar.

Ostalo za zatvaranje

Ostalo po računu

PS

01.01.09

01.01.09

5

15 – 5

10

0

1

01.02.09

15.02.09

5

10 – 5

5

0

1

1

2

01.03.09

15.03.09

5

5-5

0

0

1

2

3

01.04.09

15.04.09

5

0

5

1

3

4

01.05.09

15.05.09

Račun je storniran u potpunosti!

1

4

5

01.06.09

15.06.09

5

0

10

1

5

6

01.07.09

15.07.09

5

0

15

-1

4

Zbog ovakog neusklađenog izgleda kartica redovnog konta i konta kamte, mislim, da bi trebali uvesti i logiku fiktivnog zatvaranja grupe konta (u ovom slucaju redovnog konta i konta kamate). Čitajući zakon o obligacionim odnosima, nisam naišao na podatak (što ne znači da ne postoji) o načinu rasknjižavanja uplata kada uplate nisu fiksno vezeane za iznos računa. Mislim da bi morali da posmatramo kamatu kao deo računa (njen iznos po računu), to bi u stvari predstavljala kamata koja je nastala od prethodnog obračuna kamate (datum prethodnog računa) do sledeće overene kamatne stope, smatrajmo da je to datum izdavanja novog računa. U tom slučaju bi kamata bila samo deo računa a uplata bi zatvarala račune po datumu dospeća, a zatim prvo njegova kamatni deo a zatim redovni deo. Pa bi u ovakvom slučaju samo kod delimično zatvorenih računa (kod fiktivnog zatvaranja računa) bio primenjen princip da se prvo zatvara kamata a zatim dug po računu. Mislim da u svakom pogledu treba izbeći zatvaranje prvo salda kamate a zatim računa po starosti.

Način zatvaranja kada bi kamatu i redovan konto posmatrali kao jednu celinu:

RAČUN

Redovan konto + Konto kamate

Rač

Datum naloga

Valuta

Duguje

Način zatvaranja

Ostalo za zatvaranje

Ostalo po računu

PS

01.01.09

01.01.09

5

15 – 5

10

0

1

01.02.09

15.02.09

6

10 – 6

4

0

2

01.03.09

15.03.09

6

4-6

0

2

3

01.04.09

15.04.09

6

0

8

4

01.05.09

15.05.09

1

9

5

01.06.09

15.06.09

6

0

15

6

01.07.09

15.07.09

4

0

19

Problem koji se mora rešiti kod ovakvog načina zatvaranja računa je strono iznosa računa u celini. Kao što sam u daljem tekstu to objasnio, prilikom storniranja računa u celosti, takve račune ne bi trebali uzimati u obzir prilikom fiktivnog zatvaranja računa. Da je račun u celosti storniran kada posmatramo odvojena konta to je transparentno, posmatrajući primer opisan u tabeli iznad, vidimo da račun 4 ima vrednost koji prestavlja ustvari njegova kamata. Reklamacijama je storniran samo njegov redovan deo. Kamata se koriguje tek njenim ponovnim računanjem prilikom obračuna sledečeg računa („Mi smo kupca greškom zadužili za veću kamatu. Iznos redovan se ispravlja stornom, a kamta se umanjuje na sledećem obračunu“), to je ispravno. Normalno treba napomenuti da se to odnosi samo za one račune kod kojih je između redovnog računa i storna računa postojao još najmanje jedan račun na kojem se’ greškom’ obračunala veća kamata, kao u našem slučaju. Ako se storno radi u periodu neposredno po izdavanju računa ne postoji niti mogućnost obračuna veće kamate.

Važna napomena: Ovo se ne odnosi samo na storna iznosa koja su nastala kroz reklamacije. Ako budemo primenjivali novu logiku fiktivnog zatvaranja računa, bićemo u dužnosti da prilikom izrade vansudkog poravnanja (reprograma) ili utuženja, da storniramo konkretne račune, pa će ovakvi postupci generisati slučejeve kao što je prethodni u velikoj meri. Zato moramo dobro obraditi ovaj slučaj.

Još jedna veoma bitna stvar koja nastaje ovakvim načinom rada je obračun kamata. Naime, kao što sam prethodno objasnio, prilikom storna računa nastalog kroz reklamaciju podrazumevano je da se i umanji kamata koja je izračunata na nerealno veći iznos tog računa (ako je račun samo storniran ili ako je račun storniran uz novo zaduženje koje je manje od iznosa storniranog računa). To nije slučaj kod izrade reprograma i utuženja. Ako bi mi u ovom slučaju nastavili da koristimo postojeći program, postoji problem da bi kamata na sledećem računu izašala manja, pa postoji mogućnost da mi nekome reprogramiramo dug i na sledećem računu on odlazi u pretpaltu zbog negativno obračunate kamate na novom računu. Ovo je veoma bitno i treba biti rešeno pre nego što pristupimo implementaciji ovakvog načina rada. Postoji više načina na koji ovo možemo da rešimo, a ja ću vas posetiti na način pravljenja naloga kamate. Nalog se pravi tako što se računa dugovni saldo konta kamate na nalogu ’KM’ obračunava nova kamata koja se računa od početka perioda do poslednje overne kamatne stope. Kupac se zadužuje za novu a stornira se suma sa naloga ’KM’ (koja u stavri uvek prestavlja poslednju obračunatu kamatu). U ovim našim novonastalim slučajevima vrste naloga pod kojima se stornira kamata nije nalog ’KM’, nego vrsta naloga koja je povezana u parametarskoj tabeli komunalnih usluga sa utuženjima ili reprogramom (npr ’TU’, ’RP’ )