Beispiel #1
0
        public bool ObradiRazlike()
        {
            bool ObradiRazlike = true;
            Form forma         = new Form();

            forma      = Program.Parent.ActiveMdiChild;
            iddokument = Convert.ToString(((Bankom.frmChield)forma).iddokumenta);


            if (ProveraIspravnosti(forma) == false)
            {
                goto PrinudniIzlaz;
            }

            //CRUD ccrud = new CRUD();
            //ccrud.DoIt(forma, iddokument, ((Bankom.frmChield)forma).imedokumenta);

            if (forma.Controls["OOperacija"].Text == "UNOS")
            {
                // obrada kursnih razlika
                db.ExecuteStoreProcedure("ObradaKursnihRazlika", "Firma:" + Program.idFirme, "Analitika:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Analitika").Vrednost,
                                         "DoDatuma:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "DatumZaObracun").Vrednost,
                                         "DomacaValuta:" + Program.ID_DomacaValuta, "IdDokView:" + iddokument, "UUser:"******"TotaliZaDokument", "NazivDokumenta:" + ((Bankom.frmChield)forma).imedokumenta, "IdDokument:" + iddokument);


            return(ObradiRazlike);

PrinudniIzlaz:
            ObradiRazlike = false;
            return(ObradiRazlike);
        }
Beispiel #2
0
        public bool Obradi()
        {
            bool Obradi = false;
            Form forma  = new Form();

            forma = Program.Parent.ActiveMdiChild;

            if (MessageBox.Show("Da li zelite ponistiti postojece stavke?", "Sporna potrazivanja", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                sql = "delete from SaldaPrometaStavke where id_Dokumentaview= @param0";
                ret = db.ParamsInsertScalar(sql, ((Bankom.frmChield)forma).iddokumenta);
                sql = "delete from SaldaPrometa where id_Dokumentaview= @param0";
                ret = db.ParamsInsertScalar(sql, ((Bankom.frmChield)forma).iddokumenta);


                string konto          = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Konto").Vrednost;
                string DatumZaObracun = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "DatumZaObracun").Vrednost;
                Int32  StarostSalda   = Convert.ToInt32(forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "StarostSalda").Vrednost);

                db.ExecuteStoreProcedure("StarostSalda", "ZaFirmu:" + Program.imeFirme, "ZaKonto:" + konto.Trim(), "ZakljucnoSaDatumom:" + DatumZaObracun, "KojaStarost:" + StarostSalda);
                sql = "insert into SaldaPrometaStavke(ID_DokumentaView,ID_KomitentiView,ID_SifrarnikValuta,SaldoZaPrenos ) "
                      + " select distinct @param0, IdKom as ID_KomitentiView,IDval,Saldo "
                      + " from SaldaPoStarosti ";

                ret = db.ParamsInsertScalar(sql, ((Bankom.frmChield)forma).iddokumenta);

                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + ((Bankom.frmChield)forma).imedokumenta, "IdDokument:" + ((Bankom.frmChield)forma).iddokumenta);
                Obradi = true;
            }
            return(Obradi);
        }
        public bool Obrada()
        {
            bool Obrada = false;

            if (Program.imeFirme == "Hotel Nevski" || Program.imeFirme == "Bankom")
            {
                Firma = "Bankom";
            }
            else
            {
                Firma = Program.imeFirme;
            }

            if (MessageBox.Show("Da li zelite ponistiti postojece stavke?", "POPPdv", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                sql = "Delete from Poppdv WHERE firma=@param0 and mesec=@param1 and godina=@param2";
                ret = db.ParamsInsertScalar(sql, Firma, Mesec, Godina);

                sql = "Insert into POPPdv ( id_SemaBilansa,firma,godina,mesec,PoBroj,AOP,FORMULA,Opis,zavisnost)"
                      + " select id_DokumentaView,@param0,@param1,@param2,Konto,AOP,Formula,Opis,Zavisnost "
                      + " from kontoaopstavke where id_dokumentaView=@param3";
                DataTable dtr = db.ParamsQueryDT(sql, Firma, Godina, Mesec, IdentSeme);

                db.ExecuteStoreProcedure("PopuniRedoveSemePOPPdv", "Dokument:" + imedokumenta, "Firma:" + Firma, "Godina:" + Godina, "Mesec:" + Mesec);
            }

            return(Obrada);
        }
        public void ObradiKomenzaciju()
        {
            //Djora 30.11.20 Poziv  08.10.21
            //clsForma aa = new clsForma();
            //mForma lis = aa.VirtualnaForma();

            DataBaseBroker db = new DataBaseBroker();

            Form forma = new Form();

            forma = Program.Parent.ActiveMdiChild;

            int IdDokView = Convert.ToInt32(forma.Controls["liddok"].Text);

            // if (forma.Controls["OOperacija"].Text == "UNOS")
            // {
            //     if (MessageBox.Show("Da li brisete predhodne stavke ? ", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
            //     {

            string Datum       = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "DatumDo").Vrednost;
            string KontoDug    = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "KontoDug").Vrednost;
            string KontoPot    = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "KontoPot").Vrednost;
            int    ID_Komitent = Convert.ToInt32(forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "NazivKom").ID);

            Boolean vrati = new Boolean();
            CRUD    ccrud = new CRUD();

            //Djora 30.11.20
            vrati = ccrud.DoIt(forma, Convert.ToString(((Bankom.frmChield)forma).iddokumenta), ((Bankom.frmChield)forma).imedokumenta);
            //vrati = ccrud.DoIt(forma, Convert.ToString(((Bankom.frmChield)forma).iddokumenta), ((Bankom.frmChield)forma).imedokumenta, lis);

            //EXEC ObradiKompenzaciju 1422996, '01.01.2020', '21.04.2020', 204, 435, 3281, 'Bankom', 6
            db.ExecuteStoreProcedure("ObradiKompenzaciju", "FidDok:" + IdDokView.ToString(), "DoDatuma:" + Datum, "KontoDug:" + KontoDug, "KontoPot:" + KontoPot, "ID_Komitent:" + ID_Komitent.ToString(), "Firma:" + Program.imeFirme, "idFirme:" + Program.idFirme.ToString());
            //    } else {
            //        string sql = " Update kompdug set duguje = saldo where id_DokumentaView = @param1 ";
            //        int newID = db.ParamsInsertScalar(sql, @IdDokView.ToString());
            //     }
            // } else {
            //     string sql = " Update kompdug set duguje=saldo where id_Kompdug = @param1 ";
            //     //int newID = db.ParamsInsertScalar(sql, fform.GridK(1).IdUpdateReda.ToString());
            // }

            db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Kompenzacija", "IdDokument:" + IdDokView.ToString());
        }
        public bool ObradiPlan()
        {
            bool ObradiPlan = false;

            Form forma = new Form();

            forma = Program.Parent.ActiveMdiChild;

            int IdDokView = Convert.ToInt32(forma.Controls["liddok"].Text);

            //Boolean vrati = new Boolean();
            //CRUD ccrud = new CRUD();
            //vrati = ccrud.DoIt(forma, Convert.ToString(((Bankom.frmChield)forma).iddokumenta), ((Bankom.frmChield)forma).imedokumenta);

            sql = "Delete from PlanProdajeStavke where ID_ArtikliView=1 and ID_DokumentaView =@param0";
            ret = db.ParamsInsertScalar(sql, IdDokView);

            if (forma.Controls["OOperacija"].Text == "UNOS")
            {
                if (forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "NazivKom").Vrednost.Trim() == "") //nisu popunjena polja za stavke
                {
                    sql = "Select Id_DokumentaView from PlanProdajeStavke where ID_DokumentaView =@param0";
                    dt  = db.ParamsQueryDT(sql, IdDokView);
                    if (dt.Rows.Count > 0) // postoje stavke
                    {
                        if (MessageBox.Show("Da li brisete postojece promene?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            sql = "Delete from PlanProdajeStavke where ID_DokumentaView =@param0";
                            ret = db.ParamsInsertScalar(sql, IdDokView);
                        }
                    }
                    if (((Bankom.frmChield)forma).imedokumenta == "PlanProdaje")
                    {
                        ObradiPlan = NoviPlan(IdDokView);
                    }
                    else
                    {
                        ObradiPlan = NoviMesecniPlan(IdDokView);
                    }
                }
            }



            clsAzuriranja az = new clsAzuriranja();

            az.DodatnaAzuriranja(((Bankom.frmChield)forma).imedokumenta, IdDokView.ToString());

            db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + ((Bankom.frmChield)forma).imedokumenta, "IdDokument:" + IdDokView.ToString());
            ObradiPlan = true;

            return(ObradiPlan);
        }
