Ejemplo n.º 1
0
        private void obracunporeza()
        {
            //if (DTpdv.Columns["porez"] == null)
            //{
            //    DTpdv.Columns.Add("porez");
            //    DTpdv.Columns.Add("iznos");
            //    DTpdv.Columns.Add("nacin");
            //    DTpdv.Columns.Add("osnovica");
            //}
            //else
            //{
            //    DTpdv.Clear();
            //}

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();

            string duc = "";

            if (ducbool == true)
            {
                duc = " CAST(racuni.id_ducan AS INTEGER) ='" + ducan + "'  AND ";
            }
            else
            {
                duc = "";
            }

            string datOD    = "";
            string datODrez = "";

            //if (datbool == true)
            //{
            datOD    = " racuni.datum_racuna >='" + datumOD.AddDays(0).ToString("yyyy-MM-dd 00:00:00") + "'  AND ";
            datODrez = "'" + datumOD.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum2 ,";
            //}

            //else
            //{
            //    datOD = "";
            //}

            string datDO    = "";
            string datDOrez = "";

            //if (datbool == true)
            //{
            datDO    = "racuni.datum_racuna <='" + datumDO.AddDays(0).ToString("yyyy-MM-dd 23:59:59") + "'  AND ";
            datDOrez = "'" + datumDO.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum3 ,";
            //}
            //else
            //{
            //    datDO = "";
            //}

            string kas = "";

            if (kasbool == true)
            {
                kas = "CAST(racuni.id_kasa AS INTEGER) ='" + kasa + "'  AND ";
            }
            else
            {
                kas = "";
            }

            string racOD  = "";
            string racodd = "";

            if (racbool == true)
            {
                racOD  = " CAST(racuni.broj_racuna AS INTEGER) >='" + racunOD + "'  AND ";
                racodd = " '" + racunodd + "' As string3 ,";
            }
            else
            {
                racOD = "";
            }

            string racDO  = "";
            string racdoo = "";

            if (racbool == true)
            {
                racDO  = " CAST(racuni.broj_racuna AS INTEGER) <='" + racunDO + "'  AND ";
                racdoo = " '" + racundoo + "' As string4 ,";
            }
            else
            {
                racDO = "";
            }

            string bla  = "";
            string blag = "";

            if (blabool == true)
            {
                bla  = "racuni.id_blagajnik ='" + blagajnik + "'  AND ";
                blag = " '" + blagajnik + "' As string5 ,";
            }
            else
            {
                bla = "";
            }

            string filter = datOD + datDO + racOD + racDO + kas + bla + duc;

            if (filter.Length != 0)
            {
                filter = " WHERE " + filter;
                filter = filter.Remove(filter.Length - 4, 4);
            }



            string sql_liste = "SELECT " +
                               " racun_stavke.porez ," +
                               " CAST(racuni.broj_racuna AS int) As string3 ," +
                               " racun_stavke.rabat As rabat ," +
                               " racun_stavke.kolicina ," +
                               " racun_stavke.vpc ," +
                               " racun_stavke.mpc ," + blag + racodd + racdoo +
                               " racuni.datum_racuna As datum1," + datODrez + datDOrez +
                               " racuni.id_ducan As string1," +
                               " racuni.id_kasa As string2," +
                               " roba.oduzmi," +
                               " racuni.ukupno," +
                               " racun_stavke.porez_potrosnja," +
                               " racun_stavke.povratna_naknada" +
                               " FROM racun_stavke" +
                               " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe " +
                               " LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa " + filter;

            classSQL.NpgAdatpter(sql_liste).Fill(dSRlisteTekst, "DTlisteTekst");
            if (dSRlisteTekst.Tables[0].Rows.Count < 1)
            {
                this.Hide();
                MessageBox.Show("Za taj upit ne postoji ni jedan zapis !");
                this.Close();
            }



            DataTable DTstavke;

            DTstavke = classSQL.select(sql_liste, "racun_stavke").Tables[0];
            //DataTable DTstavke1;
            //DTstavke1 = classSQL.select(sql_liste, "racun_stavke").Tables[0];
            //DataTable DTstavke2;
            //DTstavke2 = classSQL.select(sql_liste, "racun_stavke").Tables[0];

            decimal Stopa               = 0;
            decimal iznos_bez_poreza    = 0;
            decimal osnovica_ukupno     = 0;
            decimal rabat_iznos         = 0;
            decimal pdv_rabat           = 0;
            decimal pdv_osnovica        = 0;
            decimal pdv_iznos           = 0;
            decimal Stopa1              = 0;
            decimal iznos_bez_poreza1   = 0;
            decimal osnovica_ukupno1    = 0;
            decimal pdv_rabat1          = 0;
            decimal pdv_osnovica1       = 0;
            decimal pdv_iznos1          = 0;
            decimal povratna_naknada    = 0;
            decimal povratna_naknadauk  = 0;
            decimal povratna_naknada1   = 0;
            decimal porez_na_potrosnju  = 0;
            decimal sveukupno1          = 0;
            decimal sveukupno2          = 0;
            decimal porez_na_potrosnju1 = 0;
            decimal rabat_iznos1        = 0;
            decimal ukupnoPdv1          = 0;

            decimal kolicina    = 0;
            decimal mpc         = 0;
            decimal mpcc        = 0;
            decimal pdv         = 0;
            decimal rabat       = 0;
            decimal ukupnoRabat = 0;
            decimal ukupnoPdv   = 0;
            bool    zadnji      = false;

            int brojRedova = DTstavke.Rows.Count;
            int brojac     = 0;

            foreach (DataRow row in DTstavke.Rows)
            {
                brojac++;
                if (brojRedova == brojac)
                {
                    zadnji = true;
                }

                kolicina = Convert.ToDecimal(row["kolicina"].ToString());
                mpcc     = Convert.ToDecimal(row["mpc"].ToString());
                pdv      = Convert.ToDecimal(row["porez"].ToString());
                rabat    = Convert.ToDecimal(row["rabat"].ToString());

                if (row["povratna_naknada"].ToString() != "")
                {
                    povratna_naknada = Convert.ToDecimal(row["povratna_naknada"].ToString());
                }
                else
                {
                    povratna_naknada = 0;
                }

                mpc = Convert.ToDecimal(row["mpc"].ToString()) - (povratna_naknada == 0 ? povratna_naknada : (kolicina == 0 ? 0 : povratna_naknada / kolicina));

                /*
                 * RowPdv["porezroba"] = pdv.ToString();
                 * RowPdv["stopa"] = stopa.ToString("#0.00");
                 * RowPdv["sveukup"] = sveukupno.ToString("#0.00");
                 * RowPdv["povrnakn"] = povratna_naknada.ToString("#0.00");
                 * RowPdv["rabat"] = rabat.ToString("#0.00");
                 * RowPdv["pdvrabat"] = pdv_rabat.ToString("#0.00");
                 * RowPdv["osnovica"] = mpc.ToString("#0.00");
                 * RowPdv["pdv"] = pdv_iznos.ToString("#0.00");
                 * RowPdv["iznbezpor"] = iznosBezPoreza.ToString("#0.00");*/

                if (row["oduzmi"].ToString() == "DA")
                {
                    decimal rabatIznos    = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero);
                    decimal mpc_s_rab     = Math.Round(mpc - rabatIznos, 6, MidpointRounding.AwayFromZero);
                    decimal mpcSRabUkupno = Math.Round((mpc_s_rab * kolicina), 6, MidpointRounding.AwayFromZero);
                    decimal rabatt        = mpcc * (rabat / 100) * kolicina;

                    ukupnoRabat += rabatt;

                    decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv));
                    decimal pdvIznos            = Math.Round(((mpc_s_rab * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero);
                    ukupnoPdv = pdvIznos + ukupnoPdv;
                    decimal osnovicauk = (mpcSRabUkupno - ((pdvIznos)));

                    osnovica_ukupno     = osnovicauk + osnovica_ukupno;
                    povratna_naknadauk += povratna_naknada;

                    pdv_rabat = rabatt * (PreracunataStopaPDV / 100);

                    StopePDVa(pdv, PreracunataStopaPDV, (osnovicauk + pdvIznos + povratna_naknada), povratna_naknada, rabatt, pdv_rabat, pdv_rabat + osnovicauk, pdvIznos, porez_na_potrosnju, osnovicauk, zadnji);
                }
                else
                {
                    decimal rabatIznos1    = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero);
                    decimal mpc_s_rab1     = Math.Round(mpc - rabatIznos1, 6, MidpointRounding.AwayFromZero);
                    decimal mpcSRabUkupno1 = Math.Round((mpc_s_rab1 * kolicina), 6, MidpointRounding.AwayFromZero);
                    decimal rabatt1        = mpcc * (rabat / 100) * kolicina;

                    ukupnoRabat += rabatt1;

                    decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv));
                    decimal pdvIznos1           = Math.Round(((mpc_s_rab1 * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero);
                    ukupnoPdv1 = pdvIznos1 + ukupnoPdv;
                    decimal osnovicauk1 = (mpcSRabUkupno1 - ((pdvIznos1)));

                    osnovica_ukupno = osnovicauk1 + osnovica_ukupno;

                    pdv_rabat = rabatt1 * (PreracunataStopaPDV / 100);

                    StopePDVa1(pdv, PreracunataStopaPDV, (osnovicauk1 + pdvIznos1 + povratna_naknada), povratna_naknada, rabatt1, pdv_rabat, pdv_rabat + osnovicauk1, pdv_iznos1, porez_na_potrosnju1, osnovicauk1, zadnji);
                }
            }

            StopePDVa(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);

            StopePDVa1(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
        }
