Esempio n. 1
0
 public void MetaData_AfterRowSelect(DataTable T, DataRow R)
 {
     if (T.TableName == "deductioncode" && R != null)
     {
         txtLong.Text = QueryCreator.GetPrintable(R["longdescription"].ToString());
     }
 }
Esempio n. 2
0
        public void MetaData_AfterLink()
        {
            Meta               = MetaData.GetMetaData(this);
            Meta.CanSave       = false;
            Meta.SearchEnabled = false;
            Meta.CanInsert     = false;

            GetData.CacheTable(DS.sortingkind, null, "description", true);

            int esercizio = (int)Meta.GetSys("esercizio");

            txtDescrizione.Text =
                QueryCreator.GetPrintable(
                    "Questa funzione trasferisce tutte le classificazioni di movimenti dell'anno " + esercizio.ToString() +
                    " che sono residui nell'anno " + (esercizio + 1) + ".\n\r" +
                    "In particolare, l'importo classificato nel " + (esercizio + 1) + " sarà la quota parte dell'importo classificato " +
                    "nel " + esercizio + " rispetto al rappporto tra l'importo corrente del movimento finanziario nel " + esercizio +
                    " e l'importo corrente del " + (esercizio + 1) + ".\n\r" +
                    "Ad esempio, se ho un impegno del " + esercizio + " di importo 1000 e di cui ho pagato 400, e classificato 1000," +
                    " nel " + (esercizio + 1) + " questo sarà un movimento residuo che avrà importo (" + (esercizio + 1) + ") 600, e risulterà, dopo l'esecuzione di questa funzione," +
                    " classificato per un importo di 600.\n\r" +
                    "Normalmente questa operazione può essere fatta dopo aver trasferito i residui e aver classificato tutti i movimenti del " + esercizio +
                    ". E' comunque possibile eseguirla più volte, per integrare altre classificazioni o sovrascrivere quelle precedentemente trasferite."
                    );
        }
Esempio n. 3
0
        public void MetaData_BeforeFill()
        {
            DataRow R = HelpForm.GetLastSelected(DS.checkup);

            if (R != null)
            {
                R["listerrors"]  = QueryCreator.GetPrintable(R["listerrors"].ToString());
                R["checkerrors"] = QueryCreator.GetPrintable(R["checkerrors"].ToString());
                R["corrige"]     = QueryCreator.GetPrintable(R["corrige"].ToString());
            }
        }
Esempio n. 4
0
 private void ShowMsg(string msg, string detail)
 {
     QueryCreator.ShowError(this, msg, QueryCreator.GetPrintable(detail));
 }