Beispiel #6
0
        public void ObradiBilans()
        {
            string  iddokument = "";
            Boolean vrati      = true;

            forma = Program.Parent.ActiveMdiChild;
            int idke       = Program.idkadar;
            int NadjiPredh = 1;

            iddokument = Convert.ToString(((Bankom.frmChield)forma).iddokumenta);
            string imedokumenta = ((Bankom.frmChield)forma).imedokumenta.Trim();
            //Djora 26.09.21
            //string DatumOd = forma.Controls.OfType<Field>().FirstOrDefault(n => n.IME == "DatumOd").Vrednost;
            string DatumOd   = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "DatumOd").Vrednost.Substring(0, 8);
            string DatumDo   = forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "DatumDo").Vrednost;
            string Dokument  = forma.Controls["limedok"].Text;
            long   IdentSeme = Convert.ToInt32(forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "KontoAopBilansView").ID);

            //Djora 29.07.21
            //db.ExecuteStoreProcedure("repDovrsiObradu", "Dokument:" + imedokumenta, "NazivKlona:" + imedokumenta, "Firma:" + Program.imeFirme, "IdentSeme:" + IdentSeme.ToString(),
            //        "IdDokView:" + iddokument, "DatumOd:" + Convert.ToDateTime(DatumOd), "DatumDo:" + Convert.ToDateTime(DatumDo));
            //Djora 23.09.21
            //db.ExecuteStoreProcedure("repDovrsiObradu", "Dokument:" + imedokumenta, "NazivKlona:" + imedokumenta, "Firma:" + Program.imeFirme, "IdentSeme:" + IdentSeme.ToString(),
            //                         "IdDokView:" + iddokument, "DatumOd:" + Convert.ToDateTime(DatumOd), "DatumDo:" + Convert.ToDateTime(DatumDo), "UI:0");
            //Djora 26.09.21
            db.ExecuteStoreProcedure("repDovrsiObradu", "Dokument:" + imedokumenta, "NazivKlona:" + imedokumenta, "Firma:" + Program.imeFirme, "IdentSeme:" + IdentSeme.ToString(),
                                     "IdDokView:" + iddokument, "DatumOd:" + DatumOd, "DatumDo:" + DatumDo, "UI:0");

            //Djora  26.09.21
            // Jovana 05.10.21 dodala zbog izvestaja dnevni bilans uspeha - pucalo jer izvestaji nemaju totale
            if (iddokument != "-1")
            {
                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + imedokumenta, "IdDokument:" + iddokument);
            }
            // Jovana 05.10.21 mislim da ne treba ovo Gotovo
            //MessageBox.Show("Gotovo");
        }
        public bool DovrsiObradu(Form forma)
        {
            bool DovrsiObradu = false;

            if (forma.Controls["OOperacija"].Text == "UNOS")
            {
                sql = "Select ID_KamataStavke from KamataStavke where ID_DokumentaView =@param0";
                DataTable t = db.ParamsQueryDT(sql, iddokument);
                br = t.Rows.Count;
                if (t.Rows.Count > 1)
                {
                    if (MessageBox.Show("Da li brišete postojeće promene?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (PopuniPromene(forma) == true)
                        {
                            sql = "Delete from KamataStavke where ID_DokumentaView = @param0 and ID_KamataStavke <> (select max(ID_KamataStavke) from KamataStavke where ID_DokumentaView = @param1)";
                            ret = db.ParamsInsertScalar(sql, iddokument, iddokument);
                            br  = 1;
                        }
                    }
                    else if (PopuniPromene(forma) == false)
                    {
                        return(DovrsiObradu);
                    }
                }
                else
                {
                    IDKamataStavkeView = Convert.ToInt32(t.Rows[0][0]);
                    if (PopuniPromene(forma) == false)
                    {
                        return(DovrsiObradu);
                    }
                }
            }
            if (forma.Controls["OOperacija"].Text == "IZMENA")
            {
                if (SloziPromene(forma) == false)
                {
                    return(DovrsiObradu);
                }
                ObracunajKamatu(forma);
            }
            db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + ((Bankom.frmChield)forma).imedokumenta, "IdDokument:" + ((Bankom.frmChield)forma).iddokumenta);
            DovrsiObradu = true;
            return(DovrsiObradu);
        }
        public bool UpisiDatume()
        {
            bool           UpisiDatume = false;
            string         Godina;
            DataBaseBroker db    = new DataBaseBroker();
            Form           forma = new Form();

            forma = Program.Parent.ActiveMdiChild;

            if (MessageBox.Show("Upisujemo tabelu datuma za " + DateTime.Now.Year.ToString(), " ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Godina = Prompt.ShowDialog("", "Unesite Godinu za tabelu datuma ", "Tabela datuma");
                if (Godina == DateTime.Now.Year.ToString() || Godina == DateTime.Now.Year.ToString() + 1)
                {
                    db.ExecuteStoreProcedure("PopuniTimeByDay", "Godina:" + Godina);
                    UpisiDatume = true;
                }
            }

            return(UpisiDatume);
        }
        public bool ObradiZahtev()
        {
            bool ObradiZahtev = true;
            Form forma        = new Form();

            forma      = Program.Parent.ActiveMdiChild;
            iddokument = Convert.ToString(((Bankom.frmChield)forma).iddokumenta);


            if (ProveraIspravnosti(forma) == false)
            {
                goto PrinudniIzlaz;
            }



            if (forma.Controls["OOperacija"].Text == "UNOS" || forma.Controls["OOperacija"].Text == "IZMENA")
            {
                Console.WriteLine(Convert.ToDecimal(IznosZaOtpis));

                // Zatvaranje i otvaranje bilansa
                // Jovana 12.01.22
                db.ExecuteStoreProcedure("ZatvaranjeIOtvaranjeBilansa", "Firma:" + Program.idFirme, "Status:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Proknjizeno").Vrednost,
                                         "BrNal:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "BrDok").Vrednost,
                                         "DoDatuma:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Datum").Vrednost,
                                         "DomacaValuta:" + Program.ID_DomacaValuta, "IdDokView:" + iddokument,
                                         "IdPrethodni:" + forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Predhodni").ID, "UUser:"******"IznosZaOtpis:" + Convert.ToDecimal(IznosZaOtpis), "KontoPrihoda:" + KontoPrihoda, "KontoTroskova:" + KontoTroskova);
            }


            return(ObradiZahtev);

PrinudniIzlaz:
            ObradiZahtev = false;
            return(ObradiZahtev);
        }
        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