Ejemplo n.º 2
0
        private void UlazTest()
        {
            string sqlpodaci = "SELECT " +
                               " podaci_tvrtka.ime_tvrtke," +
                               " podaci_tvrtka.skraceno_ime," +
                               " podaci_tvrtka.oib," +
                               " podaci_tvrtka.tel," +
                               " podaci_tvrtka.fax," +
                               " podaci_tvrtka.mob," +
                               " podaci_tvrtka.iban," +
                               " podaci_tvrtka.adresa," +
                               " podaci_tvrtka.vl," +
                               " podaci_tvrtka.poslovnica_adresa," +
                               " podaci_tvrtka.poslovnica_grad," +
                               " podaci_tvrtka.email," +
                               " podaci_tvrtka.zr," +
                               " podaci_tvrtka.naziv_fakture," +
                               " podaci_tvrtka.text_bottom," +
                               " grad.grad + '' + grad.posta AS grad" +
                               " FROM podaci_tvrtka" +
                               " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" +
                               "";

            classSQL.CeAdatpter(sqlpodaci).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();
            string           sql      = "SELECT * FROM skladiste ORDER BY id_skladiste ASC";
            DataTable        DTskl    = classSQL.select(sql, "SKL").Tables[0];

            DataTable DTizlazna_fak           = new DataTable();
            DataTable MS_ulaz                 = new DataTable();
            DataTable MS_izlaz                = new DataTable();
            DataTable DTkalk                  = new DataTable();
            DataTable DTOtpremnica            = new DataTable();
            DataTable DTradni_nalog           = new DataTable();
            DataTable DTpocetno_stanje        = new DataTable();
            DataTable DTpovratnica_dobavljacu = new DataTable();
            DataTable DTprimka                = new DataTable();
            DataTable DTmpr = new DataTable();

            DataTable DTrobaprodaja = classSQL.select("SELECT DISTINCT roba_prodaja.sifra, roba.naziv,roba_prodaja.vpc,roba_prodaja.porez FROM roba_prodaja " +
                                                      " LEFT JOIN roba on roba_prodaja.sifra = roba.sifra WHERE roba.oduzmi = 'DA'" +
                                                      " ", "").Tables[0];

            //ULAZ
            decimal kolicina_MSu = 0;
            decimal vpc_MSu      = 0;

            decimal kolicina_kalk = 0;
            decimal vpc_kalk      = 0;

            decimal kolicina_RN = 0;
            decimal vpc_RN      = 0;

            decimal kolicina_PS = 0;
            decimal vpc_PS      = 0;

            decimal kolicina_Primka = 0;
            decimal vpc_Primka      = 0;

            //IZLAZ

            decimal kolicina_IZF = 0;
            decimal vpc_IZF      = 0;

            decimal kolicina_Otp = 0;
            decimal vpc_Otp      = 0;

            decimal kolicina_Povdob = 0;
            decimal vpc_Povdob      = 0;

            decimal kolicina_mpr = 0;
            decimal vpc_mpr      = 0;

            decimal mpc          = 0;
            string  sifra        = "";
            string  naziv_artika = "";
            string  filter       = "";

            for (int i = 0; i < DTrobaprodaja.Rows.Count; i++)
            {
                decimal vpc = Convert.ToDecimal(DTrobaprodaja.Rows[i]["vpc"].ToString());
                sifra = DTrobaprodaja.Rows[i]["sifra"].ToString();
                decimal porez = Convert.ToDecimal(DTrobaprodaja.Rows[i]["porez"].ToString());
                mpc          = vpc * (1 + (porez / 100));
                naziv_artika = DTrobaprodaja.Rows[i]["naziv"].ToString();

                MS_ulaz = classSQL.select("SELECT  meduskladisnica_stavke.sifra," +
                                          " meduskladisnica_stavke.iz_skladista," +
                                          " meduskladisnica_stavke.kolicina , meduskladisnica.id_skladiste_od , meduskladisnica.id_skladiste_do" +
                                          " FROM meduskladisnica_stavke LEFT JOIN meduskladisnica ON meduskladisnica.broj = meduskladisnica_stavke.broj" +
                                          " WHERE meduskladisnica.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' " +
                                          " AND meduskladisnica.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                          " AND meduskladisnica.id_skladiste_do='" + skladiste_odabir + "' AND " +
                                          " meduskladisnica_stavke.sifra = '" + sifra + "' AND CAST(Replace(meduskladisnica_stavke.kolicina,',','.') as numeric) <> 0", "").Tables[0];
                if (MS_ulaz.Rows.Count > 0)
                {
                    //vpc_MSu = Convert.ToDecimal(MS_ulaz.Rows[0]["vpc"].ToString());
                    kolicina_MSu = Convert.ToDecimal(MS_ulaz.Rows[0]["kolicina"].ToString());
                }

                DTkalk = classSQL.select("SELECT kalkulacija_stavke.sifra," +
                                         " kalkulacija_stavke.id_skladiste , kalkulacija_stavke.kolicina " +
                                         " FROM kalkulacija_stavke " +
                                         " LEFT JOIN kalkulacija ON kalkulacija.id_kalkulacija = kalkulacija_stavke.id_kalkulacija " +
                                         " WHERE kalkulacija.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "'" +
                                         " AND kalkulacija.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                         " AND kalkulacija.id_skladiste='" + skladiste_odabir + "'" +
                                         " AND kalkulacija_stavke.sifra = '" + sifra + "' " +
                                         " AND CAST(Replace(kalkulacija_stavke.kolicina,',','.') as numeric) <> 0 ", "Kalkulacija").Tables[0];
                if (DTkalk.Rows.Count > 0)
                {
                    //vpc_kalk = Convert.ToDecimal(DTkalk.Rows[0]["vpc"].ToString());
                    kolicina_kalk = Convert.ToDecimal(DTkalk.Rows[0]["kolicina"].ToString());
                }

                DTradni_nalog = classSQL.select("SELECT radni_nalog_stavke.sifra_robe, " +
                                                " radni_nalog_stavke.id_skladiste," +
                                                " radni_nalog_stavke.kolicina FROM radni_nalog_stavke " +
                                                " LEFT JOIN radni_nalog ON radni_nalog.broj_naloga = radni_nalog_stavke.broj_naloga " +
                                                " WHERE  radni_nalog.datum_naloga >= '" + datumOD.ToString("dd-MM-yyyy") + "' " +
                                                " AND radni_nalog.datum_naloga <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                                " AND radni_nalog_stavke.id_skladiste='" + skladiste_odabir + "'" +
                                                " AND radni_nalog_stavke.sifra_robe = '" + sifra + "' " +
                                                " AND CAST(Replace(radni_nalog_stavke.kolicina,',','.') as numeric) <> 0", "radni_nalog").Tables[0];
                if (DTradni_nalog.Rows.Count > 0)
                {
                    //vpc_RN = Convert.ToDecimal(DTradni_nalog.Rows[0]["vpc"].ToString());
                    kolicina_RN = Convert.ToDecimal(DTradni_nalog.Rows[0]["kolicina"].ToString());
                }

                DTpocetno_stanje = classSQL.select("SELECT pocetno_stanje_stavke.sifra," +
                                                   " pocetno_stanje.id_skladiste, pocetno_stanje_stavke.kolicina " +
                                                   " FROM pocetno_stanje_stavke LEFT JOIN pocetno_stanje ON " +
                                                   " pocetno_stanje.broj = pocetno_stanje_stavke.broj " +
                                                   " WHERE  pocetno_stanje.date >= '" + datumOD.ToString("dd-MM-yyyy") + "' " +
                                                   " AND pocetno_stanje.date <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                                   " AND pocetno_stanje.id_skladiste='" + skladiste_odabir + "'" +
                                                   " AND pocetno_stanje_stavke.sifra = '" + sifra + "' " +
                                                   " AND CAST(Replace(pocetno_stanje_stavke.kolicina,',','.') as numeric) <> 0 ", "pocetno_stanje").Tables[0];

                if (DTpocetno_stanje.Rows.Count > 0)
                {
                    //vpc_PS = Convert.ToDecimal(DTpocetno_stanje.Rows[0]["vpc"].ToString());
                    kolicina_PS = Convert.ToDecimal(DTpocetno_stanje.Rows[0]["kolicina"].ToString());
                }

                DTprimka = classSQL.select("SELECT primka_stavke.sifra, " +
                                           " primka.id_skladiste, primka_stavke.kolicina" +
                                           " FROM primka_stavke LEFT JOIN primka ON primka.id_primka = primka_stavke.id_primka " +
                                           " WHERE  primka.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' " +
                                           " AND primka.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                           " AND primka.id_skladiste='" + skladiste_odabir + "' " +
                                           " AND primka_stavke.sifra = '" + sifra + "' " +
                                           " AND CAST(Replace(primka_stavke.kolicina,',','.') as numeric) <> 0 ", "primka").Tables[0];

                if (DTprimka.Rows.Count > 0)
                {
                    //vpc_Primka = Convert.ToDecimal(DTprimka.Rows[0]["vpc"].ToString());
                    kolicina_Primka = Convert.ToDecimal(DTprimka.Rows[0]["kolicina"].ToString());
                }

                DTizlazna_fak = classSQL.select("SELECT " +
                                                " faktura_stavke.sifra, faktura_stavke.id_skladiste, " +
                                                " faktura_stavke.kolicina FROM faktura_stavke LEFT JOIN fakture ON " +
                                                " fakture.broj_fakture = faktura_stavke.broj_fakture " +
                                                " AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa" +
                                                " WHERE  " +
                                                " fakture.date >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' " +
                                                " AND fakture.date <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' " +
                                                " AND faktura_stavke.id_skladiste='" + skladiste_odabir + "' " +
                                                " AND faktura_stavke.sifra = '" + sifra + "' " +
                                                " AND CAST(Replace(faktura_stavke.kolicina,',','.') as numeric) <> 0 ", "Izlazne_fakture").Tables[0];

                if (DTizlazna_fak.Rows.Count > 0)
                {
                    //vpc_IZF = Convert.ToDecimal(DTizlazna_fak.Rows[0]["vpc"].ToString());
                    kolicina_IZF = Convert.ToDecimal(DTizlazna_fak.Rows[0]["kolicina"].ToString());
                }

                DTOtpremnica = classSQL.select("SELECT otpremnica_stavke.sifra_robe,  " +
                                               " otpremnica_stavke.id_skladiste, " +
                                               " otpremnica_stavke.kolicina FROM otpremnica_stavke LEFT JOIN otpremnice ON " +
                                               " otpremnice.id_otpremnica = otpremnica_stavke.id_otpremnice WHERE  " +
                                               " otpremnice.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND " +
                                               " otpremnice.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND " +
                                               " otpremnice.id_skladiste='" + skladiste_odabir + "' " +
                                               " AND otpremnica_stavke.sifra_robe = '" + sifra + "' " +
                                               " AND CAST(Replace(otpremnica_stavke.kolicina,',','.') as numeric) <> 0 ", "Otpremnice").Tables[0];

                if (DTOtpremnica.Rows.Count > 0)
                {
                    //vpc_Otp = Convert.ToDecimal(DTOtpremnica.Rows[0]["vpc"].ToString());
                    kolicina_Otp = Convert.ToDecimal(DTOtpremnica.Rows[0]["kolicina"].ToString());
                }

                DTpovratnica_dobavljacu = classSQL.select("SELECT " +
                                                          " povrat_robe_stavke.sifra, povrat_robe.id_skladiste, " +
                                                          " povrat_robe_stavke.kolicina FROM povrat_robe_stavke LEFT JOIN povrat_robe ON " +
                                                          " povrat_robe.broj = povrat_robe_stavke.broj WHERE  " +
                                                          " povrat_robe.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' " +
                                                          " AND povrat_robe.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' " +
                                                          " AND povrat_robe.id_skladiste='" + skladiste_odabir + "' " +
                                                          " AND povrat_robe_stavke.sifra = '" + sifra + "' " +
                                                          " AND CAST(Replace(povrat_robe_stavke.kolicina,',','.') as numeric) <> 0 ", "povrat_robe").Tables[0];

                if (DTpovratnica_dobavljacu.Rows.Count > 0)
                {
                    //vpc_Povdob = Convert.ToDecimal(DTpovratnica_dobavljacu.Rows[0]["vpc"].ToString());
                    kolicina_Povdob = Convert.ToDecimal(DTpovratnica_dobavljacu.Rows[0]["kolicina"].ToString());
                }

                DTmpr = classSQL.select("SELECT racun_stavke.sifra_robe, " +
                                        "racun_stavke.id_skladiste, racun_stavke.kolicina FROM racun_stavke " +
                                        " LEFT JOIN racuni ON racuni.broj_racuna = racun_stavke.broj_racuna WHERE  " +
                                        " racuni.datum_racuna >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' " +
                                        " AND racuni.datum_racuna <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' " +
                                        " AND racun_stavke.id_skladiste='" + skladiste_odabir + "' " +
                                        " AND racun_stavke.sifra_robe = '" + sifra + "' " +
                                        " AND CAST(Replace(racun_stavke.kolicina,',','.') as numeric) <> 0 ", "racuni_stavke").Tables[0];
                if (DTmpr.Rows.Count > 0)
                {
                    //vpc_mpr = Convert.ToDecimal(DTmpr.Rows[0]["vpc"].ToString());
                    kolicina_mpr = Convert.ToDecimal(DTmpr.Rows[0]["kolicina"].ToString());
                }

                //zapisivanje u DATASET
                decimal ulaz_stanje    = kolicina_MSu + kolicina_kalk + kolicina_RN + kolicina_PS + kolicina_Primka;
                decimal izlaz_stanje   = kolicina_IZF + kolicina_Otp + kolicina_Povdob + kolicina_mpr;
                decimal ulaz_stanje_V  = mpc * ulaz_stanje;
                decimal izlaz_stanje_V = mpc * izlaz_stanje;

                if (ulaz_stanje + izlaz_stanje != 0)
                {
                    DataRow DTrow = dSRliste.Tables[0].NewRow();
                    DTrow            = dSRliste.Tables[0].NewRow();
                    DTrow["sifra"]   = sifra + "---" + naziv_artika;
                    DTrow["cijena1"] = ulaz_stanje;
                    DTrow["cijena2"] = izlaz_stanje;
                    DTrow["cijena3"] = ulaz_stanje - izlaz_stanje;
                    DTrow["cijena5"] = mpc.ToString();
                    DTrow["cijena6"] = ulaz_stanje_V;
                    DTrow["cijena7"] = izlaz_stanje_V;
                    DTrow["cijena8"] = ulaz_stanje_V - izlaz_stanje_V;
                    dSRliste.Tables[0].Rows.Add(DTrow);
                }
            }
        }
