示例#1
0
        public override string InitClass(DataSet DS, DataAccess Conn)
        {
            int fasefine     = CfgFn.GetNoNullInt32(DS.Tables["expense"].Rows[0]["nphase"]);
            int fasespesamax = CfgFn.GetNoNullInt32(Conn.GetSys("maxexpensephase"));

            ga = new GestioneAutomatismi(null, Conn, Disp, DS, fasefine, fasespesamax, "expense", false);
            bool res = ga.GeneraAutomatismiAfterPost(true);

            if (!res)
            {
                return("NoSave");
            }
            DataSet DSP = ga.DSP;

            MetaData metaSpesa = Disp.Get("expense");

            metaSpesa.ComputeRowsAs(DSP.Tables["expense"], "posting");

            MetaData metaEntrata = Disp.Get("income");

            metaEntrata.ComputeRowsAs(DSP.Tables["income"], "posting");

            MetaData metaVarSpesa = Disp.Get("expensevar");

            metaVarSpesa.ComputeRowsAs(DSP.Tables["expensevar"], "posting");

            return(base.InitClass(DSP, Conn));
        }
示例#2
0
        private DataSet aggiornaDSP(DataSet DSP, DataAccess Conn)
        {
            int fasespesafine = Convert.ToInt32(DSP.Tables["expense"].ExtendedProperties["fasespesafine"]);
            int fasespesamax  = CfgFn.GetNoNullInt32(Conn.GetSys("maxexpensephase"));

            GestioneAutomatismi ga = new GestioneAutomatismi(null, Conn, Disp,
                                                             DSP, fasespesafine, fasespesamax, "expense", false);
            bool res = ga.GeneraAutomatismiAfterPost(true);

            if (!res)
            {
                return(null);
            }
            return(ga.DSP);
        }
示例#3
0
        private void btnCrea_Click(object sender, System.EventArgs e)
        {
            DataRow[] sel = GetRigheSelezionate();
            if (sel == null || sel.Length == 0)
            {
                MessageBox.Show(this, "Nessuna riga selezionata");
                return;
            }

            foreach (DataRow R in sel)
            {
                creaMovSpesa(R);
            }


            int fasespesamax = CfgFn.GetNoNullInt32(Meta.GetSys("maxexpensephase"));



            GestioneAutomatismi ga = new GestioneAutomatismi(this, Meta.Conn, Meta.Dispatcher, DS2.Copy(),
                                                             1, fasespesamax, "expense", true);

            ga.GeneraClassificazioniAutomatiche(ga.DSP, true);

            bool res = ga.GeneraAutomatismiAfterPost(true);

            if (!res)
            {
                MessageBox.Show(this, "Si è verificato un errore o si è deciso di non salvare! L'operazione sarà terminata");
                Resetta();
                return;
            }

            res = ga.doPost(Meta.Dispatcher);
            if (res)
            {
                ViewAutomatismi(ga.DSP);
            }
            Resetta();
        }
示例#4
0
        private void btnCrea_Click(object sender, System.EventArgs e)
        {
            string          dataMember = dgMovSpesa.DataMember;
            CurrencyManager cm         = (CurrencyManager)dgMovSpesa.BindingContext[DS2, dataMember];
            DataView        view       = cm.List as DataView;

            if (view == null)
            {
                MessageBox.Show(this, "Lista vuota!");
                return;
            }
            ArrayList movimenti       = new ArrayList();
            string    filtroMovimenti = "";

            MovimentiElaborati = new Hashtable();

            for (int i = 0; i < view.Count; i++)
            {
                if (dgMovSpesa.IsSelected(i))
                {
                    object idSpesa = view[i]["idexp"];
                    if (movimenti.IndexOf(idSpesa) == -1)
                    {
                        movimenti.Add(idSpesa);
                        filtroMovimenti += ", " + QHS.quote(idSpesa) + "";
                    }
                }
            }

            if (movimenti.Count == 0)
            {
                MessageBox.Show(this, "Nessun movimento di spesa selezionato!");
                return;
            }

            if (filtroMovimenti != "")
            {
                filtroMovimenti = filtroMovimenti.Substring(1);
            }

            foreach (object idSpesa in movimenti)
            {
                creaMovSpesa(idSpesa);
            }


            int fasespesamax = CfgFn.GetNoNullInt32(Meta.GetSys("maxexpensephase"));



            GestioneAutomatismi ga = new GestioneAutomatismi(this, Meta.Conn, Meta.Dispatcher, DS2.Copy(),
                                                             fasespesamax, fasespesamax, "expense", true);

            ga.GeneraClassificazioniAutomatiche(ga.DSP, true);

            bool res = ga.GeneraAutomatismiAfterPost(true);

            if (!res)
            {
                MessageBox.Show(this, "Si è verificato un errore o si è deciso di non salvare! L'operazione sarà terminata");
                Resetta();
                return;
            }

            res = ga.doPost(Meta.Dispatcher);
            if (res)
            {
                ViewAutomatismi(ga.DSP);
            }
            Resetta();
        }
