private void PripremiPodatkeZaGrid(Form forma, DataGridView dv, string dokument, string tUpit, int tud, string iddok, string tIme, string DokumentJe)
        {
            //Djora 24.08.21
            //dv.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(226)))), ((int)(((byte)(220)))));

            string KojiSegment            = tIme.Substring(4);
            clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();

            if (DokumentJe == "D" && tud == 1 && (tUpit.ToUpper()).Contains("ORDER") == false)
            {
                if (tUpit.ToUpper().Contains("IID") == true)
                {
                    tUpit = tUpit + " ORDER BY iid DESC ";
                }
            }
            Console.WriteLine(tUpit);

            if (((Bankom.frmChield)forma).intUkupno == 0)            // broj slogova u upitu
            {
                ((Bankom.frmChield)forma).intUkupno = tg.Rows.Count; //// db.ReturnInt(" select count(*) from " + tUpit.Substring(intfrom + 5), 0); // koliko ima slogova u upitu
            }

            // DORADA TABELE tg postavljanjem rednog broja i osvezavanjem salda prema zahtevima dokumenta

            // AKO U RECNIKU POSTOJI POLJE SA ID_NaziviNaFormi=20 KOJE IMA SIRINU VECU OD 0 TO POLJE JE NAMENJENO DA SE U NJEGA PROGRAMSKI UPISE REDNI BROJ STAVKE.TO RADI KOD KOJI SLEDI
            os.DodajRedniBroj(ref tg, KojiSegment, DokumentJe);


            // AKO U RECNIKU POSTOJE POLJA SA Podacima u koloni formulaforme izvrsicemo azuriranje tih polja prema zadatoj formuli

            string    sss = " Select FormulaForme ,AlijasPolja From RecnikPodataka where Dokument ='" + dokument + "' and  FormulaForme IS NOT NULL     and ltrim(rtrim(FormulaForme)) <>'' and tabelavview=@param0";
            DataTable dt  = db.ParamsQueryDT(sss, KojiSegment);

            for (int ii = 0; ii < dt.Rows.Count; ii++)
            {
                if (tg.Rows.Count > 0)
                {
                    os.OsveziSalda(ref tg, dt.Rows[ii]["AlijasPolja"].ToString(), dt.Rows[ii]["FormulaForme"].ToString());
                }
            }
        }