Ejemplo n.º 3
0
        private void obracunporeza_fak()
        {
            //if (DTpdv.Columns["porez"] == null)
            //{
            //    DTpdv.Columns.Add("porez");
            //    DTpdv.Columns.Add("iznos");
            //    DTpdv.Columns.Add("nacin");
            //    DTpdv.Columns.Add("osnovica");
            //}
            //else
            //{
            //    DTpdv.Clear();
            //}

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();

            string duc = "";

            if (ducbool == true)
            {
                duc = " fakture.id_ducan ='" + ducan + "'  AND ";
            }
            else
            {
                duc = "";
            }

            string kas = "";

            if (kasbool == true)
            {
                kas = "fakture.id_kasa ='" + kasa + "'  AND ";
            }
            else
            {
                kas = "";
            }

            string datOD    = "";
            string datODrez = "";

            //if (datbool == true)
            //{
            datOD    = " fakture.datedvo >='" + datumOD.AddDays(0).ToString("yyyy-MM-dd 00:00:00") + "'  AND ";
            datODrez = "'" + datumOD.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum2 ,";
            //}

            //else
            //{
            //    datOD = "";
            //}

            string datDO    = "";
            string datDOrez = "";

            //if (datbool == true)
            //{
            datDO    = "fakture.datedvo <='" + datumDO.AddDays(0).ToString("yyyy-MM-dd 23:59:59") + "'  AND ";
            datDOrez = "'" + datumDO.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum3 ,";
            //}
            //else
            //{
            //    datDO = "";
            //}

            string racOD  = "";
            string racodd = "";

            if (racbool == true)
            {
                racOD  = " CAST(fakture.broj_fakture AS numeric) >='" + racunOD + "'  AND ";
                racodd = " '" + racunodd + "' As string3 ,";
            }
            else
            {
                racOD = "";
            }

            string racDO  = "";
            string racdoo = "";

            if (racbool == true)
            {
                racDO  = " CAST(fakture.broj_fakture AS numeric) <='" + racunDO + "'  AND ";
                racdoo = " '" + racundoo + "' As string4 ,";
            }
            else
            {
                racDO = "";
            }

            string bla  = "";
            string blag = "";

            if (blabool == true)
            {
                bla  = "fakture.id_zaposlenik_izradio ='" + blagajnik + "'  AND ";
                blag = " '" + blagajnik + "' As string5 ,";
            }
            else
            {
                bla = "";
            }

            string filter = datOD + datDO + racOD + racDO + kas + bla + duc;

            if (filter.Length != 0)
            {
                filter = " WHERE " + filter;
                filter = filter.Remove(filter.Length - 4, 4);
            }

            string sql_liste = "SELECT " +
                               " faktura_stavke.porez As porezroba," +
                               " faktura_stavke.rabat As rabat ," +
                               " faktura_stavke.kolicina ," +
                               " faktura_stavke.vpc ," +
                               " faktura_stavke.vpc * (1 zbroj (CAST(replace(faktura_stavke.porez,',','.') as numeric)/100)) as mpc, " + blag + racodd + racdoo +
                               " fakture.date As datum1," + datODrez + datDOrez +
                               " roba.oduzmi," +
                               " fakture.ukupno," +
                               " faktura_stavke.porez_potrosnja," +
                               " faktura_stavke.povratna_naknada" +
                               " FROM faktura_stavke" +
                               " LEFT JOIN roba ON roba.sifra=faktura_stavke.sifra " +
                               " LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture " +
                               " AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa" +
                               " " + filter;

            classSQL.NpgAdatpter(sql_liste).Fill(dSRlisteTekst, "DTlisteTekst");
            if (dSRlisteTekst.Tables[0].Rows.Count < 1)
            {
                this.Hide();
                MessageBox.Show("Za taj upit ne postoji ni jedan zapis !");
                this.Close();
            }

            //string sqltxt1 = " SELECT MAX(CAST(broj_racuna AS INTEGER)) AS string3," +
            //" MIN(CAST(broj_racuna AS INTEGER)) As string4 " +
            //" FROM racuni";

            //classSQL.NpgAdatpter(sqltxt1).Fill(dSRlisteTekst, "DTlisteTekst");

            //MessageBox.Show(dSRlisteTekst.Tables[0].Rows.Count.ToString());

            DataTable DTstavke;

            DTstavke = classSQL.select(sql_liste, "faktura_stavke").Tables[0];
            DataTable DTstavke1;

            DTstavke1 = classSQL.select(sql_liste, "faktura_stavke").Tables[0];
            DataTable DTstavke2;

            DTstavke2 = classSQL.select(sql_liste, "faktura_stavke").Tables[0];

            decimal Stopa             = 0;
            decimal iznos_bez_poreza  = 0;
            decimal osnovica_ukupno   = 0;
            decimal rabat_iznos       = 0;
            decimal pdv_rabat         = 0;
            decimal pdv_osnovica      = 0;
            decimal pdv_iznos         = 0;
            decimal Stopa1            = 0;
            decimal iznos_bez_poreza1 = 0;
            decimal osnovica_ukupno1  = 0;
            decimal pdv_rabat1        = 0;
            decimal pdv_osnovica1     = 0;
            decimal pdv_iznos1        = 0;
            decimal povratna_naknada  = 0;
            decimal povratna_naknada1 = 0;
            decimal pnp = 0;
            decimal porez_na_potrosnju  = 0;
            decimal sveukupno1          = 0;
            decimal sveukupno2          = 0;
            decimal porez_na_potrosnju1 = 0;
            decimal rabat_iznos1        = 0;

            for (int y = 0; y < DTstavke.Rows.Count; y++)
            {
                //MessageBox.Show(DTstavke.Rows[y]["povratna_naknada"].ToString());
                decimal pdv   = Convert.ToDecimal(DTstavke.Rows[y]["porezroba"].ToString());
                decimal vpc   = Convert.ToDecimal(DTstavke.Rows[y]["vpc"].ToString());
                decimal rabat = Convert.ToDecimal(DTstavke.Rows[y]["rabat"].ToString());
                decimal kol   = Convert.ToDecimal(DTstavke.Rows[y]["kolicina"].ToString());
                decimal uku   = Convert.ToDecimal(DTstavke.Rows[y]["ukupno"].ToString());
                decimal mpc   = Convert.ToDecimal(DTstavke.Rows[y]["mpc"].ToString());

                if (DTstavke.Rows[y]["povratna_naknada"].ToString() != "")
                {
                    povratna_naknada = Convert.ToDecimal(DTstavke.Rows[y]["povratna_naknada"].ToString());
                }
                else
                {
                    povratna_naknada = 0;
                }

                if (DTstavke.Rows[y]["porez_potrosnja"].ToString() != "")
                {
                    pnp = Convert.ToDecimal(DTstavke.Rows[y]["porez_potrosnja"].ToString());
                }
                else
                {
                    pnp = 0;
                }

                if (DTstavke.Rows[y]["oduzmi"].ToString() == "DA")
                {
                    if (DTstavke.Rows[y]["povratna_naknada"].ToString() != "")
                    {
                        povratna_naknada = Convert.ToDecimal(DTstavke.Rows[y]["povratna_naknada"].ToString());
                    }
                    else
                    {
                        povratna_naknada = 0;
                    }
                    sveukupno1         = mpc * kol;
                    Stopa              = (pdv * 100) / (100 + pdv);
                    rabat_iznos        = (mpc * (rabat / 100)) * kol;
                    pdv_rabat          = (rabat_iznos * (Stopa / 100));
                    osnovica_ukupno    = (mpc - (mpc * (rabat / 100))) * kol;
                    porez_na_potrosnju = pnp;
                    pdv_iznos          = osnovica_ukupno * (Stopa / 100);
                    iznos_bez_poreza   = osnovica_ukupno - pdv_iznos;

                    StopePDVa(pdv, Stopa, sveukupno1, povratna_naknada, rabat_iznos, pdv_rabat, osnovica_ukupno, pdv_iznos, porez_na_potrosnju, iznos_bez_poreza);
                }
                else
                {
                    if (DTstavke.Rows[y]["povratna_naknada"].ToString() != "")
                    {
                        povratna_naknada1 = Convert.ToDecimal(DTstavke.Rows[y]["povratna_naknada"].ToString());
                    }
                    else
                    {
                        povratna_naknada1 = 0;
                    }
                    sveukupno2          = mpc * kol;
                    Stopa1              = (pdv * 100) / (100 + pdv);
                    rabat_iznos1        = (mpc * (rabat / 100)) * kol;
                    pdv_rabat1          = (rabat_iznos1 * (Stopa / 100));
                    osnovica_ukupno1    = ((mpc - (mpc * (rabat / 100))) * kol);
                    porez_na_potrosnju1 = pnp;
                    pdv_iznos1          = osnovica_ukupno1 * (Stopa1 / 100);
                    iznos_bez_poreza1   = osnovica_ukupno1 - pdv_iznos1;

                    //StopePDVa(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

                    StopePDVa1(pdv, Stopa1, sveukupno2, povratna_naknada1, rabat_iznos1, pdv_rabat, osnovica_ukupno1, pdv_iznos1, porez_na_potrosnju1, iznos_bez_poreza1);
                }
            }

            rekapitulacija();
        }