示例#5
0
        private void btnAzzera_Click(object sender, System.EventArgs e)
        {
            bool   creaVarCrediti     = false;
            string filterAssestamento = QHS.AppAnd(QHC.CmpEq("variationkind", 3), QHS.CmpEq("yvar", nextYear));

            DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.finvar, null, filterAssestamento, null, true);

            if ((fasebilancio == faseimpegno) && (DS.finvar.Rows.Count == 0) && (esisteNextYear.ToString().ToUpper() == "S"))
            {
                if (MessageBox.Show("Attenzione la FASE BILANCIO e la FASE IMPEGNO sono coincidenti." +
                                    "Si desidera effettuare una variazione di dotazione crediti contestualmente all'azzeramento della disponibilità dei movimenti?",
                                    "Conferma", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    creaVarCrediti = true;
                }
            }

            if ((fasebilancio == faseimpegno) && (DS.finvar.Rows.Count > 0) && (esisteNextYear.ToString().ToUpper() == "S"))
            {
                if (MessageBox.Show("Attenzione la FASE BILANCIO e la FASE IMPEGNO sono coincidenti ed esiste una variazione di assestamento dei crediti nell'esercizio successivo." +
                                    " Si desidera effettuare una variazione di dotazione crediti contestualmente all'azzeramento della disponibilità dei movimenti?",
                                    "Conferma", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    creaVarCrediti = true;
                }
            }
            DataRow DR = null;

            if (creaVarCrediti)
            {
                DR = salvaVarCrediti();
            }

            string          dataMember = dgMovSpesa.DataMember;
            CurrencyManager cm         = (CurrencyManager)dgMovSpesa.BindingContext[DS, dataMember];
            DataView        view       = cm.List as DataView;

            if (view == null)
            {
                MessageBox.Show(this, "Lista vuota!");
                return;
            }
            ArrayList movimenti       = new ArrayList();
            string    filtroMovimenti = "";

            for (int i = 0; i < view.Count; i++)
            {
                if (dgMovSpesa.IsSelected(i))
                {
                    object idSpesa = view[i]["idexp"];
                    if (movimenti.IndexOf(QHS.quote(idSpesa)) == -1)
                    {
                        movimenti.Add(idSpesa);
                        filtroMovimenti += ", " + QHS.quote(idSpesa);
                    }
                }
            }

            if (movimenti.Count == 0)
            {
                MessageBox.Show(this, "Nessun movimento di spesa selezionato!");
                return;
            }

            filtroMovimenti = filtroMovimenti.Substring(1);

            string filtraexpense  = QHS.FieldInList("idexp", filtroMovimenti);
            string filtroMovClass = QHS.AppAnd(filtraexpense, QHS.CmpEq("ayear", Meta.GetSys("esercizio")));

            DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expensesorted, null, filtroMovClass, null, true);
            int    fasespesamax      = CfgFn.GetNoNullInt32(Meta.GetSys("maxexpensephase"));
            string filterimputazione = QHS.AppAnd(filtroMovClass, QHS.CmpEq("ayear", Meta.GetSys("esercizio")));

            DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expense, null, filtraexpense, null, true);
            DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expenseyear, null, filterimputazione, null, true);


            foreach (object idSpesa in movimenti)
            {
                azzeraRiporto(idSpesa, DR);
            }


            GestioneAutomatismi ga = new GestioneAutomatismi(this, Meta.Conn, Meta.Dispatcher, DS.Copy(),
                                                             fasespesamax, fasespesamax, "expense", true);


            bool res = ga.GeneraAutomatismiAfterPost(true);

            if (!res)
            {
                MessageBox.Show(this, "Si è verificato un errore o si è deciso di non salvare! L'operazione sarà terminata");
                Resetta();
                return;
            }

            res = ga.doPost(Meta.Dispatcher);
            if (res)
            {
                ViewAutomatismi(ga.DSP);
            }
            Resetta();
        }