Ejemplo n.º 1
0
        //Djora 01.06.21
        //tamara 7.6.21. promenila sam funkciju
        public void PrikazPrinta()
        {
            //Djora 01.06.21 staviti kao parametre
            string ime = imefajla; //Naziv fajla i ime u uglastim zagradama u heder traci MDI forme

            //tamara 7.6. umesto instanciranja frmPrint stavila sam this
            this.BackColor       = Color.FromArgb(((int)(((byte)(238)))), ((int)(((byte)(226)))), ((int)(((byte)(220)))));
            this.FormBorderStyle = FormBorderStyle.None;
            this.MdiParent       = Program.Parent;
            this.Text            = ime;
            this.Name            = naslov;
            this.LayoutMdi(MdiLayout.TileVertical);
            this.imefajla = ime;
            //ivana 6.10.2021. ovo je za plane, nagrade, prevoz, dobit i Specifikaciju porekla robe
            if (!Program.Parent.DalijevecOtvoren("", this.Text, this.Name))
            {
                Program.Parent.addFormTotoolstrip1(this, naslov);
                Program.Parent.updateToolStrip(naslov);
                this.Show();
                Program.Parent.SrediFormu();
                //ivana 6.10.2021.
                clsProveraDozvola pd = new clsProveraDozvola();
                pd.ToolBarItemsEnDis();
            }
        }
Ejemplo n.º 2
0
 private void frmChield_Activated(object sender, EventArgs e)
 {
     if (DokumentJe != null) //Djora 20.05.21
     {
         //tamara 03.2021.  Djora 10.05.21
         //if (exe == "Excel.exe")
         if (Program.Excel != "" && Program.Excel != null)
         {
             //Djora 20.05.21 02.07.21 Ovde netreba da brise mozda malo kasnije
             //Program.Excel = "";
         }
         else
         {
             Boolean           provera = true;
             clsProveraDozvola provdoz = new clsProveraDozvola();
             // Jovana 06.12.21 dodala OrganizacionaStruktura
             if (imestabla == "Artikli" || imestabla == "Komitenti" || imestabla == "OrganizacionaStruktura")
             {
                 if (OOperacija.Text != "PREGLED")
                 {
                     provera = provdoz.ProveriDozvole(imestabla, idstablo.ToString(), Convert.ToString(iddokumenta), DokumentJe);
                 }
             }
             else
             {
                 if (OOperacija.Text != "PREGLED" && sender.ToString() != "Bankom.Imenik, Text: frmChield")
                 {
                     provera = provdoz.ProveriDozvole(imedokumenta, idstablo.ToString(), Convert.ToString(iddokumenta), DokumentJe);
                 }
             }
         }
     }
 }
        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
        public bool Obradi(int IdDokView, ref int ID_DokumentaStablo, ref string Dokument, ref string BrDok)
        {
            bool Obradi = false;

            sql = "select distinct d.Dokument,d.ID_DokumentaStablo,BrDok,datum,Predhodni,ID_Predhodni from dokumentatotali as d WITH(NOLOCK) where  d.id_dokumentatotali=@param0 ";
            DataTable dt = db.ParamsQueryDT(sql, IdDokView);

            if (dt.Rows.Count != 0)
            {
                Dokument           = dt.Rows[0]["Dokument"].ToString();
                ID_DokumentaStablo = Convert.ToInt32(dt.Rows[0]["ID_DokumentaStablo"]);
                BrDok        = dt.Rows[0]["BrDok"].ToString();
                datum        = dt.Rows[0]["datum"].ToString();
                Prethodni    = dt.Rows[0]["Predhodni"].ToString();
                ID_Prethodni = dt.Rows[0]["ID_Predhodni"].ToString();
            }
            // Jovana 21.12.21
            if (ID_Prethodni == "1")
            {
                return(true);
            }

            sql = "select UlazniIzlazni  as NazivKlona,NacinRegistracije,PutanjaZaCuvanje,prikaz,vrsta,OdakleSePreuzima from SifarnikDokumenta where Naziv=@param0";
            DataTable dt1 = db.ParamsQueryDT(sql, Dokument);

            if (dt1.Rows.Count != 0)
            {
                NazivKlona        = dt1.Rows[0]["NazivKlona"].ToString();
                NacinRegistracije = dt1.Rows[0]["NacinRegistracije"].ToString();
                prikaz            = dt1.Rows[0]["prikaz"].ToString().Trim();
                DokumentJe        = dt1.Rows[0]["vrsta"].ToString().Trim();
                OdakleSePreuzima  = dt1.Rows[0]["OdakleSePreuzima"].ToString().Trim();
                PutanjaDokumenta  = dt1.Rows[0]["PutanjaZaCuvanje"].ToString().Trim();
            }
            //jovana 16.04.21 Dokument zamenila sa NazivKlona (ino avansni racun bio motiv)
            sql = "select oorderby as TrebaProvera from recnikpodataka where dokument=@param0 and oorderby>0 and oorderby<5";
            DataTable dt2 = db.ParamsQueryDT(sql, NazivKlona);

            if (dt2.Rows.Count != 0)
            {
                TrebaProvera = dt2.Rows[0]["TrebaProvera"].ToString();
            }

            if (Dokument.Trim() == "")
            {
                return(Obradi);
            }
            // provera dozvola se zove kod otvaranja forme
            clsProveraDozvola cPd = new clsProveraDozvola();

            Obradi = cPd.ProveriDozvole(Dokument, ID_DokumentaStablo.ToString(), IdDokView.ToString(), DokumentJe);

            if (Obradi == false)
            {
                MessageBox.Show("Nije dozvoljen pristup");
                return(Obradi);
            }

            sql = "select NazivJavni from dokumentastablo where id_dokumentastablo=@param0";
            DataTable dt3 = db.ParamsQueryDT(sql, ID_DokumentaStablo);

            if (dt3.Rows.Count != 0)
            {
                Naslov = dt3.Rows[0]["NazivJavni"].ToString();
            }

            if (NacinRegistracije == "B")
            {
                if (Dokument.Contains("OpisTransakcije") == true)
                {
                    return(true);
                }
                sql = "select ID_" + NazivKlona.Trim() + "Totali from " + NazivKlona.Trim() + "Totali where ID_" + NazivKlona.Trim() + "Totali=" + IdDokView;
                DataTable dt4 = db.ReturnDataTable(sql);
                if (dt4.Rows.Count != 0)
                {
                    if (NazivKlona != "PrometUplata")
                    {
                        return(true);
                    }
                }
            }
            if (NacinRegistracije == "W" || NacinRegistracije == "E" || NacinRegistracije == "P")
            {
                ObradaWordExcelPdf OWEP = new ObradaWordExcelPdf();
                //tamara 27.4.2021.
                OWEP.OtvoriDokument(NacinRegistracije, PutanjaDokumenta, BrDok, DokumentJe);
                return(false);
            }
            //tamara 7.5.2021.
            //Obradi = true;

            if (NacinRegistracije == "B" && OdakleSePreuzima.Trim() != "")
            {
                bool otvori = PovlacenjeSaPrethodnika(Dokument, IdDokView);
                //tamara 7.5.2021
                //if (otvori == false)
                //    Obradi = false;
            }

            // Jovana 21.12.21
            Prethodi = true;
            return(Obradi);
        }