Ejemplo n.º 4
0
        private void ListaKalkulacije()
        {
            string sqlpodaci = "SELECT " +
                               " podaci_tvrtka.ime_tvrtke," +
                               " podaci_tvrtka.skraceno_ime," +
                               " podaci_tvrtka.oib," +
                               " podaci_tvrtka.tel," +
                               " podaci_tvrtka.fax," +
                               " podaci_tvrtka.mob," +
                               " podaci_tvrtka.iban," +
                               " podaci_tvrtka.adresa," +
                               " podaci_tvrtka.vl," +
                               " podaci_tvrtka.poslovnica_adresa," +
                               " podaci_tvrtka.poslovnica_grad," +
                               " podaci_tvrtka.email," +
                               " podaci_tvrtka.zr," +
                               " podaci_tvrtka.naziv_fakture," +
                               " podaci_tvrtka.text_bottom," +
                               " grad.grad + '' + grad.posta AS grad" +
                               " FROM podaci_tvrtka" +
                               " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" +
                               "";

            classSQL.CeAdatpter(sqlpodaci).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();
            string           sql      = "SELECT * FROM skladiste ORDER BY id_skladiste ASC";
            DataTable        DTskl    = classSQL.select(sql, "SKL").Tables[0];

            DataTable DTkalk = new DataTable();

            string skla_kalk = "";

            if (bool1 == true)
            {
                skla_kalk = "";
            }
            else
            {
                skla_kalk = "";
            }
            if (bool1)
            {
                string opcije = "";
                if (prema_rac != true)
                {
                    opcije = "povrat_robe.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND povrat_robe.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "'";
                }
                else
                {
                    opcije = "povrat_robe.broj >= '" + BrojFakOD + "' AND povrat_robe.broj <= '" + BrojFakDO + "'";
                }
                string sqlHeder = "SELECT " +
                                  " povrat_robe.broj, " +
                                  " povrat_robe.id_skladiste, " +
                                  " povrat_robe.datum, " +
                                  " partners.id_partner," +
                                  " partners.ime_tvrtke" +
                                  " FROM povrat_robe" +
                                  " LEFT JOIN partners ON partners.id_partner=povrat_robe.id_odrediste " +
                                  " WHERE " + opcije + " AND povrat_robe.id_skladiste = '" + skladiste_odabir + "' ORDER BY CAST(broj as numeric)";
                //string sql1="SELECT kalkulacija_stavke.vpc, kalkulacija_stavke.id_skladiste, kalkulacija_stavke.rabat, kalkulacija_stavke.kolicina, kalkulacija_stavke.porez FROM kalkulacija_stavke LEFT JOIN kalkulacija ON kalkulacija.broj = kalkulacija_stavke.broj WHERE kalkulacija.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND kalkulacija.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND kalkulacija.id_skladiste='" + row["id_skladiste"].ToString() + "' " + skla_kalk + " ";
                DTkalk = classSQL.select(sqlHeder, "povrat_robe").Tables[0];

                SETizracun(DTkalk, skladiste, skladiste_odabir);
            }
            else
            {
                string opcije = "";
                if (prema_rac != true)
                {
                    opcije = "povrat_robe.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND povrat_robe.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "'";
                }
                else
                {
                    opcije = "povrat_robe.broj >= '" + BrojFakOD + "' AND povrat_robe.broj <= '" + BrojFakDO + "'";
                }
                foreach (DataRow row in DTskl.Rows)
                {
                    string sqlHeder = "SELECT " +
                                      " povrat_robe.broj, " +
                                      " povrat_robe.id_skladiste, " +
                                      " povrat_robe.datum, " +
                                      " partners.id_partner," +
                                      " partners.ime_tvrtke" +
                                      " FROM povrat_robe" +
                                      " LEFT JOIN partners ON partners.id_partner=povrat_robe.id_odrediste " +
                                      " WHERE " + opcije + " AND id_skladiste = '" + row["id_skladiste"].ToString() + "'ORDER BY CAST(broj as numeric)";
                    //string sql1="SELECT kalkulacija_stavke.vpc, kalkulacija_stavke.id_skladiste, kalkulacija_stavke.rabat, kalkulacija_stavke.kolicina, kalkulacija_stavke.porez FROM kalkulacija_stavke LEFT JOIN kalkulacija ON kalkulacija.broj = kalkulacija_stavke.broj WHERE kalkulacija.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND kalkulacija.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND kalkulacija.id_skladiste='" + row["id_skladiste"].ToString() + "' " + skla_kalk + " ";
                    DTkalk = classSQL.select(sqlHeder, "povrat_robe").Tables[0];

                    SETizracun(DTkalk, row["skladiste"].ToString(), row["id_skladiste"].ToString());
                }
            }
        }