Beispiel #12
0
        public bool UpisOpisaTransakcijeUTransakcije(Form forma, string iddokview, string idreda)
        {
            bool       DaNe = false;
            SqlCommand cmd  = new SqlCommand();

            if (idreda == "-1")
            {
                sql = "delete from transakcije where id_dokumentaview = @param0";
                DataTable dt = db.ParamsQueryDT(sql, iddokview);
                sql = "select opistransakcije.opistransakcije,konto,opistransakcijestavke.analitika,opistransakcijestavke.skladiste,opistransakcijestavke.banka,opistransakcijestavke.komitent, "
                      + " opistransakcijestavke.artikal,opistransakcijestavke.valuta,opistransakcijestavke.duguje,opistransakcijestavke.potrazuje,opistransakcijestavke.id_opistransakcijestavke "
                      + " from opistransakcije,opistransakcijestavke "
                      + " where opistransakcije.id_dokumentaview=" + iddokview + " and opistransakcije.id_dokumentaview= opistransakcijestavke.id_dokumentaview";
            }
            else
            {
                sql = "delete from transakcije where id_dokumentaview = @param0 and id_opistransakcijestavke = @param1";
                DataTable dt = db.ParamsQueryDT(sql, iddokview, idreda);
                sql = "select opistransakcije.opistransakcije,konto,opistransakcijestavke.analitika,opistransakcijestavke.skladiste,opistransakcijestavke.banka,opistransakcijestavke.komitent, "
                      + " opistransakcijestavke.artikal,opistransakcijestavke.valuta,opistransakcijestavke.duguje,opistransakcijestavke.potrazuje,opistransakcijestavke.id_opistransakcijestavke "
                      + " from opistransakcije,opistransakcijestavke "
                      + " where opistransakcije.id_dokumentaview=" + iddokview + " and opistransakcije.id_dokumentaview= opistransakcijestavke.id_dokumentaview and "
                      + " opistransakcijestavke.id_opistransakcijestavke =" + idreda;
            }
            DataTable dot = db.ReturnDataTable(sql);

            sql = " select ulazniizlazni from sifarnikdokumenta where naziv= @param0";
            DataTable dtt = db.ParamsQueryDT(sql, forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Tabela").Vrednost);

            if (dtt.Rows.Count != 0)
            {
                TTabela = dtt.Rows[0]["ulazniizlazni"].ToString();
            }

            foreach (DataRow row in dot.Rows)
            {
                DaNe      = true;
                sqlInsert = "insert into Transakcije (ID_OpisTransakcijeStavke,ID_DokumentaView,Analitika,Konto,Sif1,Sif2,OdakleJeKomitent,OpisRacuna,OpisSkladista"
                            + " ,Koef,Duguje,Potrazuje,Tabela,OpisTarife,OBRADA,OpisTransakcije,Sif1Tabela,Sif2Tabela,DugujeDomVal,PotrazujeDomVal,Valuta"
                            + " ,UUser,TTime,Upit,IInsert,KontoTabela)"
                            + " values (@ID_OpisTransakcijeStavke, @ID_DokumentaView, @Analitika, @Konto, @Sif1, @Sif2, @OdakleJeKomitent, @OpisRacuna, @OpisSkladista"
                            + " , @Koef, @Duguje, @Potrazuje, @Tabela, @OpisTarife, @OBRADA, @OpisTransakcije, @Sif1Tabela, @Sif2Tabela, @DugujeDomVal, @PotrazujeDomVal, @Valuta"
                            + " , @UUser, @TTime, @Upit, @IInsert, @KontoTabela)";

                cmd = new SqlCommand(sqlInsert);

                SqlParameter analitika = new SqlParameter();
                analitika.ParameterName = "@Analitika";
                analitika.Value         = "";

                SqlParameter konto = new SqlParameter();
                konto.ParameterName = "@Konto";
                konto.Value         = "";

                SqlParameter sif1 = new SqlParameter();
                sif1.ParameterName = "@Sif1";
                sif1.Value         = "";

                SqlParameter sif2 = new SqlParameter();
                sif2.ParameterName = "@Sif2";
                sif2.Value         = "";

                SqlParameter OdakleJeKomitent = new SqlParameter();
                OdakleJeKomitent.ParameterName = "@OdakleJeKomitent";
                OdakleJeKomitent.Value         = "";

                SqlParameter OpisRacuna = new SqlParameter();
                OpisRacuna.ParameterName = "@OpisRacuna";
                OpisRacuna.Value         = "";

                SqlParameter OpisSkladista = new SqlParameter();
                OpisSkladista.ParameterName = "@OpisSkladista";
                OpisSkladista.Value         = "";

                SqlParameter Duguje = new SqlParameter();
                Duguje.ParameterName = "@Duguje";
                Duguje.Value         = "0";

                SqlParameter Potrazuje = new SqlParameter();
                Potrazuje.ParameterName = "@Potrazuje";
                Potrazuje.Value         = "0";

                SqlParameter OpisTarife = new SqlParameter();
                OpisTarife.ParameterName = "@OpisTarife";
                OpisTarife.Value         = "";

                SqlParameter Sif1Tabela = new SqlParameter();
                Sif1Tabela.ParameterName = "@Sif1Tabela";
                Sif1Tabela.Value         = "";

                SqlParameter Sif2Tabela = new SqlParameter();
                Sif2Tabela.ParameterName = "@Sif2Tabela";
                Sif2Tabela.Value         = "";

                SqlParameter DugujeDomVal = new SqlParameter();
                DugujeDomVal.ParameterName = "@DugujeDomVal";
                DugujeDomVal.Value         = "0";

                SqlParameter PotrazujeDomVal = new SqlParameter();
                PotrazujeDomVal.ParameterName = "@PotrazujeDomVal";
                PotrazujeDomVal.Value         = "0";

                SqlParameter Valuta = new SqlParameter();
                Valuta.ParameterName = "@Valuta";
                Valuta.Value         = "";

                SqlParameter KontoTabela = new SqlParameter();
                KontoTabela.ParameterName = "@KontoTabela";
                KontoTabela.Value         = "";

                for (int i = 1; i <= dot.Columns.Count - 2; i++)
                {
                    if (row[dot.Columns[i].ToString()].ToString().Trim() != "")
                    {
                        sql1 = "select * from Knj" + dot.Columns[i].ColumnName.ToString() + " where " + dot.Columns[i].ColumnName.ToString() + "='" + row[dot.Columns[i].ToString()].ToString().Trim() + "'";//dot.Columns[i].ToString();
                        DataTable dknj = db.ReturnDataTable(sql1);
                        Console.WriteLine(sql1);
                        if (dknj.Rows.Count == 0)
                        {
                            MessageBox.Show(" Postoji greska za " + dot.Columns[i].ColumnName.ToString() + " , " + dot.Columns[i].ToString() + " ispravite !!");
                            DaNe = false;
                        }


                        if (dot.Columns[i].ColumnName.ToString().ToUpper() == "KONTO")
                        {
                            if (dknj.Rows[0]["ALIJASPOLJA"].ToString().Trim() != "")
                            {
                                konto.Value       = dknj.Rows[0]["ALIJASPOLJA"].ToString();
                                KontoTabela.Value = dknj.Rows[0]["TABELA"].ToString();
                            }
                            else
                            {
                                konto.Value = row["KONTO"].ToString();
                            }
                        }


                        if (dot.Columns[i].ColumnName.ToString().ToUpper() == "ANALITIKA")
                        {
                            analitika.Value = row["analitika"].ToString();
                            if (TTabela == "PreknjizavanjeKonta")
                            {
                                sif1.Value = row["analitika"].ToString();
                            }
                            if (TTabela == "TemeljnicaZaIsplatu" || TTabela == "PDVUlazniRacunZaUsluge" || TTabela == "LotInterniNalogZaRobu")
                            {
                                sif1.Value = dot.Columns["analitika"].ColumnName.ToString();
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "skladiste")
                        {
                            if (dknj.Rows[0]["OPISSKLADISTA"].ToString() != "OpisSkladista")
                            {
                                sql2 = "select o.* from RecnikPodataka as o, RecnikPodataka as p where o.polje='OpisSkladista' and p.alijaspolja= '"
                                       + dknj.Rows[0]["alijaspolja"].ToString() + "' and o.alijastabele=p.alijastabele and o.dokument=p.dokument and p.dokument ='"
                                       + dknj.Rows[0]["dokument"].ToString() + "'";
                                DataTable drp = db.ReturnDataTable(sql2);
                                Console.WriteLine(sql2);
                                if (drp.Rows.Count == 0)
                                {
                                    MessageBox.Show("Nema Opisa skladista za polje: " + dknj.Rows[0]["OPISSKLADISTA"].ToString());
                                    DaNe = false;
                                }
                                else
                                {
                                    OpisSkladista.Value = drp.Rows[0]["alijaspolja"].ToString().Trim() + "=''" + dknj.Rows[0]["OPISSKLADISTA"].ToString() + "''";
                                }
                            }

                            if (dknj.Rows[0]["EvidentiraSe"].ToString() == "EvidentiraSe")
                            {
                                if (dknj.Rows[0]["Analitika"].ToString() == "Analitika")
                                {
                                    sif1.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif1Tabela.Value = "Skladiste";
                                }
                                else
                                {
                                    sif2.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif2Tabela.Value = "Skladiste";
                                }
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "banka")
                        {
                            OpisRacuna.Value = row["OpisRacuna"].ToString();
                            if (dknj.Rows[0]["EvidentiraSe"].ToString() == "EvidentiraSe")
                            {
                                if (dknj.Rows[0]["Analitika"].ToString() == "Analitika")
                                {
                                    sif1.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif1Tabela.Value = "Banka";
                                }
                                else
                                {
                                    sif2.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif2Tabela.Value = "Banka";
                                }
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "valuta")
                        {
                            Valuta.Value = dknj.Rows[0]["alijaspolja"].ToString();
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "komitent")
                        {
                            if (dknj.Rows[0]["OdakleJeKomitent"].ToString() != "OdakleJeKomitent")
                            {
                                sql2 = "select o.* from RecnikPodataka as o, RecnikPodataka as p where o.polje='OdakleJeKomitent' and o.TabelavView=p.TabelavView and p.alijaspolja= '"
                                       + dknj.Rows[0]["alijaspolja"].ToString() + "' and o.alijastabele=p.alijastabele and o.dokument=p.dokument and p.dokument ='"
                                       + dknj.Rows[0]["dokument"].ToString() + "'";
                                DataTable drp = db.ReturnDataTable(sql2);
                                Console.WriteLine(sql2);
                                if (drp.Rows.Count == 0)
                                {
                                    MessageBox.Show("Nema Odakle je komitent za polje: " + dknj.Rows[0]["OdakleJeKomitent"].ToString().Trim());
                                    DaNe = false;
                                }
                                else
                                {
                                    OdakleJeKomitent.Value = drp.Rows[0]["alijaspolja"].ToString().Trim() + "=''" + dknj.Rows[0]["OdakleJeKomitent"].ToString() + "''";
                                }
                            }

                            if (dknj.Rows[0]["EvidentiraSe"].ToString() == "EvidentiraSe")
                            {
                                if (dknj.Rows[0]["Analitika"].ToString() == "Analitika")
                                {
                                    sif1.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif1Tabela.Value = "KomitentiView";
                                }
                                else
                                {
                                    sif2.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif2Tabela.Value = "KomitentiView";
                                }
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "artikal")
                        {
                            if (dknj.Rows[0]["OpisTarife"].ToString() != "OpisTarife")
                            {
                                OpisTarife.Value = dknj.Rows[0]["OpisTarife"].ToString();
                            }

                            if (dknj.Rows[0]["EvidentiraSe"].ToString() == "EvidentiraSe")
                            {
                                if (dknj.Rows[0]["Analitika"].ToString() == "Analitika")
                                {
                                    sif1.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif1Tabela.Value = "ArtikliView";
                                }
                                else
                                {
                                    sif2.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                    Sif2Tabela.Value = "ArtikliView";
                                }
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "OrganizacioniDeo")
                        {
                            if (dknj.Rows[0]["Analitika"].ToString() == "Analitika")
                            {
                                sif1.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                Sif1Tabela.Value = "OrganizacionaStrukturaView";
                            }
                            else
                            {
                                sif2.Value       = dknj.Rows[0]["alijaspolja"].ToString();
                                Sif2Tabela.Value = "OrganizacionaStrukturaView";
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "duguje")
                        {
                            Duguje.Value = dknj.Rows[0]["alijaspolja"].ToString();
                            if (dknj.Rows[0]["alijaspolja"].ToString().Contains("DomVal") == true)
                            {
                                DugujeDomVal.Value = dknj.Rows[0]["alijaspolja"].ToString();
                            }
                            else
                            {
                                DugujeDomVal.Value = dknj.Rows[0]["alijaspolja"].ToString() + "DomVal";
                            }
                        }

                        if (dot.Columns[i].ColumnName.ToString() == "potrazuje")
                        {
                            Potrazuje.Value = dknj.Rows[0]["alijaspolja"].ToString();
                            if (dknj.Rows[0]["alijaspolja"].ToString().Contains("DomVal") == true)
                            {
                                PotrazujeDomVal.Value = dknj.Rows[0]["alijaspolja"].ToString();
                            }
                            else
                            {
                                PotrazujeDomVal.Value = dknj.Rows[0]["alijaspolja"].ToString() + "DomVal";
                            }
                        }
                    }
                }

                cmd.Parameters.AddWithValue("@ID_OpisTransakcijeStavke", row["ID_OpisTransakcijeStavke"].ToString());
                cmd.Parameters.AddWithValue("@ID_DokumentaView", iddokview);
                cmd.Parameters.Add(analitika);
                cmd.Parameters.Add(konto);
                cmd.Parameters.Add(sif1);
                cmd.Parameters.Add(sif2);
                cmd.Parameters.Add(OdakleJeKomitent);
                cmd.Parameters.Add(OpisRacuna);
                cmd.Parameters.Add(OpisSkladista);
                cmd.Parameters.AddWithValue("@Koef", "0");
                cmd.Parameters.Add(Duguje);
                cmd.Parameters.Add(Potrazuje);
                cmd.Parameters.AddWithValue("@Tabela", TTabela + "Totali");
                cmd.Parameters.Add(OpisTarife);
                cmd.Parameters.AddWithValue("@OBRADA", DateTime.Now);
                cmd.Parameters.AddWithValue("@OpisTransakcije", forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "OpisTransakcije").Vrednost);
                cmd.Parameters.Add(Sif1Tabela);
                cmd.Parameters.Add(Sif2Tabela);
                cmd.Parameters.Add(DugujeDomVal);
                cmd.Parameters.Add(PotrazujeDomVal);
                cmd.Parameters.Add(Valuta);
                cmd.Parameters.AddWithValue("@UUser", Program.idkadar);
                cmd.Parameters.AddWithValue("@TTime", DateTime.Now);
                cmd.Parameters.AddWithValue("@Upit", "");
                cmd.Parameters.AddWithValue("@IInsert", "");
                cmd.Parameters.Add(KontoTabela);

                if (db.Comanda(cmd) == "")
                {
                }
                else
                {
                    MessageBox.Show("Greska u upitu!");
                    DaNe = false;
                }

                if (DaNe == false)
                {
                    sql2 = "delete from transakcije where id_dokumentaview = @param0 and id_opistransakcijestavke = @param1";
                    DataTable dt = db.ParamsQueryDT(sql2, iddokview, row["ID_OpisTRansakcijeStavke"].ToString());
                }
            }

            db.ExecuteStoreProcedure("TransakcijeZaKnjizenje", "IdReda:" + idreda, "IdDokView:" + iddokview);
            return(DaNe);
        }
        public Boolean PovlacenjeSaPrethodnika(string Dokument, int IdDokView)
        {
            Boolean PovlacenjeSaPrethodnika = false;

            string          str             = "";
            string          strParams       = "";
            List <string[]> lista           = new List <string[]>();
            string          strTabela       = "Dokumenta";
            string          DDDokument      = "";
            string          DokumentP       = "";
            string          BrDokP          = "";
            string          rezultat        = "";
            string          dokType         = "";
            string          MagPolje        = "";
            string          Id_MagPolje     = "1";
            string          Id_Skladiste    = "1";
            string          ID_ArtikliView  = "1";
            string          ID_JedinicaMere = "1";
            string          NazivArtikla    = "";
            int             i = 0;

            string[] lot2       = new string[1];
            string[] kol        = new string[1];
            string[] IdMagPolje = new string[1];
            decimal  pom        = 0;
            decimal  pom2       = 0;
            decimal  pom3       = 0;

            DataTable ts = new DataTable();
            DataTable tt = new DataTable();

            switch (OdakleSePreuzima)
            {
            case "P":
            {
                if (Prethodni.Trim() == "")
                {
                    return(PovlacenjeSaPrethodnika);
                }
                if (MessageBox.Show("Da li preuzimate podatke sa prethodnog dokumenta?", "Povlačenje sa prethodnika", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    sql = "select  ds.naziv as Dokument , d.* from dokumenta as d, dokumentastablo as ds "
                          + " where ds.id_dokumentaStablo=d.id_DokumentaStablo and d.id_dokumenta=@param0";

                    DataTable dt = db.ParamsQueryDT(sql, ID_Prethodni);
                    if (dt.Rows.Count != 0)
                    {
                        DokumentP = dt.Rows[0]["Dokument"].ToString();
                        BrDokP    = dt.Rows[0]["BrojDokumenta"].ToString();
                        sql       = "select UlazniIzlazni  as NazivKlona,NacinRegistracije,prikaz,vrsta,OdakleSePreuzima from SifarnikDokumenta where Naziv=@param0";
                        DataTable dt1 = db.ParamsQueryDT(sql, DokumentP);
                        if (dt1.Rows.Count != 0)
                        {
                            DDDokument = dt1.Rows[0]["NazivKlona"].ToString();
                        }
                    }

                    if (NazivKlona == "LotOtpremnica")
                    {
                        MagPolje = Prompt.ShowDialog("", "Preuzimanje otpremnice ", "Unesite magacinsko polje: ");
                        if (MagPolje == "")
                        {
                            MessageBox.Show("Niste uneli magacinsko polje ponovite !!!"); return(PovlacenjeSaPrethodnika);
                        }
                        sql = "Select ID_MagacinskaPoljaStavkeView as ID_MagacinskaPolja From MagacinskaPoljaStavkeView where NazivPolja=@param0";
                        DataTable dt2 = db.ParamsQueryDT(sql, MagPolje);
                        if (dt2.Rows.Count != 0)
                        {
                            Id_MagPolje = dt2.Rows[0]["ID_MagacinskaPolja"].ToString();
                        }
                        else
                        {
                            MessageBox.Show("Pogresna vrednost za  polje: " + MagPolje);
                            return(PovlacenjeSaPrethodnika);
                        }
                    }

                    str = "Execute PrethSled '" + DDDokument + "', '" + NazivKlona.Trim() + "', " + ID_Prethodni + ", " + IdDokView;
                    lista.Add(new string[] { str, strParams, strTabela, dokType, IdDokView.ToString() });
                    lista.ToArray();

                    if (NazivKlona == "LotOtpremnica")
                    {
                        sql = "Select ID_KomitentiView  From " + DDDokument.Trim() + "Totali where ID_" + DDDokument.Trim() + "Totali=" + ID_Prethodni;
                        DataTable dtt = db.ReturnDataTable(sql);
                        if (dtt.Rows.Count != 0)
                        {
                            strParams  = "@param1=" + dtt.Rows[0]["ID_KomitentiView"].ToString() + "`";
                            strParams += "@param2=" + IdDokView.ToString() + "`";
                            str        = "update otpremnica set [ID_MestoIsporuke]=@param1 Where [ID_DokumentaView] = @param2";
                            lista.Add(new string[] { str, strParams, "otpremnica", dokType, IdDokView.ToString() });
                            lista.ToArray();
                        }

                        strParams  = "@param1=" + BrDokP + "`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update otpremnica set [BrojOtp]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "otpremnica", dokType, IdDokView.ToString() });
                        lista.ToArray();

                        strParams  = "@param1=Obrenovac`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update otpremnica set [MestoUtovara]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Otpremnica", dokType, IdDokView.ToString() });
                        lista.ToArray();

                        strParams  = "@param1=" + Program.idkadar.ToString() + "`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update otpremnica set [ID_Magacioner]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Otpremnica", dokType, IdDokView.ToString() });
                        lista.ToArray();

                        sql = " select  ID_ArtikliView ,Kolicina , ID_Skladiste,NazivArtikla,otpremnicastavke.ID_JedinicaMere "
                              + " from Otpremnica, Otpremnicastavke,artikli "
                              + " where otpremnica.id_dokumentaview = Otpremnicastavke.id_dokumentaview and ID_ArtikliView =id_Artikli "
                              + " and otpremnica.id_dokumentaview =@param0";
                        DataTable dt3 = db.ParamsQueryDT(sql, ID_Prethodni);
                        if (dt3.Rows.Count != 0)
                        {
                            Id_Skladiste = dt3.Rows[0]["ID_Skladiste"].ToString();

                            sql = " select ID_MagacinskaPoljaStavkeView  From MagacinskaPoljaStavkeView where NazivPolja=@param0 "
                                  + " and ID_Skladiste =@param1 ";
                            DataTable dt4 = db.ParamsQueryDT(sql, MagPolje, Id_Skladiste);
                            if (dt4.Rows.Count == 0)
                            {
                                return(PovlacenjeSaPrethodnika);
                            }

                            foreach (DataRow row in dt3.Rows)
                            {
                                ID_ArtikliView  = row["ID_ArtikliView"].ToString();
                                NazivArtikla    = row["NazivArtikla"].ToString();
                                ID_JedinicaMere = row["ID_JedinicaMere"].ToString();
                                pom             = 0;
                                sql             = " select  ID_LotView, SUM(Stanje) AS saldo, ID_MagacinskaPolja  from StanjeRobeNaSkl "
                                                  + " where ID_ArtikliView=@param0 and ID_MagacinskaPolja =@param1"
                                                  + " and ID_Skladiste =@param2 "
                                                  + " group by ID_LotView, DatumIsteka, ID_MagacinskaPolja "
                                                  + " having (Sum(Stanje) > 0) "
                                                  + " order by DatumIsteka ";
                                DataTable dt5 = db.ParamsQueryDT(sql, ID_ArtikliView, Id_MagPolje, Id_Skladiste);

                                if (dt5.Rows.Count == 0)
                                {
                                    MessageBox.Show("Nema dovoljno " + NazivArtikla + " na polju: " + MagPolje);

                                    strParams  = "@param1=" + IdDokView.ToString() + "`";
                                    strParams += "@param2=" + ID_ArtikliView + "`";
                                    str        = "delete from OtpremnicaStavke where [ID_DokumentaView] = @param1 and [ID_ArtikliView]=@param2";
                                    lista.Add(new string[] { str, strParams, "OtpremnicaStavke", dokType, IdDokView.ToString() });
                                    lista.ToArray();

                                    goto Sledeci;
                                }
                                i    = 0;
                                pom2 = 0;
                                foreach (DataRow row1 in dt5.Rows)
                                {
                                    lot2[i]       = row1["ID_LotView"].ToString();
                                    pom          += Convert.ToDecimal(row1["saldo"].ToString());
                                    IdMagPolje[i] = row1["ID_MagacinskaPolja"].ToString();

                                    if (pom >= Convert.ToDecimal(row["Kolicina"]))
                                    {
                                        if (i == 0)
                                        {
                                            kol[i] = row["Kolicina"].ToString();
                                        }
                                        else
                                        {
                                            pom3   = (Convert.ToDecimal(row["Kolicina"]) - pom2);
                                            kol[i] = pom3.ToString();
                                        }
                                        break;
                                    }
                                    else
                                    {
                                        pom2  += Convert.ToDecimal(row1["saldo"].ToString());
                                        kol[i] = row1["saldo"].ToString();
                                        i     += 1;
                                        Array.Resize(ref lot2, i + 1);
                                        Array.Resize(ref kol, i + 1);
                                        Array.Resize(ref IdMagPolje, i + 1);
                                    }
                                }

                                if (pom < Convert.ToDecimal(row["Kolicina"]))
                                {
                                    MessageBox.Show("Nema dovoljno " + NazivArtikla + " na polju: " + MagPolje);

                                    strParams  = "@param1=" + IdDokView.ToString() + "`";
                                    strParams += "@param2=" + ID_ArtikliView + "`";
                                    str        = "delete from OtpremnicaStavke where [ID_DokumentaView] = @param1 and [ID_ArtikliView]=@param2";
                                    lista.Add(new string[] { str, strParams, "OtpremnicaStavke", dokType, IdDokView.ToString() });
                                    lista.ToArray();

                                    goto Sledeci;
                                }


                                for (int c = 0; c <= i; c++)
                                {
                                    if (c == 0)
                                    {
                                        strParams  = "@param1=" + kol[c] + "`";
                                        strParams += "@param2=" + lot2[c] + "`";
                                        strParams += "@param3=" + IdMagPolje[c] + "`";
                                        strParams += "@param4=" + IdDokView.ToString() + "`";
                                        strParams += "@param5=" + ID_ArtikliView + "`";
                                        str        = "update OtpremnicaStavke set [kolicina]=@param1,[ID_LotView]=@param2, [ID_MagacinskaPolja]=@param3"
                                                     + " where [ID_DokumentaView] = @param4 and  [ID_ArtikliView]=@param5";
                                        lista.Add(new string[] { str, strParams, "OtpremnicaStavke", dokType, IdDokView.ToString() });
                                        lista.ToArray();
                                    }
                                    else
                                    {
                                        strParams  = "@param1=" + IdDokView.ToString() + "`";
                                        strParams += "@param2=" + ID_JedinicaMere + "`";
                                        strParams += "@param3=" + ID_ArtikliView + "`";
                                        strParams += "@param4=" + kol[c] + "`";
                                        strParams += "@param5=0`";
                                        strParams += "@param6=0`";
                                        strParams += "@param7= `";
                                        strParams += "@param8=" + Program.idkadar.ToString() + "`";
                                        strParams += "@param9=" + DateTime.Now + "`";
                                        strParams += "@param10=" + lot2[c] + "`";
                                        strParams += "@param11=" + IdMagPolje[c] + "`";
                                        strParams += "@param12= `";

                                        str  = "Insert Into OtpremnicaStavke ( [ID_DokumentaView], [ID_JedinicaMere],";
                                        str += " [ID_ArtikliView], [Kolicina], [ProdajnaCena], [KolicinaPoDokumentu],";
                                        str += " [Primedba],[UUser],[TTime],[ID_LotView],[ID_MagacinskaPolja],[Paleta])";
                                        str += " values (@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12)";

                                        lista.Add(new string[] { str, strParams, "OtpremnicaStavke", dokType, IdDokView.ToString() });
                                        lista.ToArray();
                                    }
                                }

                                Sledeci :;
                            }
                        }
                    }        // Kraj LOtOtpremnica
                    if (NazivKlona == "NarudzbenicaKupca")
                    {
                        strParams  = "@param1= `";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update Predracun set [Napomena]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Predracun", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }
                    if (NazivKlona == "KonacniRacun" || NazivKlona == "PDVIzlazniRacunZaUsluge")
                    {
                        strParams  = "@param1=1`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update Racun set [ID_Avansi]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Racun", dokType, IdDokView.ToString() });
                        lista.ToArray();

                        strParams  = "@param1=1`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update RacunZaUsluge set [ID_AvansiIzvodi]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "RacunZaUsluge", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }
                    //MENJAMO POLJA KOJA NE TREBAJU POSTOJATI U NOVOM DOKUMENTU A ZAPISANA SU U TOKU POVLACENJA SA PRETHODNIKA
                    if (NazivKlona == "KonacniUlazniRacun" || Dokument == "UlazniAvansniRacun")
                    {
                        strParams  = "@param1= `";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update Racun set [BrUr]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Racun", dokType, IdDokView.ToString() });
                        lista.ToArray();


                        strParams  = "@param1= `";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update Racun set [Otpremnica]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "Racun", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }

                    if (NazivKlona == "PDVUlazniRacunZaUsluge")
                    {
                        strParams  = "@param1= `";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update RacunZaUsluge set [BrUr]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "RacunZaUsluge", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }

                    if (NazivKlona.Contains("lazniJCI") == true)
                    {
                        strParams  = "@param1=" + ID_Prethodni + "`";
                        strParams += "@param2=" + IdDokView.ToString() + "`";
                        str        = "update JCI set [ID_RacunTotali]=@param1 Where [ID_DokumentaView] = @param2";
                        lista.Add(new string[] { str, strParams, "JCI", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }
                    // Jovana 20.09.21 - za Bojanu P. kod preuzimanja izlaznog JCI-ja sa ino racuna da uzme vrednost sa rabatom
                    if (NazivKlona == "IzlazniJCI")
                    {
                        sql = " select ID_DokumentaStablo from dokumenta "
                              + " where id_dokumenta=@param0 ";
                        DataTable dtDok = db.ParamsQueryDT(sql, ID_Prethodni);

                        if (dtDok.Rows.Count != 0)
                        {
                            if (dtDok.Rows[0]["ID_DokumentaStablo"].ToString() == "4")
                            {
                                strParams  = "@param1=" + IdDokView.ToString() + "`";
                                strParams += "@param2=" + ID_Prethodni + "`";
                                str        = "update JCIStavke set [ProdajnaCena]=NetoProdajna from InoRacunTotali Where JCIStavke.[ID_DokumentaView] = @param1"
                                             + "  and JCIStavke.ID_ArtikliView = InoRacunTotali.ID_ArtikliView and ID_InoRacunTotali=@param2 ";
                                lista.Add(new string[] { str, strParams, "JCIStavke", dokType, IdDokView.ToString() });
                                lista.ToArray();
                            }
                        }
                    }
                    // Jovana 16.12.21 - za Rasu da moze da preuzme ino racun bez kursne liste azurira se datumu uplate na datum racuna, a ne na danasnji datum
                    if (NazivKlona == "InoRacun")
                    {
                        strParams = "@param1=" + IdDokView.ToString() + "`";
                        str       = "update Racun set DatumUplate = Datum from Racun, Dokumenta Where Racun.ID_DokumentaView =Dokumenta.ID_Dokumenta and Racun.[ID_DokumentaView] = @param1";
                        lista.Add(new string[] { str, strParams, "Racun", dokType, IdDokView.ToString() });
                        lista.ToArray();
                    }

                    str = "Execute TotaliZaDokument '" + NazivKlona.Trim() + "'," + IdDokView.ToString();
                    lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
                    lista.ToArray();

                    sql = "select polje from recnikpodataka where dokument=@param0 and polje=@param1";
                    tt  = db.ParamsQueryDT(sql, NazivKlona, "NazivSkl");
                    if (tt.Rows.Count > 0)
                    {
                        // poziv potrebnih storedprocedura
                        str = "Execute CeneArtikalaPoSkladistimaIStanje " + IdDokView.ToString();
                        lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
                        lista.ToArray();

                        str = "Execute StanjeRobePoLotu " + IdDokView.ToString();
                        lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
                        lista.ToArray();

                        // provera stanja nakon povlacenja slogova sa prethodnika
                        if (TrebaProvera != "0")
                        {
                            dokType   = "";
                            strParams = "";
                            str       = "Execute stanje";
                            strTabela = NazivKlona;
                            lista.Add(new string[] { str, strParams, strTabela, dokType, IdDokView.ToString() });
                            lista.ToArray();
                        }
                    }

                    //Djora 06.09.21
                    //BackgroundWorker bw = new BackgroundWorker();
                    //bw.DoWork += new DoWorkEventHandler(bw_DoWork);
                    //this.bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
                    //this.bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
                    //bw.WorkerReportsProgress = true;
                    //bw.RunWorkerAsync();

                    //Djora 06.09.21
                    var thread2 = new System.Threading.Thread(WriteTextUnsafe);
                    thread2.Start();


                    //Djora 04.09.21
                    //clsRazneFunkcije spin = new clsRazneFunkcije();
                    //spin.SakriSveKontrole();

                    //spin.spinOn2();
                    //spin.spinerOn();

                    //frmSpiner sp = new frmSpiner();
                    //sp.Show();

                    rezultat = db.ReturnSqlTransactionParamsFull(lista);

                    //Djora 04.09.21
                    //spin.spinOff();

                    //Djora 10.09.21
                    //if (rezultat.Trim() != "") { lista.Clear(); MessageBox.Show(rezultat); return false; }
                    if (rezultat.Substring(rezultat.IndexOf("|") + 1).Trim() != "")
                    {
                        lista.Clear(); MessageBox.Show(rezultat); return(false);
                    }

                    lista.Clear();
                    // Jovana 27.04.21
                    // upis u log
                    CRUD l = new CRUD();
                    l.CreateLog(IdDokView.ToString(), "-1", Dokument, "UNOS", "Uuu" + NazivKlona + "StavkeView");

                    //Jovana 25.05.21
                    clsAzuriranja az = new clsAzuriranja();
                    az.DodatnaAzuriranja(NazivKlona, IdDokView.ToString());
                    az.DodatnaAzuriranjaPosleUnosa(NazivKlona, IdDokView.ToString());

                    db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivKlona, "IdDokument:" + IdDokView.ToString());
                    db.ExecuteStoreProcedure("CeneArtikalaPoSkladistimaIStanje", "IdDokView:" + IdDokView.ToString());
                    db.ExecuteStoreProcedure("StanjeRobePoLotu", "IdDokView:" + IdDokView.ToString());
                }
            }
            break;

            case "F":
            case "M":

                if (NazivKlona == "KursnaLista")
                {
                    string      format   = "dd.MM.yy";
                    CultureInfo provider = CultureInfo.InvariantCulture;

                    string Datum = Prompt.ShowDialog("", "Prepis kursne liste", "Izaberite datum iz kog prepisujete u formatu dd.mm.yy");
                    if (Datum.Trim() == "")
                    {
                        PovlacenjeSaPrethodnika = false;
                        break;
                    }
                    //tamara 7.5.2021.
                    string proveraDatuma = Datum.ToString();
                    // Jovana 29.11.21 - nije postojala validacija datuma
                    clsKorekcija k = new clsKorekcija();
                    if (k.CheckDate(proveraDatuma) == false)
                    //    bool rez = Validacija(proveraDatuma);
                    //if (rez==false)
                    {
                        MessageBox.Show("Niste uneli ispravan format datuma.");
                        PovlacenjeSaPrethodnika = false;
                        return(PovlacenjeSaPrethodnika);
                    }
                    else
                    {
                        DateTime DatumKursneListe = DateTime.ParseExact(Datum, format, provider);
                        sql = "select ID_DokumentaView from KursnaLista where Datum = @param0 ";
                        DataTable dkl = db.ParamsQueryDT(sql, DatumKursneListe);
                        if (dkl.Rows.Count == 0)
                        {
                            MessageBox.Show("Nema kursne liste za taj datum u bazi");
                        }
                        else
                        {
                            sql = "select datum from Dokumenta where Id_Dokumenta = @param0 ";
                            DataTable dkl1 = db.ParamsQueryDT(sql, IdDokView);
                            if (dkl1.Rows.Count == 0)
                            {
                                MessageBox.Show("Nije registrovan dokument kursna lista!");
                            }
                            else
                            {
                                sql = "select datum from KursnaLista where Datum = @param0 ";
                                DataTable dkl2 = db.ParamsQueryDT(sql, dkl1.Rows[0]["datum"].ToString());
                                if (dkl2.Rows.Count == 0)
                                {
                                    db.ExecuteStoreProcedure("[PrepisKursneListe]", "Datum:" + dkl1.Rows[0]["datum"].ToString(),
                                                             "ID_DokumentaViewPreth:" + dkl.Rows[0]["ID_DokumentaView"].ToString(),
                                                             "ID_DokumentaViewSledb:" + IdDokView.ToString());
                                    db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivKlona, "IdDokument:" + IdDokView);
                                }
                                else
                                {
                                    MessageBox.Show("Kursna Lista za taj datum vec postoji!");
                                }
                            }
                        }
                    }
                }
                break;
            }
            PovlacenjeSaPrethodnika = true;
            return(PovlacenjeSaPrethodnika);
        }
        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);
        }
Beispiel #15
0
        //Jovana 02.06.21
        public bool PozivIzvestaja(string mdokument)
        {
            switch (mdokument.Trim())
            {
            case "DospecePoKontima":

            case "DospecaObaveza":

            case "DospecaPotrazivanja":

            case "PregledPrometaKomercijalistaPoMesecima":

                if (Program.NazivBaze != "dbbbTestNew2003Bankom" || Program.NazivBaze != "BankomTest21")
                {
                    db.ExecuteStoreProcedure("AzurirajDospeca");
                }
                break;

            case "PrometKomercijalistaPoMesecima":
                db.ExecuteStoreProcedure("AzurirajDospecaPoMesecima", "Firma:" + Program.imeFirme);
                break;

            case "StanjeRobeUporedno":
                if (Program.imeFirme == "Bankom" || Program.imeFirme == "Bioprotein")
                {
                    DateTime d       = DateTime.Now;
                    string   DatumDo = d.ToString("dd.MM.yy");
                    DatumDo = Prompt.ShowDialog(DatumDo, "Uporedno stanje", "Unesite datum sa kojim zelite stanje");
                    if (DatumDo == "")
                    {
                        return(false);
                    }

                    db.ExecuteStoreProcedure("UporednoStanjeRobe", "DatumStanja:" + DatumDo.Trim());

                    //                     If Not IsDate(DatumDo) Then
                    //                //                        MsgBox "Pogresno unesen datum ponovite !!"
                    //                //                        GoTo 2:
                    //                //                     End If
                    //                     cnn1.Execute "UporednoStanjeRobe '" + Trim(DatumDo) + "'", adCmdStoredProc
                }
                break;

            case "DnevniPromet":
                db.RunAJob("dnevni" + Program.imeFirme);
                break;
            }
            return(true);
            // '------------------------
            //string ssel = "";
            //ssel = " Select * from sifarnikDokumenta where naziv=@param0";
            //DataTable ts = new DataTable();
            //ts = db.ParamsQueryDT(ssel, mdokument);

            //if (ts.Rows.Count > 0)
            //{
            //    string OperacijaDokumenta = "";
            //    string Dokument = mdokument;
            //    string Naslov = mNaslov;
            //    string PPrikaz = ts.Rows[0]["prikaz"].ToString();
            //    string NacinRegistracije = ts.Rows[0]["NacinRegistracije"].ToString();
            //    string NazivKlona = ts.Rows[0]["UlazniIzlazni"].ToString();
            //    string DokumentJe = ts.Rows[0]["Vrsta"].ToString();
            //    long IdDokView = 0;
            //    if (DokumentJe == "I")
            //        IdDokView = -1;
            //    else
            //        IdDokView = 0;
            //}
        }
Beispiel #16
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);
            }
        }
        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);
        }