Пример #2
0
        public bool KorekcijaNaDan(string datumOd, string NazivSkl, string ID_Skladiste)
        {
            bool   KorekcijaNaDan = false;
            string pomskl         = "";
            string pomidvlasnik   = "";

            if (ID_Skladiste == "1")
            {
                sql = "Select  Firma,godina,id_skladiste,id_artikliView,Sum(finSaldo - robsaldo) as razlika,ID_KomitentiView,NazivKom "
                      + " from VrednostRobeiFinansija, artiklitotali,komitentitotali "
                      + " where artiklitotali.id_artiklitotali=id_artikliView and komitentitotali.id_komitentitotali=ID_KomitentiView "
                      + " and godina=@param0 and firma=@param1 "
                      + " group by Firma,godina,id_skladiste,id_artikliView,ID_KomitentiView  "
                      + " having Sum(finSaldo - robsaldo)<>0 "
                      + " Order by id_skladiste,ID_KomitentiView,id_artikliView";
            }
            else
            {
                sql = "Select  Firma,godina,id_skladiste,id_artikliView,Sum(finSaldo - robsaldo) as razlika,ID_KomitentiView,NazivKom "
                      + " from VrednostRobeiFinansija, artiklitotali,komitentitotali "
                      + " where artiklitotali.id_artiklitotali=id_artikliView and komitentitotali.id_komitentitotali=ID_KomitentiView "
                      + " and godina=@param0 and firma=@param1 and ID_Skladiste=@param2 "
                      + " group by Firma,godina,id_skladiste,id_artikliView,ID_KomitentiView  "
                      + " having Sum(finSaldo - robsaldo)<>0 "
                      + " Order by id_skladiste,ID_KomitentiView,id_artikliView";
            }
            // cela razrada za vlasnika robe a u view-u VrednostRobeiFinansija pise id_vlasnik =1 ,
            // pri tom su tu i pobrojana konta sto nije dobro kod promene kontnog plana
            DataTable dt = db.ParamsQueryDT(sql, DateTime.Parse(datumOd).Year, Program.idFirme, ID_Skladiste);

            if (dt.Rows.Count == 0)
            {
                MessageBox.Show("Nema korekcije !!!");
                return(KorekcijaNaDan);
            }
            else
            {
                int prolaz = 0;
                foreach (DataRow row in dt.Rows)
                {
                    if (prolaz == 0)
                    {
                        pomskl       = row["id_skladiste"].ToString();
                        pomidvlasnik = row["id_KomitentiView"].ToString();
                    }

                    if (pomskl != row["id_skladiste"].ToString() || pomidvlasnik != row["id_KomitentiView"].ToString())
                    {
                        db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + ID_DokumentaView);
                        db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivDokumenta, "IdDokument:" + ID_DokumentaView);
                    }

                    if (pomskl != row["id_skladiste"].ToString() || pomidvlasnik != row["id_KomitentiView"].ToString() || prolaz == 0)
                    {
                        sql = "Select ID_Dokumenta as ID_DokumentaView from Dokumenta"
                              + " where ID_DokumentaStablo=44 and datum= @param0 and Opis ='Usaglasavanje roba-finansije-'+@param1+'-'+@param2";
                        DataTable t = db.ParamsQueryDT(sql, datumOd, NazivSkl, row["NazivKom"].ToString());
                        if (t.Rows.Count != 0)
                        {
                            ID_DokumentaView = t.Rows[0]["ID_DokumentaView"].ToString();
                            sql = "delete from InterniNalogZaRobuStavke where id_Dokumentaview= @param0";
                            ret = db.ParamsInsertScalar(sql, ID_DokumentaView);
                            sql = "delete from InterniNalogZaRobu where id_Dokumentaview= @param0";
                            ret = db.ParamsInsertScalar(sql, ID_DokumentaView);
                            sql = "delete from CeneArtikalaNaSkladistimaPred where id_Dokumentaview= @param0";
                            ret = db.ParamsInsertScalar(sql, ID_DokumentaView);
                        }
                        else
                        {
                            //   upis  korekcije u dokumenta
                            clsObradaOsnovnihSifarnika cls = new clsObradaOsnovnihSifarnika();
                            string ParRb = "";
                            ID_DokumentaStablo = 44;
                            NazivDokumenta     = "ObracunVrednostiZaliha";

                            ret = cls.UpisiDokument(ref ParRb, "Usaglasavanje roba - finansije -" + NazivSkl, ID_DokumentaStablo, datumOd);

                            if (ret == -1)
                            {
                                MessageBox.Show("Greska prilikom inserta!");
                                return(KorekcijaNaDan);
                            }
                            ID_DokumentaView = ret.ToString();
                        }

                        sql = "Insert into interninalogZaRobu(ID_DokumentaView, ID_Skladiste ,ID_Analitika,id_komitentiview)"
                              + " values(@param0, @param1,@param2,@param3)";
                        DataTable dtr = db.ParamsQueryDT(sql, ID_DokumentaView, row["id_skladiste"].ToString(), 1, row["id_KomitentiView"].ToString());
                    }
                    if (row["razlika"].ToString() != "0")
                    {
                        sql = "Insert into InterniNalogZaRobuStavke(ID_DokumentaView, ID_ArtikliView, KolicinaIzlaz, JedinicnaCena )"
                              + " values(@param0, @param1,@param2,@param3)";
                        DataTable dts = db.ParamsQueryDT(sql, ID_DokumentaView, row["ID_ArtikliView"].ToString(), row["razlika"].ToString(), 1);
                    }

                    pomskl       = row["id_skladiste"].ToString();
                    pomidvlasnik = row["id_KomitentiView"].ToString();

                    prolaz += 1;
                }

                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + ID_DokumentaView);
                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivDokumenta, "IdDokument:" + ID_DokumentaView);

                KorekcijaNaDan = true;
                return(KorekcijaNaDan);
            }
        }
        public void MenuItemClickHandler(object sender, EventArgs e)
        {
            clsProveraDozvola proDoz = new clsProveraDozvola();
            string            s      = GetMenuNaziv(((ToolStripMenuItem)sender).Text);
            //zajedno 14.1.2021.
            //Program.AktivnaSifraIzvestaja = s;
            char slovo = UzmiSlovo(s);

            Program.KlasifikacijaSlovo = "";
            switch (s)
            {
            //tamara 28.4.2021.
            case "cmdMagacin":
                System.Diagnostics.Process.Start("http:\\192.168.1.71\\magacin");
                break;

            case "OrganizacionaSema":
                System.Diagnostics.Process.Start("http://192.168.1.4:8080/");
                break;

            case "Imenik":
                proDoz.ToolBarItemsEnDis();
                Form   f    = Application.OpenForms["Imenik"];
                Imenik frmi = new Imenik();
                if (f == null)
                {
                    //ivana 2.3.2021.
                    //if (Program.brtabova < 10 && Program.Parent.tabovi < Program.Parent.toolStrip1.Width - 50)
                    //{

                    frmi.FormBorderStyle = FormBorderStyle.None;
                    frmi.Name            = "Imenik";
                    frmi.MdiParent       = Program.Parent;
                    frmi.Dock            = DockStyle.Fill;

                    Program.Parent.addFormTotoolstrip1(frmi, "Imenik");
                    Program.Parent.updateToolStrip("Imenik");
                    frmi.StartPosition = FormStartPosition.CenterScreen;
                    frmi.Show();
                    //ivana 15.11.2021.
                    //proDoz.ProveriDozvole("", "", "", "");
                    Program.Parent.itemn_click(sender, e);
                    //}
                    //else
                    //MessageBox.Show("Imate dosta otvorenih formi, zatvorite neku od njih.");
                }
                //ivana 22.2.2021.
                else
                {
                    Program.Parent.itemn_click(sender, e);
                    f.Focus();
                }
                break;

            case "Dokumenta":
            case "Izvestaj":
            case "OsnovniSifarnici":
            case "PomocniSifarnici":
            case "Artikli":
            case "Komitenti":
            case "OrganizacionaStruktura":
                Program.Parent.ToolBar.Items["Uunos"].Visible = true;
                Program.Parent.ToolBar.Items["Uunos"].Enabled = true;
                clsObradaOsnovnihSifarnika co0 = new clsObradaOsnovnihSifarnika();
                mdi.ShowNewForm(s, 1, s, 1, "", "", slovo.ToString(), "", "TreeView");
                break;

            //28.10.2020. Ivana
            case "KlasifikacijaOrgStrukture":
            case "KlasifikacijaArtikla":
            case "KlasifikacijaKomitenata":
            case "KlasifikacijaDokumenata":
            case "KlasifikacijaIzvestaja":
            case "KlasifikacijaMenija":
            case "KlasifikacijaPomocnihSifarnika":
                Program.Parent.ToolBar.Items["Uunos"].Visible = true;
                Program.Parent.ToolBar.Items["Uunos"].Enabled = true;
                Program.KlasifikacijaSlovo = "K";
                mdi.ShowNewForm(SkiniKlasifikaciju(s), 1, SkiniKlasifikaciju(s), 1, "", "", slovo.ToString(), "", "TreeView");
                break;

            case "KadroviIOrganizacionaStruktura":                                                       //"DodeljivanjeUlogeKorisniku":
                mdi.ShowNewForm("", 1, "KadroviIOrganizacionaStruktura", 1, "", "", "P", "", "");
                break;

            case "Dozvole":
                mdi.ShowNewForm("", 1, "Dozvole", 1, "", "", "P", "", "");
                break;

            case "PreuzimanjeKursneListe":
                //tamara 21.6.21.
                PreuzimanjeKursneListe kl = new PreuzimanjeKursneListe();
                kl.Name = "PreuzimanjeKursneListe";
                kl.Text = "PreuzimanjeKursneListe";
                //ivana 19.3.2021.
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeKursneListe"))
                {
                    kl.FormBorderStyle = FormBorderStyle.None;
                    kl.MdiParent       = mdi;
                    kl.Dock            = DockStyle.Fill;
                    kl.AutoScroll      = true;
                    if (mdi.IzborJezika.Text == "Српски-Ћирилица")
                    {
                        kl.Text = mdi.VratiCirlilicu("PreuzimanjeKursneListe");
                    }
                    int sirina1 = (mdi.Width / 100) * 10;
                    mdi.addFormTotoolstrip1(kl, "PreuzimanjeKursneListe");
                    mdi.SrediFormu();
                    kl.Show();
                    //ivana 25.3.2021.
                    mdi.itemn_click("PreuzimanjeKursneListe", e);
                }
                break;

            case "Prenosi":
                Form activeChild = mdi.ActiveMdiChild;
                activeChild.FormBorderStyle = FormBorderStyle.None;
                if (activeChild != null)
                {
                    activeChild.Hide();
                }
                break;

            case "PlacanjeRateKredita":
                if (!mdi.DalijevecOtvoren("", "", "PlacanjeRateKredita"))
                {
                    Preuzimanja.PreuzimanjeRateKredita();                             //"PreuzimanjeRateKredita"
                }
                break;

            case "PreuzimanjeManjkovaIViskova":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeManjkovaIViskova"))
                {
                    Preuzimanja.PreuzimanjeManjkovaIViskova();                        //"PreuzimanjeManjkovaIViskova"
                }
                break;

            case "PreuzimanjeUplata":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeUplata"))
                {
                    Preuzimanja.PreuzimanjeUplataKupacaIzBanaka();
                }
                break;

            case "PrenosNalogaZaPlacanje":
                if (!mdi.DalijevecOtvoren("", "", "PrenosNalogaZaPlacanje"))          //"PrenosNalogaNaPlacanje"
                {
                    clsPreuzimanja cp          = new clsPreuzimanja();                //BORKA je zakomentarisala ovo
                    string         DatOd       = (DateTime.Now.ToString("dd.MM.yy")); ///, "dd/MM/yyyy", null);// , CultureInfo.InvariantCulture);
                    string         TekuciRacun = "";
                    TekuciRacun = Prompt.ShowDialog("", "Prepisivanje naloga iz pripreme za plaćanje.", "Unesite tekući račun za koji prenosimo naloge");
                    if (TekuciRacun == "")
                    {
                        return;
                    }
                    string vrati = cp.PrepisiNaloge(DatOd, TekuciRacun);     //BORKA je zakomentarisala ovo
                    MessageBox.Show("Završeno!");
                }
                break;

            case "PreuzimanjeIzvodaIzBanaka":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeIzvodaIzBanaka"))
                {
                    clsPreuzimanja cp = new clsPreuzimanja();
                    string         strPreuzimanjePlacanja = cp.preuzimanjeIzvodaizBanaka();
                    if (strPreuzimanjePlacanja == "")
                    {
                        return;
                    }
                    char[]   separators = { '#' };
                    frmIzvod childForm  = new frmIzvod();

                    childForm.strPutanjaPlacanja = strPreuzimanjePlacanja.Split(separators)[0];
                    childForm.mesecgodina        = strPreuzimanjePlacanja.Split(separators)[1];
                    childForm.IdDokView          = Convert.ToInt32(strPreuzimanjePlacanja.Split(separators)[2]);
                    childForm.KojiPrepis         = strPreuzimanjePlacanja.Split(separators)[3];
                    childForm.Show();
                }
                break;

            case "PrepisPlacanjaIUplataUIzvod":        /// stari je bio ovaj naziv -> "PrepisNaplataIPlacanjaUIzvod" Ivana
                if (!mdi.DalijevecOtvoren("", "", "PrepisPlacanjaIUplataUIzvod"))
                {
                    clsOperacije   co          = new clsOperacije();
                    clsPreuzimanja cp1         = new clsPreuzimanja();
                    DataBaseBroker db          = new DataBaseBroker();
                    string         DatOd1      = "";
                    string         TekuciRacun = "";
                    DataTable      rsp         = new DataTable();
                    //Jovana 21.06.21

                    DatOd1 = Prompt.ShowDialog(DateTime.Now.ToString("dd.MM.yy"), "Prepisivanje izvoda iz Plaćanja i naplata", "Unesite datum za koji prepisujemo izvod");
                    if (DatOd1 == "")
                    {
                        return;
                    }
                    //Jovana 21.06.21
                    if (co.IsDateTime(DatOd1) == false)
                    {
                        MessageBox.Show("Pogrešno unet datum!"); return;
                    }
                    ;
                    //Jovana 21.06.21
                    TekuciRacun = Prompt.ShowDialog("", "Prepisivanje izvoda iz Plaćanja i naplata", "Unesite tekući račun za koji prepisujete promet ");
                    if (TekuciRacun == "")
                    {
                        return;
                    }
                    rsp = db.ReturnDataTable("if not exists (select datum from  IzvodTotali  where Datum='" + DatOd1 + "' And Blagajna='" + TekuciRacun.ToString() + "') select 0 else select 1 ");
                    if (rsp.Rows.Count == 0)
                    {
                        MessageBox.Show("Ne postoje podaci za datum i tekući račun!"); return;
                    }

                    if (Convert.ToInt16(rsp.Rows[0][0]) == 1)
                    {
                        MessageBox.Show("Već je izvršen prepis izvoda za datum " + DatOd1);
                    }
                    else
                    {
                        cp1.izborPReuzimanja(1, DatOd1 + "#" + TekuciRacun);
                    }
                    MessageBox.Show("Završeno!");
                }
                break;

            case "FormiranjePPPPDzaPlate":
                if (!mdi.DalijevecOtvoren("", "", "FormiranjePPPPDzaPlate"))
                {
                    DateTime d      = DateTime.Now;
                    string   pDatum = d.ToString("dd.MM.yy");
                    string   mg     = Prompt.ShowDialog(pDatum.Substring(3, 2) + pDatum.Substring(6, 2), "Formiranje PPPPD za plate", "Unesite mesec i godinu za koji formiramo PPPPD za plate");
                    if (string.IsNullOrEmpty(mg))
                    {
                        return;
                    }
                    clsOperacije co2 = new clsOperacije();
                    bool         r   = co2.IsNumeric(mg);
                    if (r == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    string svrsta = Prompt.ShowDialog("", "Formiranje PPPPD za plate", "Unesite vrstu obracuna: A za akontaciju ili K za platu");
                    svrsta = svrsta.ToUpper();
                    if (svrsta != "a".ToUpper() && svrsta != "K".ToUpper())
                    {
                        MessageBox.Show("Pogrešno uneta vrsta obračuna! Dozvoljen je samo unos A ili K.");
                        return;
                    }
                    clsXmlPlacanja cxml = new clsXmlPlacanja();
                    cxml.izborPlacanja(2, mg + svrsta, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            //ivana 7.5.2021.
            case "FormiranjePPPPDzaDobit":
                if (!mdi.DalijevecOtvoren("", "", "FormiranjePPPPDzaDobit"))
                {
                    string mg = Prompt.ShowDialog("", "Formiranje PPPPD za dobit", "Unesite broj naloga");
                    if (string.IsNullOrEmpty(mg))
                    {
                        MessageBox.Show("Niste uneli broj naloga.");
                        return;
                    }
                    string    upit = "Select * from DokumentaTotali where BrDok = @param0";
                    DataTable dt   = db.ParamsQueryDT(upit, mg);
                    if (dt.Columns.Count == 0)
                    {
                        MessageBox.Show("Neispravan broj naloga.");
                        return;
                    }
                    else
                    {
                        upit = "Select * from FinansijskiInterniNalogTotali where BrDok = @param0";
                        dt   = db.ParamsQueryDT(upit, mg);
                        if (dt.Rows.Count == 0)
                        {
                            MessageBox.Show("Morate prvo popuniti izabrani nalog.");
                            return;
                        }
                        else
                        {
                            brojNaloga = mg;
                            clsXmlPlacanja cxml = new clsXmlPlacanja();
                            cxml.izborPlacanja(5, dt.Rows[0]["Datum"].ToString(), brojNaloga);
                        }
                    }
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "PreuzimanjePlata":                                   //"UvozPlataUPlacanje"
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjePlata"))
                {
                    clsXmlPlacanja cls = new clsXmlPlacanja();
                    cls.izborPlacanja(3, "", "");
                }
                break;

            case "Prevoz":
                if (!mdi.DalijevecOtvoren("", "", "Prevoz"))
                {
                    DateTime d1      = DateTime.Now;
                    string   pDatum1 = d1.ToString("dd.MM.yy");
                    string   mg1     = Prompt.ShowDialog(pDatum1.Substring(3, 2) + pDatum1.Substring(6, 2), "Formiranje naloga za knjiženje prevoza", "Unesite mesec i godinu za koji isplaćujemo prevoz");
                    if (string.IsNullOrEmpty(mg1))
                    {
                        return;
                    }
                    clsOperacije co1 = new clsOperacije();
                    bool         r1  = co1.IsNumeric(mg1);
                    if (r1 == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg1.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    clsXmlPlacanja cxml1 = new clsXmlPlacanja();
                    cxml1.izborPlacanja(0, mg1, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "Nagrade":
                if (!mdi.DalijevecOtvoren("", "", "Nagrade"))
                {
                    DateTime d2      = DateTime.Now;
                    string   pDatum2 = d2.ToString("dd.MM.yy");

                    string mg2 = Prompt.ShowDialog(pDatum2.Substring(3, 2) + pDatum2.Substring(6, 2), "Formiranje naloga za knjiženje nagrada", "Unesite mesec i godinu za koji isplaćujemo nagrade");
                    if (string.IsNullOrEmpty(mg2))
                    {
                        return;
                    }
                    clsOperacije co3 = new clsOperacije();
                    bool         r2  = co3.IsNumeric(mg2);
                    if (r2 == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg2.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    clsXmlPlacanja cxml2 = new clsXmlPlacanja();
                    cxml2.izborPlacanja(1, mg2, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "UvozPrevozaUPlacanje":
                if (!mdi.DalijevecOtvoren("", "", "UvozPrevozaUPlacanje"))
                {
                    clsXmlPlacanja cls2 = new clsXmlPlacanja();
                    cls2.izborPlacanja(4, "", "");
                }
                break;

            case "PrenosiZaProdajnaMesta":
            case "PreuzimanjePrometaRecepcije":
            case "PreuzimanjePrometaMaloprodaje":
                //zajedno 10.5.2021.
                Prenosi v = new Prenosi();
                //ivana 14.9.2021. gde god je bilo PreuzimanjePrometa, zamenila sam sa PrenosiZaProdajnaMesta, da bi se prikazao NazivJavni
                if (!mdi.DalijevecOtvoren("", "", "PrenosiZaProdajnaMesta"))
                {
                    v.MdiParent       = mdi;
                    v.FormBorderStyle = FormBorderStyle.None;

                    v.Name = "PrenosiZaProdajnaMesta";
                    v.Dock = DockStyle.Fill;
                    Program.Parent.addFormTotoolstrip1(v, "PrenosiZaProdajnaMesta");
                    v.Show();


                    Program.Parent.itemn_click("Prenosi za prodajna mesta", e);
                    if ("PreuzimanjePrometaMaloprodaje" == s)
                    {
                        v.radioButton3.Checked = true;
                    }
                    else
                    {
                        v.radioButton2.Checked = true;
                    }
                }
                else
                {
                    Program.Parent.ActiveMdiChild.WindowState = FormWindowState.Normal;
                }
                break;

            case "FaktureRecepcijeZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "FaktureRecepcijeZaOdabraneDatume"))
                {
                    Preuzimanja.FaktureRecepcijeZaOdabraneDatume();
                }
                break;

            case "FaktureRestoranaZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "FaktureRestoranaZaOdabraneDatume"))
                {
                    Preuzimanja.FaktureRestoranaZaOdabraneDatume();
                }
                break;

            case "RazduzenjeSirovinaMinibar":
                if (!mdi.DalijevecOtvoren("", "", "RazduzenjeSirovinaMinibar"))
                {
                    Preuzimanja.RazduzenjeSirovinaMiniBar();
                }
                break;

            case "RazduzenjeSirovinaZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "RazduzenjeSirovinaZaOdabraneDatume"))
                {
                    Preuzimanja.RazduzenjeSirovinaZaOdabraniIntervalDatuma();
                }
                break;

            case "KursnaListaZaCeluGodinu":
                if (!mdi.DalijevecOtvoren("", "", "KursnaListaZaCeluGodinu"))
                {
                    string         GodinaKursa       = "";
                    string         PocetniDatumKursa = "";
                    int            KojiIDDokstablo   = 1;
                    string         sql              = "";
                    long           granica          = 0;
                    int            ret              = 1;
                    string         ID_DokumentaView = "1";
                    DateTime       DatumKursa;
                    DataBaseBroker db2 = new DataBaseBroker();

                    if (MessageBox.Show("Upisujemo kursnu listu za " + (System.DateTime.Now).Year.ToString(), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        GodinaKursa       = Prompt.ShowDialog("", "Unesite godinu za kursnu listu ", "Kursna lista");
                        PocetniDatumKursa = "01.01." + GodinaKursa.Trim();
                        sql = "select ID_DokumentaTotali from  DokumentaTotali where dokument ='KursnaLista' and Datum>@param0";
                        DataTable t = db2.ParamsQueryDT(sql, PocetniDatumKursa);

                        if (t.Rows.Count == 0)
                        {
                            sql = "select ID_DokumentaStablo from DokumentaStablo where Naziv='KursnaLista'";
                            DataTable dt = db2.ParamsQueryDT(sql);
                            if (dt.Rows.Count == 0)
                            {
                                MessageBox.Show("Nije definisana kursna lista!");
                            }
                            else
                            {
                                KojiIDDokstablo = Convert.ToInt32(dt.Rows[0]["ID_DokumentaStablo"]);

                                clsOperacije cOp = new clsOperacije();
                                if (cOp.Prestupna(Convert.ToInt32(GodinaKursa)) == true)
                                {
                                    granica = 366;
                                }
                                else
                                {
                                    granica = 365;
                                }

                                int i = 1;

                                for (; i <= granica; i++)
                                {
                                    DatumKursa = Convert.ToDateTime(PocetniDatumKursa).AddDays(i);

                                    clsObradaOsnovnihSifarnika cls3 = new clsObradaOsnovnihSifarnika();
                                    string ParRb = "";

                                    ret = cls3.UpisiDokument(ref ParRb, "Kursna lista " + DatumKursa.Date, KojiIDDokstablo, DatumKursa.ToString());

                                    if (ret == -1)
                                    {
                                        MessageBox.Show("Greška prilikom inserta!");
                                        return;
                                    }
                                    ID_DokumentaView = ret.ToString();

                                    //stavka za domacu valutu
                                    sql = " Insert into KursnaLista(ID_SifrarnikValuta,ID_Zemlja,ID_DokumentaView,datum,paritet,"
                                          + " Kupovni,Srednji,Prodajni,Dogovorni,verzija,KupovniZaDevize,ProdajniZaDevize,OznVal,UUser,TTIME )"
                                          + " Values(@param0,@param1,@param2,@param3,@param4, "
                                          + " @param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12,@param13,@param14)";

                                    DataTable dkl = db2.ParamsQueryDT(sql, 1, Program.ID_MojaZemlja, ID_DokumentaView, DatumKursa.ToString(), 001,
                                                                      1, 1, 1, 1, "", 1, 1, Program.DomacaValuta, Program.idkadar.ToString(), (System.DateTime.Now).ToString());

                                    // Druga stavka za eur ako je zemlja bosna

                                    if (Program.ID_MojaZemlja == 38)
                                    {
                                        sql = " Insert into KursnaLista(ID_SifrarnikValuta,ID_Zemlja,ID_DokumentaView,datum,paritet,"
                                              + " Kupovni,Srednji,Prodajni,Dogovorni,verzija,KupovniZaDevize,ProdajniZaDevize,OznVal,UUser,TTIME )"
                                              + " Values(@param0,@param1,@param2,@param3,@param4, "
                                              + " @param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12,@param13,@param14)";

                                        DataTable dkb = db2.ParamsQueryDT(sql, 1, Program.ID_MojaZemlja, ID_DokumentaView, DatumKursa.ToString(), 001,
                                                                          1.95583, 1.95583, 1.95583, 1.95583, "", 1.95583, 1.95583, "EUR", Program.idkadar.ToString(), (System.DateTime.Now).ToString());
                                    }
                                    db2.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + ID_DokumentaView);
                                    db2.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:KursnaLista", "IdDokument:" + ID_DokumentaView);
                                }
                                MessageBox.Show("Završeno!");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Već je uneta kursna lista za datume tekuće godine!");
                        }
                    }
                }
                break;

            case "PopunjavanjeTabeleDatuma":
                if (!mdi.DalijevecOtvoren("", "", "PopunjavanjeTabeleDatuma"))
                {
                    string         GodinaDatuma = "";
                    string         sql3         = "";
                    DataBaseBroker db3          = new DataBaseBroker();

                    if (MessageBox.Show("Upisujemo tabelu datuma za " + (System.DateTime.Now).Year.ToString(), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        GodinaDatuma = Prompt.ShowDialog("", "Unesite Godinu za tabelu datuma ", "Tabela datuma");
                        if (GodinaDatuma == "")
                        {
                            MessageBox.Show("Niste uneli godinu!"); return;
                        }

                        if (GodinaDatuma != (System.DateTime.Now).Year.ToString() && GodinaDatuma != (System.DateTime.Now).AddYears(+1).Year.ToString())
                        {
                            MessageBox.Show("Pogrešno uneta godina!");
                            return;
                        }
                        else
                        {
                            sql3 = "select time_id from  Time_by_Day where the_year =@param0 ";
                            DataTable t = db3.ParamsQueryDT(sql3, GodinaDatuma);
                            if (t.Rows.Count == 0)
                            {
                                db3.ExecuteStoreProcedure("PopuniTimeByDay", "Godina:" + GodinaDatuma);
                                MessageBox.Show("Završeno!");
                            }
                            else
                            {
                                MessageBox.Show("Već je uneta godina!");
                            }
                        }
                    }
                }
                break;

            //Jovana 02.06.21
            case "ProcesiranjeDnevnogIzvestaja":
                if (MessageBox.Show("Procesiramo dnevni izvestaj za " + Program.imeFirme + " ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    db.RunAJob("dnevni" + Program.imeFirme);
                }
                break;

            case "ProcesiranjeBrutoBilansa":
                if (MessageBox.Show("Procesiramo bruto bilans za " + Program.imeFirme + " ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    db.RunAJob("BrutoBilansZa" + Program.imeFirme);
                }
                break;

            case "SpisakDokumenata":
                mdi.ShowNewForm(" ", 1, "SpisakDokumenata", 1, "", "", "I", "", "");     //SpisakDokumenata
                break;

            case "ZatvaranjeStanjaPoLotu":
                if (!mdi.DalijevecOtvoren("", "", "ZatvaranjeStanjaPoLotu"))
                {
                    clsZatvaranjeIOtvaranjeStanja c = new clsZatvaranjeIOtvaranjeStanja();
                    bool pom = c.ObradiZahtev("DA");
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Nije uspelo zatvaranje stanja po lot-u!");
                    }
                }
                break;

            case "PocetakGodine":
                if (!mdi.DalijevecOtvoren("", "", "PocetakGodine"))
                {
                    clsZatvaranjeIOtvaranjeStanja c1 = new clsZatvaranjeIOtvaranjeStanja();
                    bool pom = c1.ObradiZahtev("NE");
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Neuspešno!");
                    }
                }
                break;

            //Djora 21.04.21
            case "Najcesci":
                break;

            case "UsaglasavanjeRobeIFinansija":
                if (!mdi.DalijevecOtvoren("", "", "UsaglasavanjeRobeIFinansija"))
                {
                    clsKorekcija k   = new clsKorekcija();
                    bool         pom = k.ObradiZahtev();
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Nije uspelo usaglašavanje robe i finansija!");
                    }
                }
                break;
                //case "Dozvole":
                //    ShowNewForm(" ", 1, "Dozvole", 1, "", "", "P", "", "");
                //    break;
                //default:
                //    break;
            }
        }
        public void ObradiNalogAutomatski()
        {
            // UPISIVANJE NALOGA GLAVNE KNJGE U DOKUMENTA
            Form forma = new Form();

            forma       = Program.Parent.ActiveMdiChild;
            BrDokZaKnj  = forma.Controls["lBrDok"].Text.ToString();
            idDokStablo = Convert.ToInt32(forma.Controls["lidstablo"].Text);

            //Jovana 30.06.21
            // Ne moze knjiziti autor dokumenta
            sql = "select uuser from dokumenta where BrojDokumenta =@param0";
            DataTable t = db.ParamsQueryDT(sql, BrDokZaKnj);

            if (t.Rows.Count > 0)
            {
                if (Convert.ToInt32(t.Rows[0]["uuser"]) == Program.idkadar)
                {
                    MessageBox.Show("Knjizenje ne moze vrsiti autor !");
                    return;
                }
            }

            //ODREDJIVANJE Id DOKUMENTA ZA KNJIZENJE i ID_DokumenStablo
            string IdDokZaKnj = forma.Controls["liddok"].Text.ToString();  /////ef.DajVrednostPropertija(forma, "iddokumenta");

            //long IdStabloZaKnjizenje = Convert.ToInt64(ef.DajVrednostPropertija(activeChild, "IDDokStablo"));
            // Jovana 05.10.21 promenila upite na parametarske
            sql = "select id_dokumentaTotali,dokument,ID_DokumentaStablo,Rb,datum from dokumentaTotali WITH(NOLOCK) where id_dokumentaTotali =@param0";
            t   = db.ParamsQueryDT(sql, IdDokZaKnj);
            if (t.Rows.Count == 0)
            {
                return;
            }

            IdStabloZaKnjizenje = Convert.ToInt32(t.Rows[0]["ID_DokumentaStablo"]);
            RedniBrZaKnjizenje  = Convert.ToInt64(t.Rows[0]["RB"]);

            opis = IdStabloZaKnjizenje.ToString() + "-" + RedniBrZaKnjizenje.ToString();

            IdStabloZaKnjizenje = 29;
            NazivDokumenta      = forma.Controls["limedok"].Text; // t.Rows[0]["Dokument"].ToString();
            //strParams =  "@param1='" +NazivDokumenta  + "`";
            sql = "SELECT UlazniIzlazni as NazivKlona from SifarnikDokumenta where Naziv=@param0";

            t = db.ParamsQueryDT(sql, NazivDokumenta);

            NazivKlona = t.Rows[0]["NazivKlona"].ToString();
            dtm        = DateTime.Today; // danasnji dan

            string Datum = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Datum").Vrednost;

            //datum naloga da je datum dokumenta! ISKORISTITI PODATAK Program.datumk
            if (dtm < Convert.ToDateTime("01.03." + dtm.Year.ToString().Substring(2)) & dtm.Year != Convert.ToDateTime(Datum).Year)
            {
                dtm = Convert.ToDateTime(Datum);
            }

            //PROVERA DA LI JE VEC PROKNJIZEN NEKIM DRUGIM NALOGOM
            sql = " select ID_DokumentaView,ID_OpisTransakcijeView,BrojDokumenta "
                  + " from NalogGlavneKnjigeStavke WITH(NOLOCK),Dokumenta WITH(NOLOCK) "
                  + " where ID_Dokumenta= ID_DokumentaView and ID_DokumentZaKnj = @param0";
            t = db.ParamsQueryDT(sql, IdDokZaKnj);
            if (t.Rows.Count > 0)
            {
                MessageBox.Show("Dokument je vec proknjizen nalogom -> " + t.Rows[0]["BrojDokumenta"]);
                return;
            }
            //PROVERA ZA IZVOD DA LI SE SLAZU UNESENI I DNEVNI PROMET
            if (NazivDokumenta == "Izvod")
            {
                sql = "Select Distinct SumaIsplate,DPDuguje,SumaUplate,DPPotrazuje from IzvodTotali WHERE ID_IzvodTotali=@param0";
                t   = db.ParamsQueryDT(sql, IdDokZaKnj);

                if (t.Rows[0]["SumaIsplate"] != t.Rows[0]["DPDuguje"] || t.Rows[0]["SumaUplate"] != t.Rows[0]["DPPotrazuje"])
                {
                    MessageBox.Show("Ne slazu se dnevni i uneseni promet Izvod se ne moze knjiziti ISPAVITE!!!! ");
                    return;
                }
            }
            //PROVERA ZA NALOGZADORADU DA LI SE SLAZU KOLICINA ZA PAKOVANJE SA ZAPAKOVANIM KOLICINAMA
            if (NazivDokumenta == "LotNalogZaDoradu")
            {
                sql = " Select Distinct SumaKolicina as sk,SumaKolicinaSirovine as sks "
                      + " from LotNalogZaPoluProizvodTotali "
                      + " WHERE ID_LotNalogZaPoluProizvodTotali=@param0";

                t = db.ParamsQueryDT(sql, IdDokZaKnj);

                if (Convert.ToDecimal(t.Rows[0]["sk"]) != Convert.ToDecimal(t.Rows[0]["sks"]))
                {
                    MessageBox.Show("Ne slazu se sume kolicina dokument se ne moze knjiziti ISPAVITE!!!! ");
                    return;
                }
            }

            //DODELJIVANJE Id TRANSAKCIJE(biranje seme knjizenja)
            if (NazivDokumenta == "FinansijskiInterniNalog" || NazivDokumenta == "PDVIzvestajOKnjizenju")
            {
                sql = "select ID_DokumentaView from OpisTransakcije WITH(NOLOCK) where OpisTransakcije not like '%ispravka%' and Tabela = '" + NazivDokumenta + "' order by ID_DokumentaView  ";
            }
            else
            {
                if (NazivKlona == "PreknjizavanjeKonta")
                {
                    // Jovana 05.10.21 bilo je NazivDokumenta.Substring(1, 3)
                    sql = " select ID_DokumentaView from OpisTransakcije  WITH(NOLOCK) where OpisTransakcije not like '%ispravka%' "
                          + " and Tabela ='" + NazivKlona + "' and opistransakcije like'%" + NazivDokumenta.Substring(1, 3) + "%' order by ID_DokumentaView desc ";
                }
                else
                {
                    sql = "select ID_DokumentaView from OpisTransakcije  WITH(NOLOCK) where OpisTransakcije not like '%ispravka%' and Tabela ='" + NazivDokumenta + "' order by ID_DokumentaView desc ";
                }
            }
            t = db.ReturnDataTable(sql);
            if (t.Rows.Count > 0)
            {
                //ID transakcije
                IdTrans = t.Rows[0]["ID_DokumentaView"].ToString();
            }
            else
            {
                sql = " select ID_DokumentaView from OpisTransakcije  WITH(NOLOCK) where OpisTransakcije not like '%ispravka%' "
                      + " and Tabela =@param0 order by ID_DokumentaView desc ";
                t = db.ParamsQueryDT(sql, NazivKlona);
                if (t.Rows.Count > 0)
                {
                    //ID transakcije
                    IdTrans = t.Rows[0]["ID_DokumentaView"].ToString();
                }
                else
                {
                    MessageBox.Show("Nije definisana transakcija za " + NazivDokumenta);
                    return;
                }
            }

            int IdDokView;
            clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();

            // Jovana 03.12.21 -
            //IdDokView = os.UpisiDokument(ref BrojDok, opis, 29, Datum.ToString());
            IdDokView = os.UpisiDokument(ref BrojDok, opis, 29, dtm.ToString());
            //Totali za Dokumenta sa ID_Dokumenta = idDokView   izvrsava se u  FUNKCIJI UpisiDokument

            UpisiUNalog(IdDokView);
            UpisiUStavke(IdDokView, IdDokZaKnj);
            ObradiBB(BrDokZaKnj, IdDokView);
            string Poruka = "";

            //provera ispravnostinaloga
            Poruka = DovrsiObradu(IdDokZaKnj);

//Izvrsenje totala za Dokument koji knjizimo
            db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + IdDokZaKnj);

            if (Poruka.Trim() != "") /// razmisliti
            {
                MessageBox.Show(Poruka);
                deleteGlavnaKnjiga(IdDokZaKnj);
            }
            else
            {
                MessageBox.Show("Za dokument: " + BrDokZaKnj.Trim() + " Broj naloga je: " + (BrojDok).Trim());
            }
            //ivana 7.10.2021.
            clsProveraDozvola pd = new clsProveraDozvola();

            //ivana 11.10.2021. umesto idDokStablo stavila sam IdDokZaKnj
            pd.ProveriDozvole(NazivDokumenta, idDokStablo.ToString(), IdDokZaKnj.ToString(), "D");
        } // kraj obradi nalog automatski
        //Djora 22.10.20
        public string KreirajDokument(string pDatum, string pBrdok)
        {
            //Dobiti kao parametar
            string datum = pDatum; //"22.10.20";
            string brdok = pBrdok; // "1446-456-898/20-20";

            int ParRb = 0;

            clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();
            string brojDok = os.KreirajBrDokNovi(ref ParRb, datum, 503, "UNOS");

            string          strTabela   = "Dokumenta";
            string          strParams   = "";
            List <string[]> lista       = new List <string[]>();
            string          dokType     = "";
            string          str         = "";
            string          rezultat    = "";
            string          Proknjizeno = "";

            string[] sp    = brojDok.Split('-');
            string   RedBr = sp[1];

            int newID = 0;

            DataBaseBroker db = new DataBaseBroker();

            clsMesecPoreza mp          = new clsMesecPoreza();
            int            mesecporeza = mp.ObradiMesecPoreza(datum);

            dokType    = "D";
            strParams  = "";
            strParams  = "@param1=" + Program.idkadar.ToString() + "`";
            strParams += "@param2=1" + "`";
            strParams += "@param3=503" + "`";
            strParams += "@param4=" + brojDok + "`";
            strParams += "@param5=" + datum + "`";
            strParams += "@param6=" + brdok + "`";
            strParams += "@param7=NijeProknjizeno" + "`";
            strParams += "@param8=" + RedBr + "`";
            strParams += "@param9=1" + "`";
            strParams += "@param10=" + Program.idOrgDeo.ToString() + "`";
            strParams += "@param11=" + Program.idkadar.ToString() + "`";
            strParams += "@param12=" + mesecporeza + "`";

            str  = "Insert Into Dokumenta ([ID_KadrovskaEvidencija], [ID_Predhodni], [id_dokumentaStablo], [BrojDokumenta], [datum], [opis], [Proknjizeno], [RedniBroj], [ID_LikvidacijaDokumenta], [ID_OrganizacionaStrukturaView], [uuser], [mesecporeza])";
            str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12)";
            lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
            lista.ToArray();

            dokType   = "D";
            strParams = "";
            str       = "Execute TotaliZaDokument 'Dokumenta'," + "'tttt'";
            lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
            lista.ToArray();

            rezultat = db.ReturnSqlTransactionParamsFull(lista);

            //if (rezultat != "")
            //    if (co.IsNumeric(rezultat.Trim()) == true)
            //        newID = Convert.ToInt32(rezultat);
            //    else
            //        MessageBox.Show("Greaka kod upisa Dokumenta za: " + NazivDokumenta + "!!");
            //return (newID);

            return(rezultat);
        }
        private void writeFrom(Form forma, string dokument, string iddok, string DokumentJe)
        {
            string Uslov = "";
            string tUpit = "";

            string[] separators = new[] { "," };


            string selu = " SELECT Upit,ime  FROM dbo.Upiti  WHERE(NazivDokumenta = @param0" + ")";

            selu += " AND Ime LIKE N'ggrr%'  AND (TUD = 0)";
            DataTable tt = db.ParamsQueryDT(selu, dokument);

            for (int i = 0; i < tt.Rows.Count; i++)
            {
                string KojiSegment = tt.Rows[i]["ime"].ToString();
                KojiSegment = KojiSegment.Substring(4, KojiSegment.Length - 4);
                string mUpit = tt.Rows[i]["Upit"].ToString();

                if (DokumentJe == "I")
                {
                    Uslov = Program.WWhere;
                    clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();
                    string res = os.DodajRestrikcije(dokument, "0");

                    if (res.Trim() != "")
                    {
                        Uslov += " AND " + res;
                    }
                    mUpit += Uslov;
                    tUpit  = mUpit;
                }
                else
                {
                    tUpit = CreateQuery(mUpit, KojiSegment, iddok, dokument, DokumentJe);
                }

                Console.WriteLine(tUpit);
                DataTable dt = db.ReturnDataTable(tUpit);
                if (dt.Rows.Count > 0)
                {
                    for (int k = 0; k < dt.Columns.Count; k++)
                    {
                        Console.WriteLine(dt.Columns[k].ColumnName.ToUpper().ToString());
                        if (dt.Columns[k].ColumnName.ToUpper().ToString().Contains("ID_") == false)
                        {
                            Field ctrls = (Field)forma.Controls[dt.Columns[k].ColumnName];

                            //Field ctrls = forma.Controls.OfType<Field>().FirstOrDefault(n => n.IME == dt.Columns[k].ColumnName.ToString());
                            if (ctrls != null)
                            {
                                //Djora 16.07.21  poc -------------------------------------
                                if (DokumentJe == "I")
                                {
                                    //Jovana 03.08.21

                                    //Djora 16.07.21
                                    if (ctrls.cIzborno != "")
                                    {
                                    }
                                    else
                                    {
                                        ctrls.Vrednost = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                    }
                                    // Jovana 03.08.21
                                    if (ctrls.Vrednost != "")
                                    {
                                        switch (ctrls.VrstaKontrole)
                                        {
                                        case "tekst":
                                            clsFormInitialisation fi = new clsFormInitialisation();
                                            ctrls.textBox.Text = fi.FormatirajPolje(ctrls.Vrednost, ctrls.cTip);
                                            break;

                                        case "datum":
                                            ctrls.dtp.Text = string.Format("{0:dd.MM.yy}", ctrls.Vrednost.ToString());
                                            break;

                                        case "combo":
                                            ctrls.comboBox.Text = ctrls.Vrednost.ToString();
                                            break;
                                        }
                                    }
                                }
                                else
                                {
                                    //Djora 16.07.21  kraj -------------------------------------
                                    ctrls.ID       = "1";
                                    ctrls.Vrednost = dt.Rows[0][dt.Columns[k].ColumnName].ToString();

                                    switch (ctrls.VrstaKontrole)
                                    {
                                    case "tekst":
                                        if (ctrls.IME == "BrDok")
                                        {
                                            forma.Controls["lBrDok"].Text = ctrls.Vrednost;
                                        }
                                        string sadrzaj           = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                        clsFormInitialisation fi = new clsFormInitialisation();
                                        ctrls.textBox.Text = fi.FormatirajPolje(sadrzaj, ctrls.cTip);


                                        if (dokument == "IzlazniJCI")
                                        {
                                            Console.WriteLine(dt.Rows[0][dt.Columns[k].ColumnName].ToString());
                                            if (dt.Columns[k].ColumnName.ToString() == "DatumIstupa" && (string.IsNullOrEmpty(dt.Rows[0][dt.Columns[k].ColumnName].ToString())))
                                            {
                                                break;
                                            }
                                            else
                                            {
                                                if (dt.Columns[k].ColumnName.ToString() == "DatumIstupa")
                                                {
                                                    DateTime mdat = Convert.ToDateTime(dt.Rows[0][dt.Columns[k].ColumnName].ToString());
                                                    ctrls.textBox.Text = mdat.ToString("dd.MM.yy");
                                                }
                                                //Jovana 16.04.21 - ne treba mi ovo ispod
                                                //else
                                                //    ctrls.textBox.Text = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                            }
                                        }
                                        break;

                                    case "datum":
                                        ctrls.dtp.Text = string.Format("{0:dd.MM.yy}", dt.Rows[0][dt.Columns[k].ColumnName].ToString());
                                        if (ctrls.IME == "Datum")
                                        {
                                            forma.Controls["lDatum"].Text = ctrls.dtp.Text;
                                        }
                                        break;

                                    case "combo":
                                        //ivana 24.12.2020.
                                        if (ctrls.IME.Contains("NazivSkl"))
                                        {
                                            // jovana 13.01.21
                                            if (ctrls.IME.Length == 8)
                                            {
                                                ((Bankom.frmChield)forma).NazivSkladista = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                            }
                                            else if (ctrls.IME.Substring(8) == ((Bankom.frmChield)forma).nastavakSkladista1)
                                            {
                                                ((Bankom.frmChield)forma).NazivSkladista1 = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                            }
                                            else
                                            {
                                                ((Bankom.frmChield)forma).NazivSkladista2 = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                            }
                                        }
                                        ctrls.comboBox.Text = dt.Rows[0][dt.Columns[k].ColumnName].ToString();
                                        string kojiid;
                                        kojiid = "ID_" + ctrls.cAlijasTabele;
                                        for (int kk = 0; kk <= dt.Columns.Count - 1; kk++)
                                        {
                                            if (dt.Columns[kk].ColumnName.ToString() == kojiid)
                                            {
                                                string ccc = dt.Rows[0][dt.Columns[kk].ColumnName].ToString();
                                                ctrls.ID = dt.Rows[0][dt.Columns[kk].ColumnName].ToString();
                                                break;
                                            }
                                        }

                                        break;

                                    case "cek":
                                        if (dt.Rows[0][dt.Columns[k].ColumnName].ToString() == "1")
                                        {
                                            ctrls.cekboks.Checked = true;
                                        }
                                        else
                                        {
                                            ctrls.cekboks.Checked = false;
                                        }
                                        break;
                                    }
                                    //Djora 16.07.21
                                }
                            }
                        }
                    }
                }
                else
                {
                    foreach (var ctrls in forma.Controls.OfType <Field>().Where(g => String.Equals(g.cSegment, KojiSegment)))
                    {
                        // Jovana 09.11.21
                        //ctrls.ID = "1";
                        switch (ctrls.VrstaKontrole)
                        {
                        case "tekst":
                            // Jovana 09.11.21
                            ctrls.ID = "1";
                            if (ctrls.IME == "BrDok")
                            {
                                ctrls.Text         = ((Bankom.frmChield)forma).brdok;
                                ctrls.Vrednost     = ctrls.Text;
                                ctrls.textBox.Text = ctrls.Text;
                            }
                            break;

                        case "datum":
                            // Jovana 09.11.21
                            ctrls.ID = "1";
                            if (ctrls.IME == "Datum")
                            {
                                ctrls.dtp.Text = ((Bankom.frmChield)forma).datum;
                                //zajedno 15.6.2021.
                                if (ctrls.dtp.Text.Trim() != "")
                                {
                                    ctrls.dtp.Value = Convert.ToDateTime(ctrls.dtp.Text);
                                }
                                else
                                {
                                    ctrls.dtp.Value = DateTime.Today;
                                }
                            }
                            break;

                        case "cek":
                            // Jovana 09.11.21
                            ctrls.ID = "1";
                            break;
                        }
                    }
                }
            }
        }
        public string PrepisiNaloge(string DatumP, string KojiRacun)
        {
            PNHALKOMZ1   NZ1      = new PNHALKOMZ1();
            PNHALKOMZ2   NZ2      = new PNHALKOMZ2();
            PNHALKOMZ    NZ       = new PNHALKOMZ();
            clsOperacije cop      = new clsOperacije();
            DataTable    rspromet = new DataTable();
            DataTable    rsp      = new DataTable();
            int          pbanka   = 0;
            int          Rr       = 0;
            FileStream   fs;// = new FileStream();

            //Dim fs, fs1
            string                     red       = "";
            string                     kb        = "";
            string                     mr        = "";
            int                        NRB       = 0;
            int                        BrNal     = 0;
            string                     NBanke    = "";
            string                     Datoteka  = "";
            string                     str       = "";
            int                        IdDokView = 1;
            List <string[]>            lista     = new List <string[]>();
            clsObradaOsnovnihSifarnika coos      = new clsObradaOsnovnihSifarnika();

            str      = db.ReturnString("select getdate()", 0);
            str      = "Select * from BankaView where Replace(NazivRacuna" + ", '-', '')" + " = '" + KojiRacun + "'";
            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows.Count > 0)
            {
                pbanka = (int)rspromet.Rows[0]["ID_BankaView"];
            }
            else
            {
                MessageBox.Show("Pogrešan broj tekućeg računa!");
                return("");
            }
            int trazi = rspromet.Rows[0]["NazivBanke"].ToString().IndexOf(" ") - 1;

            //ivana 16.6.2021.
            //NBanke = rspromet.Rows[0]["NazivBanke"].ToString().Substring(0, trazi);
            NBanke = rspromet.Rows[0]["NazivBanke"].ToString();
            rspromet.Dispose();



            str      = " Select Max(RBPrenosa) As M from PlacanjaNaplate Where ID_BankaView =" + pbanka.ToString() + " and FORMAT (datum,'dd.MM.yy')='" + DatumP + "' and PrenesenoZaPlacanje=1 and OznakaKnjizenja='10'";
            rspromet = db.ReturnDataTable(str);
            if (rspromet.Rows.Count > 0)
            {
                NRB = 1;
            }
            else
            {
                NRB = (int)rspromet.Rows[0]["m"] + 1;
            }

            long Ukupno     = 0;
            int  BrojNaloga = 0;

            BrojNaloga = 1;

            str      = "Select Count(*) as BrNaloga,Sum(isplate) as Ukupno from NaloziZaPlacanjeView Where ID_BankaView=" + pbanka.ToString();
            str     += " and  FORMAT (datum,'dd.MM.yy')='" + DatumP + "' and OznakaKnjizenja='10'";
            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows[0]["Ukupno"] == null)
            {
                MessageBox.Show("Ne postoje nepreneseni nalozi!");
                return("");
            }
            //PutanjaPlacanja = cop.CitajIniFajl("LOGOVANJE", "PutanjaPlacanja");
            str = DateTime.Parse(DateTime.Now.ToString("dd.MM.yy")).ToString().Substring(0, 8);

            //Datoteka = PutanjaPlacanja  + "placanje" + NBanke.Trim() + DateTime.Parse(DateTime.Now.ToString("dd.MM.yy")).ToString().Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            //Datoteka = @"c:\tempxml\" + "placanje" + NBanke.Trim() + str.Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            string datum = DateTime.Now.ToString("dd.MM.yy").Replace(".", "");

            //ivana 3.11.2021.
            //Datoteka =  @"\\Sql2016\d\PlacanjaUplate\"+ "Ivanaplacanje" + NBanke.Replace(" ", "") + datum + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            Datoteka = @"\\" + LoginForm.FileServer + @"\d\PlacanjaUplate\" + NBanke.Trim() + str.Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";

            Rr = 1;
            //Jovana 15.06.21
            NZ1.TekuciRacunKomitenta = coos.FormatirajRacun(KojiRacun);
            //Jovana 11.06.21
            NZ1.Naziv       = ToFixedLength(Program.imeFirme + " d.o.o", NZ1.Naziv.Length);
            NZ1.Mesto       = ToFixedLength("Beograd", NZ1.Mesto.Length);
            NZ1.DatumValute = DatumP.Replace(".", "");
            //NZ1.Prazno = " ";
            NZ1.text      = ToFixedLength("MULTI E-BANK", NZ1.text.Length);
            NZ1.TipStavke = ToFixedLength("0", NZ1.TipStavke.Length);

            Rr = 1;

            red = NZ1.TekuciRacunKomitenta + NZ1.Naziv + NZ1.Mesto + NZ1.DatumValute + NZ1.Prazno + NZ1.text + NZ1.TipStavke;

            //byte[] info = new UTF8Encoding(true).GetBytes(red);
            //fs1.Write(info, 0, info.Length);
            //fs1.Close();



            // 'red sa zbirnom stavkom
            //Rr = 2
            NZ2.TekuciRacunKomitenta = coos.FormatirajRacun(KojiRacun);
            NZ2.Naziv = ToFixedLength(Program.imeFirme.ToUpper() + " d.o.o", NZ2.Naziv.Length);
            NZ2.Mesto = ToFixedLength("Beograd", NZ2.Mesto.Length);
            //NZ2.ZbirIznosaSvihNaloga = Replace(Ukupno.ToString("0000000000000.00"), ",", "");
            NZ2.ZbirIznosaSvihNaloga       = ToFixedLength(Ukupno.ToString("0000000000000.00").Replace(",", ""), NZ2.ZbirIznosaSvihNaloga.Length);
            NZ2.BrojPlatnihNalogaUDatoteci = ToFixedLength(BrojNaloga.ToString("00000"), NZ2.BrojPlatnihNalogaUDatoteci.Length);
            //NZ2.Prazno = " ";
            NZ2.TipStavke = "9";


            string red2 = NZ2.TekuciRacunKomitenta + NZ2.Naziv + NZ2.Mesto + NZ2.ZbirIznosaSvihNaloga + NZ2.BrojPlatnihNalogaUDatoteci + NZ2.Prazno + NZ2.TipStavke;

            string[] lines = { red, red2 };
            System.IO.File.WriteAllLines(Datoteka, lines);


            //   datum = convert(datetime, '26.10.18', 4)

            str  = "Select ID_DokumentaView,BrojTekucegRacuna, NazivKom,Mesto,SifraPlacanja,SifrePlacanja,PozivNaBrojDobavljaca,PozivNaBroj,ID_pozivNaBroj ,isplate,Datum,ModelPozivaNaBrojOdobrenja ";
            str += "from NaloziZaPlacanjeView  ";
            str += "Where ID_BankaView=" + pbanka.ToString();
            str += " and   FORMAT (datum,'dd.MM.yy')='" + DatumP + "'   And OznakaKnjizenja='10' Order by iid ";

            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows.Count > 0)
            {
                IdDokView = Convert.ToInt32(rspromet.Rows[0]["ID_DokumentaView"]);
            }
            else
            {
                IdDokView = 1;
            }


            string red3 = "";

            foreach (DataRow row in rspromet.Rows)
            {
                Rr = Rr + 1;

                if (row["BrojTekucegRacuna"].ToString() != "")
                {
                    str = row["BrojTekucegRacuna"].ToString();
                    NZ.TekuciRacunPartnera = coos.FormatirajRacun(str);
                }

                NZ.NazivPrimaoca = ToFixedLength(row["NazivKom"].ToString(), NZ.NazivPrimaoca.Length);
                NZ.MestoPrimaoca = ToFixedLength(row["Mesto"].ToString(), NZ.MestoPrimaoca.Length);
                NZ.PopunjenoSa0  = "0";
                NZ.ModelPozivaNaBrojZaduzenja = ToFixedLength("", NZ.ModelPozivaNaBrojZaduzenja.Length);
                NZ.PozivNaBrojZaduzenja       = ToFixedLength("", NZ.PozivNaBrojZaduzenja.Length);
                NZ.SifraPlacanja = ToFixedLength(row["SifraPlacanja"].ToString(), NZ.SifraPlacanja.Length);
                //ivana 14.6.2021.
                NZ.SvrhaPlacanja = ToFixedLength(row["SifrePlacanja"].ToString(), NZ.SvrhaPlacanja.Length);
                NZ.ModelPozivaNaBrojOdobrenja = ToFixedLength("", NZ.ModelPozivaNaBrojOdobrenja.Length);
                NZ.PozivNaBrojOdobrenja       = ToFixedLength(row["PozivnaBrojDobavljaca"].ToString(), NZ.PozivNaBrojOdobrenja.Length);

                if (row["PozivNaBroj"].ToString().IndexOf("121-") > 0)
                {
                    rsp = db.ReturnDataTable("Select Distinct ID_PDVUlazniJciTotali as Iid,BrDok from PDVUlazniJciTotali where ID_RacunZaPlacanje=" + row["ID_PozivNaBroj"].ToString());
                    if (rsp.Rows.Count > 0)
                    {
                        mr = row["PozivnaBrojDobavljaca"].ToString().Replace("-", "");
                        clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();
                        kb = os.KB_97(mr);

                        NZ.PozivNaBrojOdobrenja       = ToFixedLength(kb.ToString() + "-" + row["PozivnaBrojDobavljaca"].ToString(), NZ.PozivNaBrojOdobrenja.Length);
                        NZ.SifraPlacanja              = "53";
                        NZ.ModelPozivaNaBrojOdobrenja = "97";
                        NZ.SvrhaPlacanja              = ToFixedLength("Uplata tekucih prihoda", NZ.SvrhaPlacanja.Length);
                    }
                }

                if (NZ.SifraPlacanja == "54")
                {
                    NZ.ModelPozivaNaBrojOdobrenja = "97";
                    NZ.SvrhaPlacanja = ToFixedLength("PID-" + Convert.ToDateTime(row["Datum"]).Month.ToString() + "-" + Convert.ToDateTime(row["Datum"]).Year.ToString(), NZ.SvrhaPlacanja.Length);
                }


                if (NZ.SifraPlacanja == "40")
                {
                    NZ.ModelPozivaNaBrojOdobrenja = "97";
                }

                NZ.PopunjenoSa5x0 = "00000";
                NZ.Prazno         = " ";
                NZ.OblikPlacanja  = "2";
                NZ.OblikPlacanja1 = " ";
                NZ.Prazno1        = " ";
                NZ.DatumValute    = DatumP.Replace(".", "");

                NZ.iznos = ToFixedLength(Math.Round(Convert.ToDecimal(row["isplate"]), 2).ToString("00000000000.00").Replace(",", ""), NZ.iznos.Length);

                NZ.TipDokumenta = "0";
                NZ.TipStavke    = "1";


                red3 += NZ.TekuciRacunPartnera + NZ.NazivPrimaoca + NZ.MestoPrimaoca + NZ.PopunjenoSa0 + NZ.ModelPozivaNaBrojZaduzenja + NZ.PozivNaBrojZaduzenja +
                        NZ.SvrhaPlacanja + NZ.PopunjenoSa5x0 + NZ.Prazno + NZ.OblikPlacanja + NZ.SifraPlacanja + NZ.OblikPlacanja1 + NZ.Prazno1 + NZ.iznos +
                        NZ.ModelPozivaNaBrojOdobrenja + NZ.PozivNaBrojOdobrenja + NZ.DatumValute + NZ.TipDokumenta + NZ.TipStavke + "\n";
            }
            string strParams = "";

            strParams  = "@param1=" + pbanka + "`";
            strParams += "@param2=" + IdDokView.ToString() + "`";
            strParams += "@param3=" + 0;

            str  = "Update  PlacanjaNaplate set PrenesenoZaPlacanje=1,RBPrenosa=" + NRB.ToString();
            str += " Where ID_BankaView= @param1 and  ID_DokumentaView=@param2  and PrenesenoZaPlacanje=@param3";

            lista.Add(new string[] { str, strParams });
            lista.ToArray();
            string rezultat = db.ReturnSqlTransactionParams(lista);

            lista.Clear();
            if (rezultat != "")
            {
                MessageBox.Show(rezultat);
            }

            Dictionary <string, string> rezult = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:PripremaZaPlacanje", "IdDokument:" + (int)IdDokView);

            strParams  = "";
            strParams  = "@param1=" + IdDokView + "`";
            strParams += "@param2=" + pbanka;
            str        = "DELETE from PlateAnalitike where ID_DokumentaView=@param1 and ID_BankaView=@param2";
            lista.Add(new string[] { str, strParams });
            lista.ToArray();
            rezultat = db.ReturnSqlTransactionParams(lista);
            lista.Clear();
            if (rezultat != "")
            {
                MessageBox.Show(rezultat);
            }

            //pp = pp + 1

            //string[] lineskraj = { red, red2, red3 };
            //System.IO.File.WriteAllLines(Datoteka, lineskraj);
            // string[] liness = { red3 };
            System.IO.File.AppendAllText(Datoteka, red3);
            if (File.Exists(Datoteka) == false)
            {
                return("");
            }

            return(" ");
        }
        private void PrepisiIzvod(string ulaz)
        {
            int             RedniBroj         = 0;
            string          OOpis             = "";
            string          BrojDok           = "";
            DataTable       prometprepisani   = new DataTable();
            DataTable       rspromet          = new DataTable();
            DataTable       rstStablo         = new DataTable();
            DataTable       rs2               = new DataTable();
            DataTable       rsd               = new DataTable();
            DataTable       rsv               = new DataTable();
            DataTable       rspo              = new DataTable();
            DataTable       rsp               = new DataTable();
            DataTable       rsDokumentaStablo = new DataTable();
            int             pbanka            = 0;
            string          NazivBanke        = "";
            int             BrojIzvoda        = 0;
            int             PKomitent         = 0;
            int             Rr        = 0;
            string          BRD       = "";
            string          str       = "";
            string          pdokument = "";
            string          strParams = "";
            List <string[]> lista     = new List <string[]>();

            char[] separators = { '#' };
            string DatumP     = ulaz.Split(separators)[0];
            string KojiRacun  = ulaz.Split(separators)[1];
            clsObradaOsnovnihSifarnika coos = new clsObradaOsnovnihSifarnika();

            rspromet = db.ReturnDataTable("Select * from BankaView where Replace(NazivRacuna,'-','')='" + coos.FormatirajRacun(KojiRacun) + "'");
            if (rspromet.Rows.Count > 0)
            {
                pbanka     = Convert.ToInt32(rspromet.Rows[0]["ID_BankaView"]);
                NazivBanke = rspromet.Rows[0]["NazivBanke"].ToString();
                PKomitent  = Convert.ToInt32(rspromet.Rows[0]["id_KomitentiView"]);
            }
            else
            {
                MessageBox.Show("Pogrešan broj tekućeg računa!");
                return;
            }

            str  = "SELECT DISTINCT Datum, ID_Blagajna ";
            str += " FROM  IzvodTotali  WHERE ID_Blagajna =" + pbanka.ToString();
            str += " AND  Format(datum,'dd.MM.yy') ='" + DatumP + "' ";

            rspromet = db.ReturnDataTable(str);
            if (rspromet.Rows.Count > 0)
            {
                MessageBox.Show("Već je izvršen prepis izvoda za datum:" + DatumP + " i račun:" + KojiRacun);
                return;
            }
            rspromet.Dispose();



            str      = "Select * from PlacanjaNaplate as pn,Dokumenta as d  ";
            str     += " where  d.ID_Dokumenta=pn.ID_DokumentaView AND ((Isplate>0 and PrenesenoZaPlacanje=1) or Uplate>0 or VrstaSloga='T')";
            str     += " and Format(d.datum,'dd.MM.yy') ='" + DatumP + "' And ID_BankaView=" + pbanka.ToString() + " order by ID_SvrhaPlacanjaView,SvrhaPlacanjaSaIzvoda";
            rspromet = db.ReturnDataTable(str);


            str = db.ReturnString("delete IzvodPrepisi", 0);
            //Jovana 22.06.21
            //prometprepisani = db.ReturnDataTable(" select * from IzvodPrepisi");
            str = "";
            foreach (DataRow row in rspromet.Rows)
            {
                string opis = "";
                strParams  = "";
                strParams  = "@param1=" + row["Datum"].ToString() + "`";
                strParams += "@param2=" + row["ID_BankaView"] + "`";
                strParams += "@param3=" + row["uplate"].ToString().Replace(",", ".") + "`";
                strParams += "@param4=" + row["isplate"].ToString().Replace(",", ".") + "`";
                strParams += "@param5=" + row["OznakaKnjizenja"] + "`";
                strParams += "@param6=" + row["VrstaSloga"] + "`";

                if (Convert.ToInt32(row["ID_PozivNaBroj"]) > 1)
                {
                    str = "Select ID_PDVUlazniJciTotali as Iid  from PDVUlazniJciTotali where ID_RacunZaPlacanje=" + row["ID_PozivNaBroj"].ToString();
                    rsp = db.ReturnDataTable(str);
                    if (rsp.Rows.Count > 0)
                    {
                        row["ID_PozivNaBroj"] = rsp.Rows[0]["iid"];
                    }
                }
                strParams += "@param7=" + row["ID_PozivNaBroj"] + "`";
                strParams += "@param8=" + row["id_KomitentiView"] + "`";
                strParams += "@param9=" + row["ID_SvrhaplacanjaView"] + "`";
                strParams += "@param10=" + row["StariSaldo"].ToString().Replace(",", ".") + "`";
                strParams += "@param11=" + row["NoviSaldo"].ToString().Replace(",", ".") + "`";
                strParams += "@param12=" + row["BrojIzvoda"] + "`";
                strParams += "@param13=" + row["OblikPlacanja"] + "`";
                //Jovana 23.06.21
                //opis = row["opis"].ToString();
                opis = "";
                if (row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("DOZ") > -1 ||
                    row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("AKREDIT") > -1)
                {
                    if (row["SvrhaPlacanjaSaIzvoda"].ToString().Length > 17)
                    {
                        opis = row["SvrhaPlacanjaSaIzvoda"].ToString().Substring(17);
                    }
                    else
                    {
                        opis = row["SvrhaPlacanjaSaIzvoda"].ToString();
                    }
                }


                if (row["OblikPlacanja"].ToString().Length == 16)
                {
                    opis = row["PozivNaBrojSaIzvoda"].ToString();
                }

                if (Convert.ToInt32(row["ID_Svrhaplacanjaview"]) == 752)
                {
                    opis = row["SvrhaPlacanjaSaIzvoda"].ToString();
                }

                strParams += "@param14=" + opis + "`";
                strParams += "@param15=" + Program.idkadar;


                str  = " Insert into IzvodPrepisi ( ";
                str += " [Datum],[ID_BankaView],[uplate],[isplate],[OznakaKnjizenja],"; //5
                str += "[VrstaSloga],[ID_PozivNaBroj],";                                //2
                str += "[id_KomitentiView],[ID_SvrhaPlacanja],[StariSaldo],";           // 3
                str += "[NoviSaldo],[BrojIzvoda],[OblikPlacanja],[opis],[uuser] ) ";    //5
                str += " values(@param1,@param2,@param3 ,@param4,";
                str += " @param5,@param6,@param7,";
                str += " @param8 ,@param9,@param10,";
                str += " @param11,@param12,@param13 ,@param14,@param15 ) ";
                lista.Add(new string[] { str, strParams });
                /////...
                lista.ToArray();
            }
            string rezultat = db.ReturnSqlTransactionParams(lista);

            lista.Clear();
            if (rezultat != "")
            {
                MessageBox.Show(rezultat); return;
            }

            str  = "";
            str  = " Select NazivBanke,BrojIzvoda  ";
            str += " from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView And p.VrstaSloga='T' ";
            prometprepisani.Clear();
            prometprepisani = db.ReturnDataTable(str);

            if (prometprepisani.Rows.Count > 0)
            {
                BrojIzvoda = Convert.ToInt32(prometprepisani.Rows[0]["BrojIzvoda"]);
            }
            pdokument         = "Izvod";
            str               = " SELECT * From DokumentaStablo where Naziv = '" + pdokument + "'";
            rsDokumentaStablo = db.ReturnDataTable(str);

            if (rsDokumentaStablo.Rows.Count > 0)
            {
                IdDokumentaStablo = Convert.ToInt32(rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"]);
            }
            else
            {
                MessageBox.Show("Nije registrovan dokument " + pdokument + "!");
                return;
            }
            //  clsXmlPlacanja cx = new clsXmlPlacanja();
            // BrojDok = cx.KreirajBrDokNovi(pdokument, RedniBroj, DatumP, Program.idOrgDeo, Program.idkadar, IdDokumentaStablo);
            if (NazivBanke.ToUpper().Contains("INTESA") == true)
            {
                OOpis = pdokument + " INTESA " + BrojIzvoda.ToString();
            }
            else
            {
                OOpis = pdokument + " " + NazivBanke.Substring(0, NazivBanke.IndexOf(" ")) + " " + BrojIzvoda.ToString();
            }



            //DateTime dt = Convert.ToDateTime(DatumP);
            //string mesec = Convert.ToString(dt.Month);

            //strParams = "";
            //strParams = "@param1=" + RedniBroj + "`";
            //strParams += "@param2=" + Program.idkadar + "`";
            //strParams += "@param3=" + IdDokumentaStablo + "`";
            //strParams += "@param4=" + BrojDok + "`";
            //strParams += "@param5=" + DatumP.ToString() + "`";
            //strParams += "@param6=" + OOpis + "`";
            //strParams += "@param7=" + Program.idOrgDeo + "`";
            //strParams += "@param8=" + "NijeProknjizeno" + "`";
            //strParams += "@param9=" + mesec;



            //str = "insert into Dokumenta(RedniBroj, ID_KadrovskaEvidencija,";
            //str += " ID_DokumentaStablo, BrojDokumenta, Datum, Opis,";
            //str += " ID_OrganizacionaStrukturaView,Proknjizeno,MesecPoreza)";
            //str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)";
            //lista.Clear();
            //lista.Add(new string[] { str, strParams });
            //lista.ToArray();
            //rezultat = db.ReturnSqlTransactionParams(lista);
            //if (rezultat != "") { MessageBox.Show(rezultat); return; }
            //lista.Clear();

            //str = "";
            //str = "select id_dokumenta from dokumenta where BrojDokumenta = '" + BrojDok.ToString() + "'";
            //rsd.Clear();
            //rsd = db.ReturnDataTable(str);
            //IdDokView = Convert.ToInt32(rsd.Rows[0]["Id_Dokumenta"]);

            // zaglavlje
            // rs2 = db.ReturnDataTable("SELECT * FROM Izvod Where ID_DokumentaView=1");
            prometprepisani.Clear();
            prometprepisani = db.ReturnDataTable(" Select *  from IzvodPrepisi as p Where  p.VrstaSloga='T' ");

            str       = "";
            strParams = "";

            if (prometprepisani.Rows.Count > 0)
            {
                strParams += "@param1=" + prometprepisani.Rows[0]["StariSaldo"].ToString().Replace(",", ".") + "`";
                strParams += "@param2=" + prometprepisani.Rows[0]["NoviSaldo"].ToString().Replace(",", ".") + "`";
                strParams += "@param3=" + prometprepisani.Rows[0]["isplate"].ToString().Replace(",", ".") + "`";
                strParams += "@param4=" + prometprepisani.Rows[0]["uplate"].ToString().Replace(",", ".") + "`";
                strParams += "@param5=" + prometprepisani.Rows[0]["BrojIzvoda"] + "`";
            }
            else
            {
                // Jovana 23.11.21
                //MessageBox.Show("Niste preuzeli izvod!");
                //return;
            }
            //Jovana 25.06.21 premestila da se dokument ne upisuje u izvod ako ne postoje slogovi
            clsObradaOsnovnihSifarnika cs = new clsObradaOsnovnihSifarnika();

            IdDokumentaStablo = (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"];
            BrojDok           = ""; //// cs.KreirajBrDokNovi(ref RedniBroj, DatumP, (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"], "");
            int IdDokview = cs.UpisiDokument(ref BrojDok, OOpis, IdDokumentaStablo, DatumP);


            //Jovana 21.06.21
            strParams += "@param6=" + IdDokview + "`";
            strParams += "@param7=" + pbanka + "`";
            strParams += "@param8=" + DatumP + "`";
            strParams += "@param9=" + Program.idkadar;



            char[]   izbor  = { '=' };
            string[] izbor2 = strParams.Split(izbor);

            switch (izbor2.Length)
            {
            case 10:

                str  = " INSERT INTO[dbo].[Izvod] ";
                str += "([KumulativnoDuguje],[KumulativnoPotrazuje],[DPDuguje],[DPPotrazuje],[BrojIzvoda],";
                str += "[ID_DokumentaView],[id_Blagajna],[Datum],[uuser])";
                str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)";
                break;

            default:
                strParams = "";
                // Jovana 23.11.21
                //strParams += "@param1=" + prometprepisani.Rows[0]["IdDokView"] + "`";
                //strParams += "@param2=" + prometprepisani.Rows[0]["pbanka"] + "`";
                strParams += "@param1=" + IdDokview + "`";
                strParams += "@param2=" + pbanka + "`";
                strParams += "@param3=" + DatumP + "`";
                strParams += "@param4=" + Program.idkadar;
                str        = " INSERT INTO[dbo].[Izvod] ";
                str       += "([ID_DokumentaView],[id_Blagajna],[Datum],[uuser])";
                str       += " values(@param1,@param2,@param3,@param4)";
                break;
            }

            lista.Clear();
            lista.Add(new string[] { str, strParams });
            lista.ToArray();
            rezultat = db.ReturnSqlTransactionParams(lista);
            if (rezultat != "")
            {
                MessageBox.Show(rezultat); return;
            }
            lista.Clear();


            //' kraj zaglavlje
            ///////////////////////
            str  = "";
            str  = " Select p.*  from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView ";
            str += " And p.VrstaSloga<>'T' and ID_SvrhaPlacanja <> 752";
            prometprepisani.Clear();

            prometprepisani = db.ReturnDataTable(str);
            //str = "SELECT * FROM IzvodStavke where ID_DokumentaView=1 ";
            //rs2.Clear();
            //rs2 = db.ReturnDataTable(str);

            decimal UkupnoNaknada = 0;

            foreach (DataRow row in prometprepisani.Rows)
            {
                strParams  = "";
                strParams += "@param1=" + IdDokview + "`";
                strParams += "@param2=" + row["id_KomitentiView"] + "`";
                strParams += "@param3=" + row["ID_SvrhaPlacanja"] + "`";
                if (Convert.ToInt32(row["OblikPlacanja"]) == 2)
                {
                    strParams += "@param4=5" + "`";
                }
                else
                {
                    strParams += "@param4=" + row["OblikPlacanja"] + "`";
                }
                strParams += "@param5=" + row["opis"] + "`";
                //Jovana 21.06.21 ne znam zasto je ovo postojalo u vb6?
                //if (Convert.ToInt32(row["OblikPlacanja"]) == 16)
                //{ strParams += "@param5=" + row["opis"] + "`"; }


                strParams += "@param6=" + row["ID_PozivNaBroj"] + "`";
                strParams += "@param7=" + row["uplate"].ToString().Replace(",", ".") + "`";
                strParams += "@param8=" + Math.Round(Convert.ToDecimal(row["isplate"]), 2).ToString().Replace(",", ".") + "`";
                strParams += "@param9=" + Program.idkadar;

                str  = "";
                str  = "INSERT INTO[dbo].[IzvodStavke] ";
                str += " ([ID_DokumentaView],[ID_KomitentiView],[ID_ArtikliView],";
                str += " [ID_NacinPlacanja],[Opis],[ID_PozivNaBroj],[Uplate],[Isplate],[uuser])";
                str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)";
                lista.Add(new string[] { str, strParams });
                lista.ToArray();
            }
            rezultat = db.ReturnSqlTransactionParams(lista);
            if (rezultat != "")
            {
                MessageBox.Show(rezultat); return;
            }
            lista.Clear();
            ///////
            str = "";

            prometprepisani.Clear();
            str             = " Select p.*  from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView ";
            str            += "  And p.VrstaSloga<>'T' and ID_SvrhaPlacanja = 752 order by Opis ";
            prometprepisani = db.ReturnDataTable(str);
            string mopis = "";

            UkupnoNaknada = 0;
            foreach (DataRow row in prometprepisani.Rows)
            {
                if (mopis == "")
                {
                    mopis = row["opis"].ToString();
                }
                if (row["opis"].ToString() != mopis)
                {
                    if (UkupnoNaknada > 0)
                    {
                        strParams  = "";
                        strParams += "@param1=" + IdDokview + "`";
                        strParams += "@param2=" + row["PKomitent"] + "`";
                        strParams += "@param3=752" + "`";
                        strParams += "@param4=5" + "`";
                        strParams += "@param5=1" + "`";
                        strParams += "@param6=0" + "`";
                        strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`";
                        strParams += "@param8=" + Program.idkadar + "`";
                        strParams += "@param9=" + mopis.ToLower() + "`";

                        str  = "INSERT INTO[dbo].[IzvodStavke] ";
                        str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],";
                        str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])";
                        str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)";

                        lista.Clear();
                        lista.Add(new string[] { str, strParams });
                        lista.ToArray();
                        rezultat = db.ReturnSqlTransactionParams(lista);
                        if (rezultat != "")
                        {
                            MessageBox.Show(rezultat); return;
                        }
                        lista.Clear();
                    }
                    mopis         = row["opis"].ToString();
                    UkupnoNaknada = 0;
                }
                UkupnoNaknada = UkupnoNaknada + Convert.ToInt32(row["isplate"]);
            }

            if (UkupnoNaknada > 0)
            {
                strParams  = "";
                strParams += "@param1=" + IdDokview + "`";
                strParams += "@param2=" + PKomitent + "`";
                strParams += "@param3=752" + "`";
                strParams += "@param4=5" + "`";
                strParams += "@param5=1" + "`";
                strParams += "@param6=0" + "`";
                strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`";
                strParams += "@param8=" + Program.idkadar + "`";
                strParams += "@param9=" + mopis.ToLower() + "`";

                str  = "[IzvodStavke] ";
                str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],";
                str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])";
                str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)";

                lista.Clear();
                lista.Add(new string[] { str, strParams });
                lista.ToArray();
                rezultat = db.ReturnSqlTransactionParams(lista);
                if (rezultat != "")
                {
                    MessageBox.Show(rezultat); return;
                }
                lista.Clear();
            }
            Dictionary <string, string> rezult  = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + (int)IdDokview);
            Dictionary <string, string> rezult2 = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + pdokument, "IdDokument:" + (int)IdDokview);
        }
        public string  preuzimanjeIzvodaizBanaka()
        {
            string pDatum    = "";
            string pdokument = "";
            string PPrikaz   = "";
            int    RedniBroj = 0;
            string BrojDok   = "";
            string rezultat  = "";
            int    IdDokView = 1;

            List <string[]> lista = new List <string[]>();

            //list.ToArray();

DATUMVREME:
            pDatum = Prompt.ShowDialog(DateTime.Now.ToString("dd.MM.yy"), "Unesite datum za koji preuzimamo izvod", "Preuzimanje uplata od banaka");
            if (pDatum == "")
            {
                return("");
            }

            clsOperacije co = new clsOperacije();

            bool dt = co.IsDateTime(pDatum);

            if (dt == false)
            {
                MessageBox.Show("Nekorektan unos datuma."); goto DATUMVREME;
            }
            int godina = Convert.ToInt32(DateTime.Today.Year.ToString().Substring(2, 2));

            if (Convert.ToInt16(pDatum.Substring(pDatum.Length - 2)) > godina)
            {
                MessageBox.Show("Nekorektan unos datuma."); goto DATUMVREME;
            }
            pdokument = "PrometUplata";
            Dokument  = "PrometUplata";

            DataTable rssifdok = db.ReturnDataTable("select * from SifarnikDokumenta where  naziv='" + pdokument + "'");

            PPrikaz           = rssifdok.Rows[0]["prikaz"].ToString().Trim();
            NacinRegistracije = rssifdok.Rows[0]["NacinRegistracije"].ToString().Trim();
            DokumentJe        = rssifdok.Rows[0]["Vrsta"].ToString().Trim();
            NazivKlona        = rssifdok.Rows[0]["UlazniIzlazni"].ToString().Trim();
            string str = "Select Brdok,datum,ID_DokumentaStablo,ID_DokumentaTotali,Predhodni from DokumentaTotali ";

            str += " where Dokument='" + pdokument + "'" + " AND Format(Datum,'dd.MM.yy')='" + pDatum + "'";
            DataTable ProveraDok = db.ReturnDataTable(str);

            //ivana 17.6.2021.
            if (ProveraDok.Rows.Count == 0)
            {
                str = "SELECT * From DokumentaStablo where  Naziv = '" + pdokument + "'";
                DataTable rsDokumentaStablo = db.ReturnDataTable(str);
                if (rsDokumentaStablo.Rows.Count > 0)
                {
                    IdDokumentaStablo = (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"];
                }
                else
                {
                    MessageBox.Show("Nije registrovan dokument " + pdokument + "!"); return("");
                }

                Naslov = rsDokumentaStablo.Rows[0]["NazivJavni"].ToString();
                string opis = "Uplata na dan " + pDatum;
                clsObradaOsnovnihSifarnika cs = new clsObradaOsnovnihSifarnika();
                IdDokView = cs.UpisiDokument(ref BrojDok, opis, IdDokumentaStablo, pDatum);
            }
            else
            {
                //ProveraDok.Dispose();
                //MessageBox.Show("Nije pronađen dokumenat pod traženim datumom.");
                //return "";
                IdDokView = Convert.ToInt32(ProveraDok.Rows[0]["ID_DokumentaTotali"]);
            }

            str        = "Select Brdok,datum,ID_DokumentaStablo,ID_DokumentaTotali,Predhodni from DokumentaTotali ";
            str       += " where Dokument='" + pdokument + "'" + " AND Datum='" + pDatum + "'";
            ProveraDok = db.ReturnDataTable(str);

            pPrikaceniFajl    = co.CitajIniFajl("LOGOVANJE", "PutanjaPlacanja");
            PutanjaPlacanja   = pPrikaceniFajl;
            Program.BrDok     = ProveraDok.Rows[0]["BrDok"].ToString();
            DDatum            = pDatum; //// ProveraDok.Rows[0]["Datum"].ToString();
            Predhodnik        = ProveraDok.Rows[0]["Predhodni"].ToString();
            IdDokumentaStablo = (int)ProveraDok.Rows[0]["ID_DokumentaStablo"];
            KojiPrepis        = "IZVOD";
            pNalog            = NazivKlona;
            return(PutanjaPlacanja + "#" + pDatum + "#" + IdDokView.ToString() + "#" + KojiPrepis);
        }
        private bool Zatvaranje(string PoLotuDaNe)
        {
            bool Zatvaranje = false;

            if (PoLotuDaNe == "NE")
            {
                sql = "select c.skl,c.ID_vlasnika, c.NazivSkl,c.ID_ArtikliView ,c.Stanje,c.VrednostNab,c.ProsecnaNabavnaCena, k.NazivKomitenta as nazivVl "
                      + " from ceneartikalanaskladistimapred as c,Komitenti as k "
                      + " where datum <= @param0 and ID_Vlasnika=ID_Komitenti and datum >=@param1 and ID_OrganizacionaStrukturaView=@param2 "
                      + " order by Skl,ID_Vlasnika,ID_ArtikliView,datum,ID_CeneArtikalaNaSkladistimaPred ";
            }
            else
            {
                sql = "select c.skl,c.ID_vlasnika, c.NazivSkl,c.ID_ArtikliView ,c.Stanje,c.VrednostNab,c.ProsecnaNabavnaCena, c.id_lotview,c.id_magacinskapolja,k.NazivKomitenta as nazivVl "
                      + " from StanjeRobeNaSkl as c,Komitenti as k "
                      + " where datum <= @param0 and ID_Vlasnika=ID_Komitenti and datum >=@param1 and ID_OrganizacionaStrukturaView=@param2 "
                      + " order by  Skl,ID_Vlasnika,ID_ArtikliView,ID_LotView,ID_MagacinskaPolja,datum,ID_StanjeRobeNaSkl ";
            }

            DataTable dt = db.ParamsQueryDT(sql, datum, datumOd, Program.idFirme);

            if (dt.Rows.Count == 0)
            {
                MessageBox.Show("");
                return(Zatvaranje);
            }
            foreach (DataRow row in dt.Rows)
            {
                string kojivl = "";

                if (!row["NazivVl"].Equals(""))
                {
                    kojivl = "-" + row["NazivVl"].ToString().Substring(0, 10);
                }

                //   upis  pocetnogstanjazarobu u dokumenta

                clsObradaOsnovnihSifarnika cls = new clsObradaOsnovnihSifarnika();
                string ParRb = "";

                if (PoLotuDaNe == "NE")
                {
                    ID_DokumentaStablo = 42;
                    NazivDokumenta     = "PocetnoStanjeZaRobu";
                }
                else
                {
                    ID_DokumentaStablo = 500;
                    NazivDokumenta     = "LotPocetnoStanjeMagacin";
                }

                if (!row["NazivVl"].Equals(""))
                {
                    kojivl = "-" + row["NazivVl"].ToString().Substring(0, 10);
                }

                pidDok = cls.UpisiDokument(ref ParRb, row["NazivSkl"].ToString() + kojivl + "-zatvaranje", ID_DokumentaStablo, datum);

                if (pidDok == -1)
                {
                    MessageBox.Show("Greska prilikom inserta!");
                    return(Zatvaranje);
                }

                sql = "Insert into racun(ID_DokumentaView, ID_Skladiste,ID_VlasnikRobe ) values(@param0, @param1,@param2)";
                DataTable dtr = db.ParamsQueryDT(sql, pidDok.ToString(), row["skl"].ToString(), row["ID_vlasnika"].ToString());

                // zapisi stavku u zatvaranju

                db.ExecuteStoreProcedure("ZatvaranjeIOtvaranjeStanja", "Firma:" + Program.idFirme, "PoLotuDaNe:" + PoLotuDaNe, "IdDokView:" + pidDok,
                                         "DoDatuma:" + datum, "NazivSkl:" + row["NazivSkl"].ToString(), "ID_vlasnika:" + row["ID_vlasnika"].ToString(),
                                         "IdPrethodni:1", "UUser:"******"select * from racunstavke where ID_DokumentaView = @param0";
                DataTable rs = db.ParamsQueryDT(sql, pidDok);
                if (rs.Rows.Count == 0)
                {
                    sql = "delete from dokumenta where ID_Dokumenta = @param0";
                    ret = db.ParamsInsertScalar(sql, pidDok);
                    sql = "delete from racun where ID_DokumentaView = = @param0";
                    ret = db.ParamsInsertScalar(sql, pidDok);
                }
                else
                {
                    db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + pidDok);
                    db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivDokumenta, "IdDokument:" + pidDok);
                }
            }

            if (PoLotuDaNe == "NE")
            {
                db.ExecuteStoreProcedure("CeneArtikalaPoSkladistimaIStanje", "IdDokView:0");
            }
            else
            {
                db.ExecuteStoreProcedure("StanjeRobePoLotu", "IdDokView:0");
            }

            Zatvaranje = true;
            return(Zatvaranje);
        }
        private bool Otvaranje(string PoLotuDaNe)
        {
            bool Otvaranje = false;

            datumOd = "01.01." + Convert.ToDateTime(datum).AddYears(+1).Year;
            if (PoLotuDaNe == "NE")
            {
                sql = "Select c.NazivSkl,c.id_skladiste as skl,c.ID_PocetnoStanjeZaRobuTotali as ID_DokumentaView,ID_ArtikliView,kolicina as ulaz,nabavnacena as ProsecnaNabavnaCena, "
                      + " k.NazivKomitenta as NazivVl,k.id_komitenti as id_vlasnika "
                      + " from PocetnoStanjeZaRobuTotali as c,Komitenti as k ,dokumenta,OrganizacionaStruktura "
                      + " Where c.datum = @param0  and  id_dokumenta=ID_PocetnoStanjeZaRobuTotali and ID_VlasnikRobe=ID_Komitenti and Dokumenta.ID_OrganizacionaStrukturaView = OrganizacionaStruktura.ID_OrganizacionaStruktura and"
                      + " c.brdok like'42-%'   And ID_OrganizacionaStrukturaStablo = @param1 "
                      + " order by Skl,ID_dokumentaview,ID_ArtikliView ";
            }
            else
            {
                sql = "Select c.NazivSkl,c.id_skladiste as skl,c.ID_LotPocetnoStanjeMagacinTotali as ID_DokumentaView,ID_ArtikliView,ID_LotView,ID_MagacinskaPolja,kolicina as ulaz,nabavnacena as ProsecnaNabavnaCena, "
                      + " k.NazivKomitenta as NazivVl,k.id_komitenti as id_vlasnika "
                      + " from LotPocetnoStanjeMagacinTotali as c,Komitenti as k ,dokumenta,OrganizacionaStruktura "
                      + " Where c.datum = @param0  and  id_dokumenta=ID_LotPocetnoStanjeMagacinTotali and ID_VlasnikRobe=ID_Komitenti and Dokumenta.ID_OrganizacionaStrukturaView = OrganizacionaStruktura.ID_OrganizacionaStruktura and"
                      + " c.brdok like'500-%'   And ID_OrganizacionaStrukturaStablo = @param1 "
                      + " order by Skl,ID_dokumentaview,ID_ArtikliView,ID_LotView,ID_MagacinskaPolja";
            }

            DataTable dt = db.ParamsQueryDT(sql, datum, Program.idFirme);

            if (dt.Rows.Count == 0)
            {
                MessageBox.Show("");
                return(Otvaranje);
            }
            foreach (DataRow row in dt.Rows)
            {
                string kojivl = "";

                if (!row["NazivVl"].Equals(""))
                {
                    kojivl = "-" + row["NazivVl"].ToString().Substring(0, 10);
                }

                //   upis  pocetnogstanjazarobu u dokumenta
                clsObradaOsnovnihSifarnika cls = new clsObradaOsnovnihSifarnika();
                string ParRb = "";
                if (PoLotuDaNe == "NE")
                {
                    ID_DokumentaStablo = 42;
                    NazivDokumenta     = "PocetnoStanjeZaRobu";
                }
                else
                {
                    ID_DokumentaStablo = 500;
                    NazivDokumenta     = "LotPocetnoStanjeMagacin";
                }

                if (!row["NazivVl"].Equals(""))
                {
                    kojivl = "-" + row["NazivVl"].ToString().Substring(0, 10);
                }

                pidDok = cls.UpisiDokument(ref ParRb, row["NazivSkl"].ToString() + kojivl + "-otvaranje", ID_DokumentaStablo, datumOd);

                if (pidDok == -1)
                {
                    MessageBox.Show("Greska prilikom inserta!");
                    return(Otvaranje);
                }

                sql = "Insert into racun(ID_DokumentaView, ID_Skladiste,ID_VlasnikRobe,ID_KomitentiView  ) values(@param0, @param1,@param2,@param3)";
                DataTable dtr = db.ParamsQueryDT(sql, pidDok.ToString(), row["skl"].ToString(), row["ID_vlasnika"].ToString(), row["ID_vlasnika"].ToString());

                // zapisi stavku u otvaranju
                db.ExecuteStoreProcedure("ZatvaranjeIOtvaranjeStanja", "Firma:" + Program.idFirme, "PoLotuDaNe:" + PoLotuDaNe, "IdDokView:" + pidDok,
                                         "DoDatuma:" + datum, "NazivSkl:" + row["NazivSkl"].ToString(), "ID_vlasnika:" + row["ID_vlasnika"].ToString(),
                                         "IdPrethodni:" + row["ID_DokumentaView"], "UUser:"******"TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + pidDok);
                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivDokumenta, "IdDokument:" + pidDok);
            }

            if (PoLotuDaNe == "NE")
            {
                db.ExecuteStoreProcedure("CeneArtikalaPoSkladistimaIStanje", "IdDokView:0");
            }
            else
            {
                db.ExecuteStoreProcedure("StanjeRobePoLotu", "IdDokView:0");
            }

            Otvaranje = true;
            return(Otvaranje);
        }