Ejemplo n.º 5
0
        private void Ulaz()
        {
            string sqlpodaci = "SELECT " +
                               " podaci_tvrtka.ime_tvrtke," +
                               " podaci_tvrtka.skraceno_ime," +
                               " podaci_tvrtka.oib," +
                               " podaci_tvrtka.tel," +
                               " podaci_tvrtka.fax," +
                               " podaci_tvrtka.mob," +
                               " podaci_tvrtka.iban," +
                               " podaci_tvrtka.adresa," +
                               " podaci_tvrtka.vl," +
                               " podaci_tvrtka.poslovnica_adresa," +
                               " podaci_tvrtka.poslovnica_grad," +
                               " podaci_tvrtka.email," +
                               " podaci_tvrtka.zr," +
                               " podaci_tvrtka.naziv_fakture," +
                               " podaci_tvrtka.text_bottom," +
                               " grad.grad + '' + grad.posta AS grad" +
                               " FROM podaci_tvrtka" +
                               " LEFT JOIN grad ON grad.id_grad=podaci_tvrtka.id_grad" +
                               "";

            classSQL.CeAdatpter(sqlpodaci).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();
            string           sql      = "SELECT * FROM skladiste ORDER BY id_skladiste ASC";
            DataTable        DTskl    = classSQL.select(sql, "SKL").Tables[0];

            DataTable DTizlazna_fak           = new DataTable();
            DataTable MS_ulaz                 = new DataTable();
            DataTable MS_izlaz                = new DataTable();
            DataTable DTkalk                  = new DataTable();
            DataTable DTOtpremnica            = new DataTable();
            DataTable DTradni_nalog           = new DataTable();
            DataTable DTpocetno_stanje        = new DataTable();
            DataTable DTpovratnica_dobavljacu = new DataTable();
            DataTable DTprimka                = new DataTable();
            DataTable DTmpr = new DataTable();

            foreach (DataRow row in DTskl.Rows)
            {
                //MS_ulaz = classSQL.select("SELECT meduskladisnica_stavke.nbc, meduskladisnica_stavke.sifra, meduskladisnica_stavke.broj, meduskladisnica_stavke.vpc, meduskladisnica_stavke.iz_skladista, meduskladisnica_stavke.kolicina , meduskladisnica.id_skladiste_od , meduskladisnica.id_skladiste_do FROM meduskladisnica_stavke LEFT JOIN meduskladisnica ON meduskladisnica.broj = meduskladisnica_stavke.broj WHERE meduskladisnica.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND meduskladisnica.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND meduskladisnica.id_skladiste_do='" + row["id_skladiste"].ToString() + "'", "Meduskladisnica_ulaz").Tables[0];
                DataTable DTrobaprodaja = classSQL.select("SELECT * FROM roba_prodaja WHERE kolicina > 0 AND id_skladiste = '" + row["id_skladiste"].ToString() + "'", "").Tables[0];
                for (int i = 0; i < DTrobaprodaja.Rows.Count; i++)
                {
                    decimal vpc      = Convert.ToDecimal(DTrobaprodaja.Rows[i]["vpc"].ToString());
                    string  sifra    = DTrobaprodaja.Rows[i]["sifra"].ToString();
                    decimal kolicina = Convert.ToDecimal(DTrobaprodaja.Rows[i]["kolicina"].ToString());
                    decimal porez    = Convert.ToDecimal(DTrobaprodaja.Rows[i]["porez"].ToString());
                    decimal mpc      = vpc * (1 + (porez / 100));

                    MS_ulaz = classSQL.select("SELECT meduskladisnica_stavke.nbc, meduskladisnica_stavke.sifra," +
                                              " meduskladisnica_stavke.broj, meduskladisnica_stavke.vpc, meduskladisnica_stavke.iz_skladista," +
                                              " meduskladisnica_stavke.kolicina , meduskladisnica.id_skladiste_od , meduskladisnica.id_skladiste_do" +
                                              " FROM meduskladisnica_stavke LEFT JOIN meduskladisnica ON meduskladisnica.broj = meduskladisnica_stavke.broj" +
                                              " WHERE meduskladisnica.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' " +
                                              " AND meduskladisnica.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' " +
                                              " AND meduskladisnica.id_skladiste_do='" + row["id_skladiste"].ToString() + "' AND " +
                                              " meduskladisnica_stavke.sifra = '" + sifra + "'", "").Tables[0];

                    decimal vpc_MSu      = Convert.ToDecimal(MS_ulaz.Rows[0]["vpc"].ToString());
                    decimal kolicina_MSu = Convert.ToDecimal(MS_ulaz.Rows[0]["kolicina"].ToString());

                    //cijena 1 = ulaz(K)
                    //cijena 2 = izlaz(K)
                    //cijena 3 = stanje(K)
                    //cijena 5 = skladiste cijena
                    //cijena 6 = ulaz(V)
                    //cijena 7 = izlaz(V)
                    //cijena 8 = stanje(V)

                    decimal ulaz_stanje    = kolicina_MSu;
                    decimal izlaz_stanje   = 0;
                    decimal ulaz_stanje_V  = mpc * ulaz_stanje;
                    decimal izlaz_stanje_V = mpc * izlaz_stanje;
                    DataRow DTrow          = dSRliste.Tables[0].NewRow();

                    DTrow            = dSRlisteTekst.Tables[0].NewRow();
                    DTrow["sifra"]   = sifra;
                    DTrow["cijena1"] = ulaz_stanje;
                    DTrow["cijena2"] = izlaz_stanje;
                    DTrow["cijena3"] = ulaz_stanje - izlaz_stanje;
                    DTrow["cijena5"] = mpc.ToString();
                    DTrow["cijena6"] = ulaz_stanje_V;
                    DTrow["cijena7"] = izlaz_stanje_V;
                    DTrow["cijena8"] = ulaz_stanje_V - izlaz_stanje_V;
                    dSRliste.Tables[0].Rows.Add(DTrow);
                }

                DTkalk           = classSQL.select("SELECT kalkulacija_stavke.fak_cijena,kalkulacija_stavke.sifra, kalkulacija_stavke.broj, kalkulacija_stavke.id_skladiste , kalkulacija_stavke.kolicina, kalkulacija_stavke.vpc FROM kalkulacija_stavke LEFT JOIN kalkulacija ON kalkulacija.id_kalkulacija = kalkulacija_stavke.id_kalkulacija WHERE kalkulacija.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND kalkulacija.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND kalkulacija.id_skladiste='" + row["id_skladiste"].ToString() + "'  ", "Kalkulacija").Tables[0];
                DTradni_nalog    = classSQL.select("SELECT radni_nalog_stavke.nbc,radni_nalog_stavke.sifra_robe, radni_nalog_stavke.broj_naloga, radni_nalog_stavke.vpc, radni_nalog_stavke.id_skladiste, radni_nalog_stavke.kolicina FROM radni_nalog_stavke LEFT JOIN radni_nalog ON radni_nalog.broj_naloga = radni_nalog_stavke.broj_naloga WHERE  radni_nalog.datum_naloga >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND radni_nalog.datum_naloga <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND radni_nalog_stavke.id_skladiste='" + row["id_skladiste"].ToString() + "' ", "radni_nalog").Tables[0];
                DTpocetno_stanje = classSQL.select("SELECT pocetno_stanje_stavke.nbc, pocetno_stanje_stavke.sifra, pocetno_stanje_stavke.broj, pocetno_stanje.id_skladiste, pocetno_stanje_stavke.kolicina FROM pocetno_stanje_stavke LEFT JOIN pocetno_stanje ON pocetno_stanje.broj = pocetno_stanje_stavke.broj WHERE  pocetno_stanje.date >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND pocetno_stanje.date <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND pocetno_stanje.id_skladiste='" + row["id_skladiste"].ToString() + "'  ", "pocetno_stanje").Tables[0];
                DTprimka         = classSQL.select("SELECT primka_stavke.nbc, primka_stavke.sifra, primka_stavke.broj, primka.id_skladiste, primka_stavke.kolicina, primka_stavke.mpc, primka_stavke.vpc FROM primka_stavke LEFT JOIN primka ON primka.id_primka = primka_stavke.id_primka WHERE  primka.datum >= '" + datumOD.ToString("dd-MM-yyyy") + "' AND primka.datum <= '" + datumDO.ToString("dd-MM-yyyy") + "' AND primka.id_skladiste='" + row["id_skladiste"].ToString() + "'  ", "primka").Tables[0];

                DTizlazna_fak           = classSQL.select("SELECT faktura_stavke.nbc, fakture.broj_fakture, faktura_stavke.sifra, faktura_stavke.vpc, faktura_stavke.id_skladiste, faktura_stavke.kolicina FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture = faktura_stavke.broj_fakture WHERE  fakture.date >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND fakture.date <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND faktura_stavke.id_skladiste='" + row["id_skladiste"].ToString() + "'  ", "Izlazne_fakture").Tables[0];
                MS_izlaz                = classSQL.select("SELECT meduskladisnica_stavke.nbc,meduskladisnica_stavke.sifra, meduskladisnica_stavke.broj, meduskladisnica_stavke.vpc, meduskladisnica_stavke.iz_skladista, meduskladisnica_stavke.kolicina , meduskladisnica.id_skladiste_od , meduskladisnica.id_skladiste_do FROM meduskladisnica_stavke LEFT JOIN meduskladisnica ON meduskladisnica.broj = meduskladisnica_stavke.broj WHERE meduskladisnica.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND meduskladisnica.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND meduskladisnica.id_skladiste_od='" + row["id_skladiste"].ToString() + "' ", "Meduskladisnica_izlaz").Tables[0];
                DTOtpremnica            = classSQL.select("SELECT otpremnica_stavke.nbc,otpremnica_stavke.sifra_robe,  otpremnica_stavke.broj_otpremnice, otpremnica_stavke.vpc, otpremnica_stavke.id_skladiste, otpremnica_stavke.kolicina FROM otpremnica_stavke LEFT JOIN otpremnice ON otpremnice.id_otpremnica = otpremnica_stavke.id_otpremnice WHERE  otpremnice.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND otpremnice.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND otpremnice.id_skladiste='" + row["id_skladiste"].ToString() + "' ", "Otpremnice").Tables[0];
                DTpovratnica_dobavljacu = classSQL.select("SELECT povrat_robe_stavke.nbc,povrat_robe_stavke.broj, povrat_robe_stavke.sifra, povrat_robe_stavke.vpc, povrat_robe.id_skladiste, povrat_robe_stavke.kolicina FROM povrat_robe_stavke LEFT JOIN povrat_robe ON povrat_robe.broj = povrat_robe_stavke.broj WHERE  povrat_robe.datum >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND povrat_robe.datum <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND povrat_robe.id_skladiste='" + row["id_skladiste"].ToString() + "' ", "povrat_robe").Tables[0];
                DTmpr = classSQL.select("SELECT racun_stavke.nbc,racun_stavke.broj_racuna, racun_stavke.sifra_robe, racun_stavke.vpc, racun_stavke.id_skladiste, racun_stavke.kolicina FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna = racun_stavke.broj_racuna WHERE  racuni.datum_racuna >= '" + datumOD.ToString("dd-MM-yyyy 00:00:00") + "' AND racuni.datum_racuna <= '" + datumDO.ToString("dd-MM-yyyy 23:59:59") + "' AND racun_stavke.id_skladiste='" + row["id_skladiste"].ToString() + "'  ", "racuni_stavke").Tables[0];

                //SETizracunskladnisne(MS_ulaz, DTkalk, row["skladiste"].ToString(), row["id_skladiste"].ToString(), DTradni_nalog, DTpocetno_stanje, DTprimka, DTizlazna_fak, MS_izlaz, DTOtpremnica, DTpovratnica_dobavljacu, DTmpr);
            }
        }