Esempio n. 5
0
        /// <summary>
        /// Manda in stampa il documento
        /// </summary>
        /// <param name="ShowPrintDialog">True vuol dire che sono in anteprima, ricompare
        /// il PrintDialog</param>
        public bool StampaReport()
        {
            if (errore)
            {
                return(false);
            }
            if (printerName == null)
            {
                return(false);
            }
            if (ReportDoc == null)
            {
                return(false);
            }
            if (oneprint && printed)
            {
                MessageBox.Show("Una sola copia della stampa è ammessa.");
                return(false);
            }
            //se in anteprima mostro il printDialog con tutte le proprietà impostate
            //in precedenza

            PrintDialog pd = new PrintDialog();

            pd.PrinterSettings             = new PrinterSettings();
            pd.PrinterSettings.PrinterName = printerName;


            string papersize = ModuleReport["papersize"].ToString();



            //pd.Document = pdoc;
            //pd.PrinterSettings = pdoc.PrinterSettings;

            ReportPages = 1;
            ReportPageRequestContext oPageContext = new ReportPageRequestContext();

            operating = true;

            try {
                ReportPages = ReportDoc.FormatEngine.GetLastPageNumber(oPageContext);
            }
            catch (Exception E) {
                QueryCreator.ShowException("Errore nel calcolo del numero totale delle pagine", E);
                errore    = true;
                operating = false;
                return(false);
            }

            if (ReportPages < 1)
            {
                ReportPages = 1;
            }

            pd.AllowCurrentPage = false;
            pd.AllowSomePages   = (ReportPages > 1) && (!oneprint);
            pd.AllowSelection   = false;
            if (pd.AllowSomePages)   //pdoc.PrinterSettings != null &&

            {
                pd.PrinterSettings.FromPage = 1;
                pd.PrinterSettings.ToPage   = ReportPages;
            }

            pd.AllowPrintToFile = !oneprint;

            if (papersize.ToUpper() != "ASK")
            {
                setPrintDocument(pd.PrinterSettings, pd.PrinterSettings.DefaultPageSettings);
            }

            if (pd.ShowDialog(this) != DialogResult.OK)
            {
                operating = false;
                return(false);
            }

            //Reimposto il formato carta
            //setPrintDocument(ref pdoc);

            //pdoc.PrinterSettings = pd.PrinterSettings;

            //pdoc.PrinterSettings.Collate = pd.PrinterSettings.Collate;
            //if (pdoc.PrinterSettings != null) {
            pd.PrinterSettings.Collate = (pd.PrinterSettings.Copies > 1) &&
                                         (pd.PrinterSettings.ToPage > pd.PrinterSettings.FromPage);
            //}


            //imposto la stampante selezionata
            try {
                //ReportDoc.PrintOptions.PrinterName = pdoc.DefaultPageSettings.PrinterSettings.PrinterName;
                ReportDoc.PrintOptions.PrinterName = pd.PrinterSettings.PrinterName;
            }
            catch (Exception E) {
                operating = false;
                QueryCreator.ShowException("La stampante selezionata (" + printerName + ") non è valida", E);
                errore = true;
                return(false);
            }

            //Se non sono in anteprima stampo direttamente
            try {
                ReportDoc.PrintToPrinter(pd.PrinterSettings, pd.PrinterSettings.DefaultPageSettings, false);
                //ReportDoc.PrintToPrinter(pdoc.PrinterSettings.Copies,
                //    (pdoc.PrinterSettings.Copies > 1) &&
                //    (pdoc.PrinterSettings.ToPage > pdoc.PrinterSettings.FromPage), //pdoc.PrinterSettings.Collate,
                //    pdoc.PrinterSettings.FromPage,
                //    pdoc.PrinterSettings.ToPage);
                printed   = true;
                operating = false;
                return(true);
            }
            catch (Exception E) {
                errore    = true;
                operating = false;
                if (!E.ToString().Contains("OnStartPrint") && !E.ToString().Contains("OnEndPage"))
                {
                    meta.LogError("Errore nella stampa\r\n" + elencoparametri, E);
                }
                QueryCreator.ShowException(
                    QueryCreator.GetPrintable(
                        "Si è verificato un errore in fase di invio dei dati alla stampante.\n" +
                        "Controllare che il server di stampa sia acceso ed accessibile dal proprio computer."), E);
                return(false);
            }
        }
Esempio n. 6
0
        public void MetaData_BeforeFill()
        {
            string s = DS.Tables["alert"].Rows[0]["query"].ToString();

            DS.Tables["alert"].Rows[0]["query"] = QueryCreator.GetPrintable(s);
        }