Пример #12
0
        private Boolean PopuniFormuIzvestaja()
        {
            clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();

            vrati = true;
            string             mUpit  = "";
            string             uUpit  = "";
            string             mGroup = "";
            string             mTUD   = "";
            string             mIme   = "";
            string             iddok  = "0";
            string             rss    = "";
            int                param0 = 1;
            clsdokumentRefresh dokr   = new clsdokumentRefresh();

            string rsu = "Select * From Upiti Where  nazivdokumenta=@param0 And ime  like '%ggrr%' ORDER BY TUD";

            Console.WriteLine(rsu);
            DataTable tt = db.ParamsQueryDT(rsu, Dokument);

            for (int j = 0; j < tt.Rows.Count; j++)
            {
                res      = "";
                mGroup   = "";
                OrderBy  = "";
                mTUD     = tt.Rows[j]["TUD"].ToString();
                uUpit    = tt.Rows[j]["Upit"].ToString();
                mIme     = tt.Rows[j]["Ime"].ToString();
                KojiView = mIme.Replace("GgRr", "");
                if (uUpit.ToUpper().Contains("GROUP") == true)
                {
                    mGroup = uUpit.Substring(uUpit.ToUpper().IndexOf("GROUP"), uUpit.Length - uUpit.ToUpper().IndexOf("GROUP"));
                    mUpit  = uUpit.Substring(0, uUpit.ToUpper().IndexOf("GROUP") - 1);
                }
                else
                {
                    //tamara
                    //Jovana 17.05.21 umrtvila
                    //param0 = 0;
                    mGroup = "";
                    mUpit  = uUpit;
                }
                if (Convert.ToInt32(mTUD) > 0)
                {
                    res = os.DodajRestrikcije(Dokument, mTUD);
                    if (WWhere.Trim() != "")
                    {
                        if (res.Trim() != "")
                        {
                            res = " AND " + res;
                        }
                    }
                    else
                    {
                        if (res.Trim() != "")
                        {
                            res = " WHERE " + res;
                        }
                    }
                    DodajOrder(mTUD);
                    mUpit += WWhere + res + mGroup + OrderBy;
                    //tamara 12.5.2021.
                    //// string upit = mUpit.Split('>', mUpit.IndexOf('>') + 1);
                    ////String s = "Thundering Blow I";
                    //int k = mUpit.IndexOf(">"/*, mUpit.IndexOf("W") + 1*/);
                    //int m = k + 3;
                    //string upit = mUpit.Substring(0, m);
                    //Jovana 17.05.21 umrtvila
                    //mUpit += "@param0";

                    //ovde se generise upit kao sto nama treba za obracun kamate 20.7.21.
                    Console.WriteLine(mUpit);
                    DataTable t = new DataTable();
                    //if(param0==0)
                    t = db.ParamsQueryDT(mUpit, param0);
                    // Jovana 03.08.21
                    dokr.refreshDokumentGrid(forma, Dokument, "1", mUpit, mTUD, "I");

                    if (t.Rows.Count == 0 && Dokument != "KalkulacijaIzlazaSaTroskovima")
                    {
                        // zajedno 20.7.21.
                        //ivana 18.8.2021. otkomentarisala sam zbog zurnala knjizenja, ako nemamo nijedan rezultat da nas obavesti o tome
                        MessageBox.Show("Ne postoje podaci za zadate parametre!");
                        //ivana 18.3.2021. nije se osvezavao grid, ako je prethodno bio popunjen
                        // Jovana 17.05.2021 umrtvila ako je prazan grid sto da se refresh-uje?
                        // tamara 20.7.21. zato sto npr u finansijskoj kartici kada nema podataka logicno je da se grid isprazni
                        //dokr.refreshDokumentGrid(forma, Dokument, "1", mUpit, mTUD, "I");
                        //PrikaziZbirove(0);

                        //vrati = false;
                        //return vrati;
                    }
                }
                else
                {
                    Console.WriteLine(mUpit);
                    // Jovana 17.05.2021
                    //ivana 30.6.2021. zakomentarisala sam zbog POPPdv, jer je nakon OK popunjavao mesec sa 12 i godinu sa 2019
                    // Jovana 02.07.21 ne popunjava vrednosti u zaglavlju kod izvestaja Kalkulacija izlaza sa troskovima i pozivanja robne kartice iz stanja
                    dokr.refreshDokumentBody(forma, Dokument, iddok, "I");//BORKA DA LI NAM OVO TREBA 29.11.20
                }
            }
            PrikaziZbirove(0);
            return(vrati);
        }