Beispiel #18
0
        public bool ZatvaranjeAvansa(Form forma1, string KojiDok, string IdDokView)

        {
            //' Automatsko zatvaranje avansa
            double Iznos            = 0.0;
            string sql              = "";
            bool   ZatvaranjeAvansa = false;
            string NazivKlona       = "";

            if (KojiDok == "ZatvaranjeAvansa")
            {
                //Jovana 21.04.21
                //if (forma1.Controls.OfType<Field>().FirstOrDefault(n => n.IME == "Konto").Vrednost.Trim() != "") ZatvaranjeAvansa = true;

                sql = " select s.ulazniizlazni as NazivKlona"
                      + " from SifarnikDokumenta as s"
                      + "  Where s.naziv=@param0";
                DataTable sd = db.ParamsQueryDT(sql, KojiDok);

                //'zapamtimo podatke sa odabranog dokumenta
                if (sd.Rows.Count > 0)
                {
                    NazivKlona = sd.Rows[0]["NazivKlona"].ToString();
                }



                if (forma1.Controls["OOperacija"].Text == "UNOS" && forma1.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Konto").Vrednost.Trim() == "")
                {
                    if (MessageBox.Show("Da li zatvarate avanse ? ", "Zatvaranje avansa", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (MessageBox.Show("Za kupce - da, za dobavljace - ne ? ", "Zatvaranje avansa", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            //kupci
                            sql = "select id_dokumentaview from PocetnoStanjeKonta where id_dokumentaview= @param0";
                            DataTable t = db.ParamsQueryDT(sql, IdDokView);
                            if (t.Rows.Count == 0)
                            {
                                sql = "insert into PocetnoStanjeKonta (id_DokumentaView, UUser) values (@param0,@param1) ";
                                DataTable t2 = db.ParamsQueryDT(sql, IdDokView, Program.idkadar);
                            }
                            sql = " select NazivKomitenta, Avansi, Kupci,ZatvaranjeAvansaKupci.OznVal, a.ID_Kontni as ID_KontniA,k.ID_Kontni as ID_KontniK, ID_SifrarnikValuta "
                                  + " from ZatvaranjeAvansaKupci, Kontni as A, Kontni as K ,SifrarnikValuta "
                                  + " where kupci <> 0 And ZatvaranjeAvansaKupci.kontoA = a.konto and ZatvaranjeAvansaKupci.kontoK = k.konto and SifrarnikValuta.OznVal=ZatvaranjeAvansaKupci.OznVal";
                            DataTable t1 = db.ParamsQueryDT(sql);
                            if (t1.Rows.Count > 0)
                            {
                                foreach (DataRow row in t1.Rows)
                                {
                                    if (Convert.ToDouble(row["Avansi"]) >= Convert.ToDouble(row["Kupci"]))
                                    {
                                        Iznos = Convert.ToDouble(row["Kupci"]);
                                    }
                                    else
                                    {
                                        Iznos = Convert.ToDouble(row["Avansi"]);
                                    }

                                    sql = " insert into PocetnoStanjeKontaStavke(id_DokumentaView, ID_Kontni,ID_KomitentiView,ID_SifrarnikValuta,NazivAnalitike, Uplate, Isplate, UUser, NazivSubanalitike ) "
                                          + " values(@param0,@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8) ";
                                    DataTable t3 = db.ParamsQueryDT(sql, IdDokView, row["ID_KontniA"], 1, row["ID_SifrarnikValuta"], row["NazivKomitenta"], Iznos, 0, Program.idkadar, "");

                                    DataTable t4 = db.ParamsQueryDT(sql, IdDokView, row["ID_KontniK"], 1, row["ID_SifrarnikValuta"], row["NazivKomitenta"], 0, Iznos, Program.idkadar, "");
                                }

                                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivKlona.Trim(), "IdDokument:" + IdDokView);
                                ZatvaranjeAvansa = true;
                            }
                        }
                        else //dobavljaci
                        {
                            sql = "select id_dokumentaview from PocetnoStanjeKonta where id_dokumentaview= @param0";
                            DataTable t = db.ParamsQueryDT(sql, IdDokView);
                            if (t.Rows.Count == 0)
                            {
                                sql = "insert into PocetnoStanjeKonta (id_DokumentaView, UUser) values (@param0,@param1) ";
                                DataTable t2 = db.ParamsQueryDT(sql, IdDokView, Program.idkadar);
                            }
                            sql = " select NazivKomitenta, Avansi, Dobavljaci,ZatvaranjeAvansa.OznVal , a.ID_Kontni as ID_KontniA,d.ID_Kontni as ID_KontniD, ID_SifrarnikValuta "
                                  + " from ZatvaranjeAvansa, Kontni as A, Kontni as d ,SifrarnikValuta  "
                                  + " where Dobavljaci<> 0 and ZatvaranjeAvansa.kontoA = a.konto and ZatvaranjeAvansa.kontoD = d.konto and SifrarnikValuta.OznVal=ZatvaranjeAvansa.OznVal";
                            DataTable t1 = db.ParamsQueryDT(sql);
                            if (t1.Rows.Count > 0)
                            {
                                foreach (DataRow row in t1.Rows)
                                {
                                    if (Convert.ToDouble(row["Avansi"]) >= Convert.ToDouble(row["Dobavljaci"]))
                                    {
                                        Iznos = Convert.ToDouble(row["Dobavljaci"]);
                                    }
                                    else
                                    {
                                        Iznos = Convert.ToDouble(row["Avansi"]);
                                    }

                                    sql = " insert into PocetnoStanjeKontaStavke(id_DokumentaView, ID_Kontni,ID_KomitentiView,ID_SifrarnikValuta,NazivAnalitike, Uplate, Isplate, UUser, NazivSubanalitike ) "
                                          + " values(@param0,@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8) ";
                                    DataTable t3 = db.ParamsQueryDT(sql, IdDokView, row["ID_KontniA"], 1, row["ID_SifrarnikValuta"], row["NazivKomitenta"], Iznos, 0, Program.idkadar, "");

                                    DataTable t4 = db.ParamsQueryDT(sql, IdDokView, row["ID_KontniD"], 1, row["ID_SifrarnikValuta"], row["NazivKomitenta"], 0, Iznos, Program.idkadar, "");
                                }

                                db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + NazivKlona.Trim(), "IdDokument:" + IdDokView);
                                ZatvaranjeAvansa = true;
                            }
                        }
                    }
                }
                else
                {
                    ZatvaranjeAvansa = true;
                }
            }
            return(ZatvaranjeAvansa);
        }