Esempio n. 7
0
        public static bool generaSortingKind(DataAccess Conn, DataSet D, StringWriter writer)
        {
            CQueryHelper QHC      = new CQueryHelper();
            QueryHelper  QHS      = Conn.GetQueryHelper();
            DataTable    TSorKind = D.Tables["sortingkind"];
            DataTable    TSorApp  = D.Tables["sortingapplicability"];
            DataTable    TSorLev  = D.Tables["sortinglevel"];
            DataTable    TSor     = D.Tables["sorting"];

            DataRow SorKind = TSorKind.Rows[0];
            //Ciclo su sortingkind
            StringBuilder sql        = new StringBuilder();
            string        filterkind = QHS.CmpEq("idsorkind", SorKind["idsorkind"]);

            //
            //Mette la riga in sortingkind
            sql.Append("DECLARE @idsorkind int\r\n");
            sql.Append("SET @idsorkind = isnull((SELECT MAX(idsorkind) from sortingkind),0)+1 \r\n");

            string insert = "INSERT INTO  sortingkind (";
            bool   first  = true;

            foreach (DataColumn C in TSorKind.Columns)
            {
                if (!first)
                {
                    insert += ",";
                }
                first   = false;
                insert += C.ColumnName;
            }
            insert += ") VALUES (";
            first   = true;
            string values = "";

            foreach (DataColumn C in TSorKind.Columns)
            {
                string ccolName = C.ColumnName;
                if (!first)
                {
                    values += ",";
                }
                first = false;
                if (ccolName == "idsorkind")
                {
                    values += "@idsorkind";
                }
                else
                {
                    values += QueryCreator.GetPrintable(QHS.quote(SorKind[ccolName]));
                }
            }
            values += ")\r\n";
            sql.Append(insert + values);

            //Mette le righe in sortingapplicability
            if (TSorApp.Rows.Count > 0)
            {
                sql.AppendLine();
                sql.AppendLine("-- GENERAZIONE DATI PER sortingapplicability");
            }
            insert = "INSERT INTO  sortingapplicability (";
            first  = true;
            foreach (DataColumn CC in TSorApp.Columns)
            {
                if (!first)
                {
                    insert += ",";
                }
                first   = false;
                insert += CC.ColumnName;
            }
            insert += ") VALUES (";
            foreach (DataRow RSA in TSorApp.Rows)
            {
                first  = true;
                values = "";
                foreach (DataColumn C2 in TSorApp.Columns)
                {
                    string colName = C2.ColumnName;
                    if (!first)
                    {
                        values += ",";
                    }
                    first = false;
                    if (colName == "idsorkind")
                    {
                        values += "@idsorkind";
                    }
                    else
                    {
                        values += QueryCreator.GetPrintable(QHS.quote(RSA[colName]));
                    }
                }
                values += ")\r\n";
                sql.Append(insert + values);
            }

            //Mette le righe in sortinglevel
            if (TSorLev.Rows.Count > 0)
            {
                sql.AppendLine();
                sql.AppendLine("-- GENERAZIONE DATI PER sortinglevel");
            }
            insert = "INSERT INTO  sortinglevel (";
            first  = true;
            foreach (DataColumn C3 in TSorLev.Columns)
            {
                if (!first)
                {
                    insert += ",";
                }
                first   = false;
                insert += C3.ColumnName;
            }
            insert += ") VALUES (";

            foreach (DataRow RSL in TSorLev.Rows)
            {
                first  = true;
                values = "";
                foreach (DataColumn C4 in TSorLev.Columns)
                {
                    string colName = C4.ColumnName;
                    if (!first)
                    {
                        values += ",";
                    }
                    first = false;
                    if (colName == "idsorkind")
                    {
                        values += "@idsorkind";
                    }
                    else
                    {
                        values += QueryCreator.GetPrintable(QHS.quote(RSL[colName]));
                    }
                }
                values += ")\r\n";
                sql.Append(insert + values);
            }
            writer.WriteLine(sql);
            writer.WriteLine("GO");
            writer.Flush();

            //Mette le righe in sorting
            if (TSor.Rows.Count > 0)
            {
                sql.AppendLine();
                sql.AppendLine("-- GENERAZIONE DATI PER sorting");
            }
            sql = new StringBuilder();
            sql.Append("DECLARE @idsorkind int\r\n");
            sql.Append("SELECT  @idsorkind = idsorkind from sortingkind where " +
                       QHS.CmpEq("codesorkind", SorKind["codesorkind"])
                       + " \r\n");


            sql.Append("DECLARE @idsor int\r\n");
            sql.Append("SET @idsor = isnull((SELECT MAX(idsor) from sorting),0) \r\n");
            Hashtable ParID = new Hashtable();

            insert = "INSERT INTO  sorting (";
            first  = true;
            foreach (DataColumn C5 in TSor.Columns)
            {
                if (!first)
                {
                    insert += ",";
                }
                first   = false;
                insert += C5.ColumnName;
            }
            insert += ") VALUES (";
            int NUM = 0;

            foreach (DataRow Sor in TSor.Select(null, "nlevel asc"))
            {
                NUM++;
                int nlevel = Convert.ToInt32(Sor["nlevel"]);
                first  = true;
                values = "";
                foreach (DataColumn C6 in TSor.Columns)
                {
                    string colName = C6.ColumnName;
                    if (!first)
                    {
                        values += ",";
                    }
                    first = false;
                    if (colName == "idsorkind")
                    {
                        values += "@idsorkind";
                        continue;
                    }
                    if (colName == "idsor")
                    {
                        values += "@idsor+" + NUM.ToString();
                        ParID[Sor["idsor"].ToString()] = NUM;
                        continue;
                    }
                    if (colName == "paridsor")
                    {
                        if (Sor["paridsor"] == DBNull.Value)
                        {
                            values += "null";
                        }
                        else
                        {
                            if (ParID[Sor["paridsor"].ToString()] == null)
                            {
                                MessageBox.Show("Riga parent di " + Sor["idsor"].ToString() +
                                                " non trovata in sorting.");
                                writer.Close();
                                return(false);
                            }
                            else
                            {
                                values += "@idsor+" + ParID[Sor["paridsor"].ToString()].ToString();
                            }
                        }
                        continue;
                    }
                    values += QueryCreator.GetPrintable(QHS.quote(Sor[colName]));
                }
                values += ")\r\n";
                sql.Append(insert + values);
            }
            if (sql.Length != 0)
            {
                writer.WriteLine(sql);
                writer.WriteLine("GO");
                writer.Flush();
            }



            writer.Write("-- FINE GENERAZIONE SCRIPT --\r\n\r\n");
            writer.WriteLine("GO");
            writer.Close();

            return(true);
        }