コード例 #1
0
ファイル: frmList.cs プロジェクト: nonenane/OnlineStore
        private async void btPrintRow_Click(object sender, EventArgs e)
        {
            if (dgvData.CurrentRow != null && dgvData.CurrentRow.Index != -1 && dtData != null && dtData.DefaultView.Count != 0)
            {
                DataRowView rowSelect = dtData.DefaultView[dgvData.CurrentRow.Index];

                int       id     = (int)rowSelect["id"];
                DataTable dtBody = Config.hCntMain.getRouteBody(id).Result;

                if (dtBody == null || dtBody.Rows.Count == 0)
                {
                    return;
                }

                await Task.Factory.StartNew(() =>
                {
                    Config.DoOnUIThread(() =>
                    {
                        blockers.SaveControlsEnabledState(this);
                        blockers.SetControlsEnabled(this, false);
                        //progressBar1.Visible = progressBar1.Enabled = true;
                        fLoad          = new Nwuram.Framework.UI.Forms.frmLoad();
                        fLoad.TopMost  = false;
                        fLoad.Owner    = this;
                        fLoad.TextWait = "Грузим отчётик!";
                        fLoad.Show();
                    }, this);

                    //if (report == null)
                    report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();

                    int indexRow = 1;
                    int maxCol   = 5;

                    setWidthColumn(indexRow, 1, 14, report);
                    setWidthColumn(indexRow, 2, 15, report);
                    setWidthColumn(indexRow, 3, 40, report);
                    setWidthColumn(indexRow, 4, 13, report);
                    setWidthColumn(indexRow, 5, 13, report);

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue($"Маршрут №{rowSelect["RouteNumber"]}", indexRow, 1);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, 1);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                    report.SetFontSize(indexRow, 1, indexRow, 1, 18);
                    indexRow++;
                    indexRow++;


                    Config.DoOnUIThread(() =>
                    {
                        report.Merge(indexRow, 1, indexRow, maxCol);
                        report.AddSingleValue($"{label3.Text} {dtpStart.Value.ToShortDateString()} по {dtpEnd.Value.ToShortDateString()}", indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxCol);
                        report.AddSingleValue($"{label5.Text}:{cmbDriver.Text}", indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxCol);
                        report.AddSingleValue($"{label6.Text}:{cmbShop.Text}", indexRow, 1);
                        indexRow++;

                        if (tbNumber.Text.Length > 0 || tbFioMan.Text.Length > 0)
                        {
                            report.Merge(indexRow, 1, indexRow, maxCol);
                            string str = "Фильтры: ";
                            if (tbNumber.Text.Length > 0)
                            {
                                str += $"Номер маршрута: {tbNumber.Text};";
                            }
                            if (tbFioMan.Text.Length > 0)
                            {
                                str += $"Водитель: {tbFioMan.Text};";
                            }
                            report.AddSingleValue($"{str}", indexRow, 1);


                            indexRow++;
                        }

                        report.Merge(indexRow, 1, indexRow, maxCol);
                        report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxCol);
                        report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                    }, this);
                    indexRow++;
                    indexRow++;

                    report.AddSingleValue("№ заказа в маршруте", indexRow, 1);
                    report.AddSingleValue("№ заказа", indexRow, 2);
                    report.AddSingleValue("Адрес доставки", indexRow, 3);
                    report.AddSingleValue("Вес заказа, кг", indexRow, 4);
                    report.AddSingleValue("Длина маршрута, км", indexRow, 5);

                    report.SetFontBold(indexRow, 1, indexRow, maxCol);
                    report.SetBorders(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                    report.SetWrapText(indexRow, 1, indexRow, maxCol);
                    indexRow++;
                    dtBody.DefaultView.Sort = "RouteNumber asc";
                    foreach (DataRowView row in dtBody.DefaultView)
                    {
                        setValueToCell(indexRow, 1, row["RouteNumber"]);
                        setValueToCell(indexRow, 2, row["OrderNumber"]);
                        setValueToCell(indexRow, 3, row["Address"]);
                        setValueToCell(indexRow, 4, row["weigth"]);
                        setValueToCell(indexRow, 5, row["RouteLength"]);

                        report.SetBorders(indexRow, 1, indexRow, maxCol);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                        report.SetCellAlignmentToRight(indexRow, 4, indexRow, 5);
                        indexRow++;
                    }

                    setValueToCell(indexRow, 3, "Итого");
                    decimal routeWeigth = dtBody.AsEnumerable().Sum(r => r.Field <decimal>("weigth"));
                    setValueToCell(indexRow, 4, routeWeigth);
                    decimal routeLength = dtBody.AsEnumerable().Sum(r => r.Field <decimal>("RouteLength"));
                    setValueToCell(indexRow, 5, routeLength);
                    report.SetBorders(indexRow, 1, indexRow, maxCol);
                    indexRow++;

                    report.SetPageSetup(1, 9999, true);
                    report.Show();

                    Config.DoOnUIThread(() =>
                    {
                        blockers.RestoreControlEnabledState(this);
                        fLoad.Dispose();
                    }, this);
                });
            }
        }
コード例 #2
0
ファイル: frmFindTovar.cs プロジェクト: nonenane/Spisanie
        private void btPrint_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);
            Logging.Comment("Произведена выгрузка отчета с превышения процента наценки");
            Logging.Comment($"Количество выгруженных записей: {dtResult.Rows.Count}");
            Logging.Comment($"Настройка процента наценки: {tbPrcn.Text}");
            Logging.StopFirstLevel();

            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad("list-1");

            int rIndex   = 1;
            int maxMerge = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    maxMerge++;
                }
            }

            report.Merge(rIndex, 1, rIndex, maxMerge);
            report.AddSingleValue("Проверка превышения процента наценки", rIndex, 1);
            report.SetCellAlignmentToCenter(rIndex, 1, rIndex, 1);
            report.SetFontBold(rIndex, 1, rIndex, 1);
            report.SetFontSize(rIndex, 1, rIndex, 1, 14);
            rIndex++;

            report.Merge(rIndex, 1, rIndex, 2);
            report.Merge(rIndex, 5, rIndex, 7);
            report.AddSingleValue("Дата: " + date.ToShortDateString(), rIndex, 1);
            report.AddSingleValue("Выгрузил: " + UserSettings.User.FullUsername, rIndex, 3);
            report.SetCellAlignmentToRight(rIndex, 3, rIndex, 3);
            rIndex++;


            string shotName = "";

            if (Nwuram.Framework.Settings.Connection.ConnectionSettings.GetServer().ToLower().Contains("k21"))
            {
                shotName = "Косыгина 21";
            }
            else
            {
                shotName = "Хошимина 14";
            }

            report.Merge(rIndex, 1, rIndex, 2);
            report.Merge(rIndex, 3, rIndex, 4);
            report.Merge(rIndex, 5, rIndex, 7);
            report.AddSingleValue("Процент наценки: " + tbPrcn.Text, rIndex, 1);
            report.AddSingleValue("Магазин: " + shotName, rIndex, 3);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), rIndex, 5);
            report.SetCellAlignmentToRight(rIndex, 3, rIndex, 3);
            rIndex++;
            rIndex++;

            int cIndex = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    cIndex++;
                    report.AddSingleValue(col.HeaderText, rIndex, cIndex);
                }
            }
            report.SetBorders(rIndex, 1, rIndex, cIndex);
            report.SetCellAlignmentToCenter(rIndex, 1, rIndex, cIndex);
            report.SetWrapText(rIndex, 1, rIndex, cIndex);
            rIndex++;

            foreach (DataRowView row in dtResult.DefaultView)
            {
                cIndex = 0;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (col.Visible)
                    {
                        cIndex++;
                        report.AddSingleValue(row[col.DataPropertyName].ToString(), rIndex, cIndex);
                    }
                }
                report.SetBorders(rIndex, 1, rIndex, cIndex);
                report.SetCellAlignmentToCenter(rIndex, 1, rIndex, cIndex);
                rIndex++;
            }

            report.SetColumnAutoSize(1, 1, rIndex, maxMerge);
            report.Show();
        }
コード例 #3
0
ファイル: frmList.cs プロジェクト: nonenane/OnlineStore
        private async void BtPrint_Click(object sender, EventArgs e)
        {
            await Task.Factory.StartNew(() =>
            {
                Config.DoOnUIThread(() =>
                {
                    blockers.SaveControlsEnabledState(this);
                    blockers.SetControlsEnabled(this, false);
                    //progressBar1.Visible = progressBar1.Enabled = true;
                    fLoad          = new Nwuram.Framework.UI.Forms.frmLoad();
                    fLoad.TopMost  = false;
                    fLoad.Owner    = this;
                    fLoad.TextWait = "Грузим отчётик!";
                    fLoad.Show();
                }, this);

                //if (report == null)
                report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();

                int indexRow = 1;
                int maxCol   = 0;

                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (col.Visible)
                    {
                        maxCol++;
                    }
                }


                setWidthColumn(indexRow, 1, 13, report);
                setWidthColumn(indexRow, 2, 16, report);
                setWidthColumn(indexRow, 3, 25, report);
                setWidthColumn(indexRow, 4, 25, report);
                setWidthColumn(indexRow, 5, 17, report);
                setWidthColumn(indexRow, 6, 17, report);
                setWidthColumn(indexRow, 7, 20, report);

                report.Merge(indexRow, 1, indexRow, maxCol);
                report.AddSingleValue($"{this.Text}", indexRow, 1);
                report.SetCellAlignmentToJustify(indexRow, 1, indexRow, 1);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                report.SetFontSize(indexRow, 1, indexRow, 1, 18);
                indexRow++;
                indexRow++;


                Config.DoOnUIThread(() =>
                {
                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue($"{label3.Text} {dtpStart.Value.ToShortDateString()} по {dtpEnd.Value.ToShortDateString()}", indexRow, 1);
                    indexRow++;

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue($"{label5.Text}:{cmbDriver.Text}", indexRow, 1);
                    indexRow++;

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue($"{label6.Text}:{cmbShop.Text}", indexRow, 1);
                    indexRow++;

                    if (tbNumber.Text.Length > 0 || tbFioMan.Text.Length > 0)
                    {
                        report.Merge(indexRow, 1, indexRow, maxCol);
                        string str = "Фильтры: ";
                        if (tbNumber.Text.Length > 0)
                        {
                            str += $"Номер маршрута: {tbNumber.Text};";
                        }
                        if (tbFioMan.Text.Length > 0)
                        {
                            str += $"Водитель: {tbFioMan.Text};";
                        }
                        report.AddSingleValue($"{str}", indexRow, 1);


                        indexRow++;
                    }

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                    indexRow++;

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                }, this);
                indexRow++;
                indexRow++;

                maxCol = 0;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (col.Visible)
                    {
                        maxCol++;
                        report.AddSingleValue(col.HeaderText, indexRow, maxCol);
                    }
                }

                report.SetFontBold(indexRow, 1, indexRow, maxCol);
                report.SetBorders(indexRow, 1, indexRow, maxCol);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                report.SetWrapText(indexRow, 1, indexRow, maxCol);
                indexRow++;

                foreach (DataRowView row in dtData.DefaultView)
                {
                    maxCol = 0;
                    foreach (DataGridViewColumn col in dgvData.Columns)
                    {
                        if (col.Visible)
                        {
                            maxCol++;
                            setValueToCell(indexRow, maxCol, row[col.DataPropertyName]);
                        }
                    }

                    report.SetBorders(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToRight(indexRow, 5, indexRow, 7);
                    indexRow++;
                }

                report.SetPageSetup(1, 9999, true);
                report.Show();

                Config.DoOnUIThread(() =>
                {
                    blockers.RestoreControlEnabledState(this);
                    fLoad.Dispose();
                }, this);
            });
        }
コード例 #4
0
ファイル: frmList.cs プロジェクト: nonenane/OnlineStore
        private async void BtPrint_Click(object sender, EventArgs e)
        {
            await Task.Factory.StartNew(() =>
            {
                Config.DoOnUIThread(() =>
                {
                    blockers.SaveControlsEnabledState(this);
                    blockers.SetControlsEnabled(this, false);
                    //progressBar1.Visible = progressBar1.Enabled = true;
                    fLoad          = new Nwuram.Framework.UI.Forms.frmLoad();
                    fLoad.TopMost  = false;
                    fLoad.Owner    = this;
                    fLoad.TextWait = "Грузим отчётик!";
                    fLoad.Show();
                }, this);

                //if (report == null)
                report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();

                int indexRow = 1;
                int maxCol   = 0;

                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (col.Visible)
                    {
                        maxCol++;
                    }
                }


                setWidthColumn(indexRow, 1, 29, report);
                setWidthColumn(indexRow, 2, 22, report);
                setWidthColumn(indexRow, 3, 25, report);
                setWidthColumn(indexRow, 4, 25, report);

                report.Merge(indexRow, 1, indexRow, maxCol);
                report.AddSingleValue($"{this.Text}", indexRow, 1);
                report.SetCellAlignmentToJustify(indexRow, 1, indexRow, 1);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                report.SetFontSize(indexRow, 1, indexRow, 1, 18);
                indexRow++;
                indexRow++;

                Config.DoOnUIThread(() =>
                {
                    /*
                     * report.Merge(indexRow, 1, indexRow, maxCol);
                     * report.AddSingleValue($"{label5.Text}{cmbDeps.Text}", indexRow, 1);
                     * indexRow++;
                     *
                     * report.Merge(indexRow, 1, indexRow, maxCol);
                     * report.AddSingleValue($"{label3.Text}{cmbPost.Text}", indexRow, 1);
                     * indexRow++;
                     */
                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                    indexRow++;

                    report.Merge(indexRow, 1, indexRow, maxCol);
                    report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                }, this);
                indexRow++;
                indexRow++;

                maxCol = 0;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (col.Visible)
                    {
                        maxCol++;
                        report.AddSingleValue(col.HeaderText, indexRow, maxCol);
                    }
                }

                report.SetFontBold(indexRow, 1, indexRow, maxCol);
                report.SetBorders(indexRow, 1, indexRow, maxCol);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                report.SetWrapText(indexRow, 1, indexRow, maxCol);
                indexRow++;

                foreach (DataRowView row in dtData.DefaultView)
                {
                    maxCol = 0;
                    foreach (DataGridViewColumn col in dgvData.Columns)
                    {
                        if (col.Visible)
                        {
                            maxCol++;
                            setValueToCell(indexRow, maxCol, row[col.DataPropertyName]);
                        }
                    }

                    report.SetBorders(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxCol);
                    report.SetCellAlignmentToRight(indexRow, 3, indexRow, 4);
                    indexRow++;
                }

                report.SetPageSetup(1, 9999, true);
                report.Show();

                Config.DoOnUIThread(() =>
                {
                    blockers.RestoreControlEnabledState(this);
                    fLoad.Dispose();
                }, this);
            });
        }
コード例 #5
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();

            int indexRow = 1;

            int maxColumns = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    maxColumns++;
                    if (col.Name.Equals("nameTenant"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("cTypeContract"))
                    {
                        setWidthColumn(indexRow, maxColumns, 21, report);
                    }
                    if (col.Name.Equals("cAgreements"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("cPeriodCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("cSummaCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 18, report);
                    }
                    if (col.Name.Equals("cDatePay"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cSumma"))
                    {
                        setWidthColumn(indexRow, maxColumns, 16, report);
                    }
                    if (col.Name.Equals("cCountDaysCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 18, report);
                    }
                    if (col.Name.Equals("cPrcPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cSummaPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cItogPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                }
            }

            #region "Head"
            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Отчёт по начислению пени", indexRow, 1);
            report.SetFontBold(indexRow, 1, indexRow, 1);
            report.SetFontSize(indexRow, 1, indexRow, 1, 16);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
            indexRow++;
            indexRow++;


            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Период начисления {cmbPeriodCredit.Text}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Объект аренды: {cmbObject.Text}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Тип договора: {cmbTypeContract.Text}", indexRow, 1);
            indexRow++;

            if (tbAgreement.Text.Trim().Length > 0 || tbTenant.Text.Trim().Length > 0)
            {
                report.Merge(indexRow, 1, indexRow, maxColumns);
                report.AddSingleValue($"Фильтры: " +
                                      $"{(tbTenant.Text.Trim().Length == 0 ? "" : "Арендатор: " + tbTenant.Text.Trim())} " +
                                      $"{(tbAgreement.Text.Trim().Length == 0 ? "" : "Номер договора: " + tbAgreement.Text.Trim())}", indexRow, 1);
                indexRow++;
            }

            report.Merge(indexRow, 1, indexRow, 6);
            report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, 6);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
            indexRow++;
            indexRow++;
            #endregion

            int indexCol = 0;
            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    indexCol++;
                    report.AddSingleValue(col.HeaderText, indexRow, indexCol);
                }
            }
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            report.SetBorders(indexRow, 1, indexRow, maxColumns);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
            indexRow++;


            indexCol = 0;
            int indexStartRow = indexRow;
            //foreach (DataGridViewRow row in dgvData.Rows)
            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    indexCol++;
                    indexRow = indexStartRow;
                    int    startMergRow = indexRow;
                    object tmpValue     = null;
                    int    preId        = 0;
                    //foreach (DataGridViewColumn col in dgvData.Columns)
                    foreach (DataGridViewRow row in dgvData.Rows)
                    {
                        if ((int)dtData.DefaultView[row.Index]["id_StatusPenalty"] == 3)
                        {
                            report.SetCellColor(indexRow, 1, indexRow, maxColumns, panel2.BackColor);
                        }

                        report.SetWrapText(indexRow, indexCol, indexRow, indexCol);

                        if (new List <int>()
                        {
                            nameTenant.Index, cTypeContract.Index, cAgreements.Index, cPeriodCredit.Index, cItogPenalty.Index
                        }.Contains(col.Index))
                        {
                            if (indexRow == indexStartRow)
                            {
                                tmpValue = row.Cells[col.Index].Value;
                                preId    = (int)dtData.DefaultView[row.Index]["id"];
                            }
                            else if (indexRow - indexStartRow == dgvData.Rows.Count - 1)
                            {
                                report.Merge(startMergRow, indexCol, indexRow, indexCol);

                                if (tmpValue is DateTime)
                                {
                                    report.AddSingleValue(((DateTime)tmpValue).ToShortDateString(), startMergRow, indexCol);
                                }
                                else
                                {
                                    report.AddSingleValue(tmpValue.ToString(), startMergRow, indexCol);
                                }
                            }
                            else if (indexRow != indexStartRow)
                            {
                                if (!tmpValue.Equals(row.Cells[col.Index].Value) || preId != (int)dtData.DefaultView[row.Index]["id"])
                                {
                                    report.Merge(startMergRow, indexCol, indexRow - 1, indexCol);

                                    if (tmpValue is DateTime)
                                    {
                                        report.AddSingleValue(((DateTime)tmpValue).ToShortDateString(), startMergRow, indexCol);
                                    }
                                    else
                                    {
                                        report.AddSingleValue(tmpValue.ToString(), startMergRow, indexCol);
                                    }

                                    startMergRow = indexRow;
                                    tmpValue     = row.Cells[col.Index].Value;
                                    preId        = (int)dtData.DefaultView[row.Index]["id"];
                                }
                            }
                        }
                        else
                        {
                            if (row.Cells[col.Index].Value is DateTime)
                            {
                                report.AddSingleValue(((DateTime)row.Cells[col.Index].Value).ToShortDateString(), indexRow, indexCol);
                            }
                            else
                            {
                                report.AddSingleValue(row.Cells[col.Index].Value.ToString(), indexRow, indexCol);
                            }
                        }


                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                        indexRow++;
                    }
                }
            }


            report.SetCellColor(indexRow, 1, indexRow, 1, panel2.BackColor);
            report.Merge(indexRow, 2, indexRow, 4);
            report.AddSingleValue(chbCongressAccept.Text, indexRow, 2);

            report.SetFontBold(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.SetBorders(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.SetCellAlignmentToRight(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.AddSingleValue("Итого", indexRow, maxColumns - 1);
            report.AddSingleValue(tbItogPenalty.Text, indexRow, maxColumns);



            report.Show();
        }
コード例 #6
0
        private async void btnPrint_Click(object sender, EventArgs e)
        {
            if (!chbCancel.Checked && !chbComplete.Checked && !chbЕmployesОrder.Checked)
            {
                return;
            }
            int id_Shop = (int)cmbShop.SelectedValue;
            var outer   = Task.Factory.StartNew(() =>    // внешняя задача
            {
                Config.DoOnUIThread(() =>
                {
                    blockers.SaveControlsEnabledState(this);
                    blockers.SetControlsEnabled(this, false);
                    //progressBar1.Visible = progressBar1.Enabled = true;
                    fLoad          = new Nwuram.Framework.UI.Forms.frmLoad();
                    fLoad.TopMost  = false;
                    fLoad.Owner    = this;
                    fLoad.TextWait = "Грузим отчётик!";
                    fLoad.Show();
                }, this);

                Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();
                bool isShow = false;


                if (chbComplete.Checked)
                {
                    DataTable dtDataStatus3     = Config.connect.getReportData(dtpStart.Value, dtpEnd.Value, 3, id_Shop);
                    DataTable dtDataStatus3Body = (id_Shop == 1 ? Config.connect : Config.hCntSecond).getSumNotesOrderWithRCena(dtpStart.Value, dtpEnd.Value, 3, id_Shop);

                    if (dtDataStatus3 != null && dtDataStatus3.Rows.Count > 0)
                    {
                        isShow = true;
                        report.changeNameTab("Выполненные");

                        decimal sumOrder = 0, sumNote = 0, SummaDelivery = 0, sumPackage = 0, DeliveryCost = 0, valueOst = 0, valueDelta = 0;


                        int indexRow   = 1;
                        int maxColumns = 12;

                        setWidthColumn(indexRow, 1, 6, report);
                        setWidthColumn(indexRow, 2, 10, report);
                        setWidthColumn(indexRow, 3, 17, report);
                        setWidthColumn(indexRow, 4, 11, report);
                        setWidthColumn(indexRow, 5, 16, report);
                        setWidthColumn(indexRow, 6, 22, report);
                        setWidthColumn(indexRow, 7, 16, report);
                        setWidthColumn(indexRow, 8, 12, report);
                        setWidthColumn(indexRow, 9, 14, report);
                        setWidthColumn(indexRow, 10, 16, report);
                        setWidthColumn(indexRow, 11, 16, report);
                        setWidthColumn(indexRow, 12, 13, report);

                        #region "Head"
                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue($"Отчёт об выполненных заказах с {dtpStart.Value.ToShortDateString()} по {dtpEnd.Value.ToShortDateString()}", indexRow, 1);
                        report.SetFontBold(indexRow, 1, indexRow, 1);
                        report.SetFontSize(indexRow, 1, indexRow, 1, 16);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                        indexRow++;
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                        indexRow++;
                        indexRow++;
                        #endregion

                        report.AddSingleValue("№ п/п", indexRow, 1);
                        report.AddSingleValue("Номер заказа", indexRow, 2);
                        report.AddSingleValue("Сумма заказа", indexRow, 3);
                        report.AddSingleValue("Дата доставки", indexRow, 4);
                        report.AddSingleValue("Сумма чека", indexRow, 5);
                        report.AddSingleValue("№ чека", indexRow, 6);
                        report.AddSingleValue("Стоимость доставки", indexRow, 7);
                        report.AddSingleValue("Кол-во пакетов", indexRow, 8);
                        report.AddSingleValue("Стоимость пакетов", indexRow, 9);
                        report.AddSingleValue("Затраты на доставку", indexRow, 10);
                        report.AddSingleValue("Остаток по доставке", indexRow, 11);
                        report.AddSingleValue("∆ по чеку", indexRow, 12);


                        report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetWrapText(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                        indexRow++;

                        int npp = 1;

                        var groupOrder = dtDataStatus3.AsEnumerable()
                                         .GroupBy(r => new { id_tOrders = r.Field <int>("id_tOrders") })
                                         .Select(g => new
                        {
                            g.Key.id_tOrders,
                            sumNote = g.Sum(r => r.Field <decimal>("sumNote"))
                        });

                        foreach (var g in groupOrder)
                        {
                            EnumerableRowCollection <DataRow> rowCollect = dtDataStatus3.AsEnumerable().Where(r => r.Field <int>("id_tOrders") == g.id_tOrders);
                            DataRow row  = rowCollect.First();
                            int startRow = indexRow;
                            report.SetWrapText(indexRow, 1, indexRow + rowCollect.Count() - 1, maxColumns);
                            report.Merge(indexRow, 1, indexRow + rowCollect.Count() - 1, 1);
                            report.Merge(indexRow, 2, indexRow + rowCollect.Count() - 1, 2);
                            report.Merge(indexRow, 3, indexRow + rowCollect.Count() - 1, 3);
                            report.Merge(indexRow, 4, indexRow + rowCollect.Count() - 1, 4);
                            report.Merge(indexRow, 5, indexRow + rowCollect.Count() - 1, 5);

                            report.Merge(indexRow, 7, indexRow + rowCollect.Count() - 1, 7);
                            report.Merge(indexRow, 8, indexRow + rowCollect.Count() - 1, 8);
                            report.Merge(indexRow, 9, indexRow + rowCollect.Count() - 1, 9);
                            report.Merge(indexRow, 10, indexRow + rowCollect.Count() - 1, 10);
                            report.Merge(indexRow, 11, indexRow + rowCollect.Count() - 1, 11);
                            report.Merge(indexRow, 12, indexRow + rowCollect.Count() - 1, 12);



                            report.AddSingleValue(npp.ToString(), indexRow, 1);
                            report.AddSingleValue(row["OrderNumber"].ToString(), indexRow, 2);
                            report.AddSingleValueObject(row["sumOrder"], indexRow, 3);
                            report.SetFormat(indexRow, 3, indexRow, 3, "0.00");
                            report.AddSingleValue(((DateTime)row["DeliveryDate"]).ToShortDateString(), indexRow, 4);

                            report.AddSingleValueObject(g.sumNote, indexRow, 5);
                            report.SetFormat(indexRow, 5, indexRow, 5, "0.00");

                            report.AddSingleValueObject(row["SummaDelivery"], indexRow, 7);
                            report.SetFormat(indexRow, 7, indexRow, 7, "0.00");

                            report.AddSingleValueObject(row["CountPackage"], indexRow, 8);
                            report.SetFormat(indexRow, 8, indexRow, 8, "0.00");

                            report.AddSingleValueObject(row["sumPackage"], indexRow, 9);
                            report.SetFormat(indexRow, 9, indexRow, 9, "0.00");

                            report.AddSingleValueObject(row["DeliveryCost"], indexRow, 10);
                            report.SetFormat(indexRow, 10, indexRow, 10, "0.00");


                            sumOrder      += (decimal)row["sumOrder"];
                            sumNote       += g.sumNote;
                            SummaDelivery += (decimal)row["SummaDelivery"];
                            sumPackage    += (decimal)row["sumPackage"];
                            DeliveryCost  += (decimal)row["DeliveryCost"];

                            decimal value = (decimal)row["SummaDelivery"] - (decimal)row["sumPackage"] - (decimal)row["DeliveryCost"];
                            valueOst     += value;
                            report.AddSingleValueObject(value, indexRow, 11);
                            report.SetFormat(indexRow, 11, indexRow, 11, "0.00");

                            if (dtDataStatus3Body != null)
                            {
                                decimal sum = dtDataStatus3Body.AsEnumerable().Where(r => r.Field <int>("id_tOrders") == (int)row["id_tOrders"]).Sum(r => r.Field <decimal>("resultSum"));
                                report.AddSingleValueObject(g.sumNote - sum, indexRow, 12);
                                valueDelta += g.sumNote - sum;
                            }
                            else
                            {
                                report.AddSingleValueObject(0, indexRow, 12);
                            }
                            report.SetFormat(indexRow, 12, indexRow, 12, "0.00");

                            foreach (DataRow rowSelect in rowCollect)
                            {
                                //report.AddSingleValueObject(rowSelect["sumNote"], indexRow, 5);
                                //report.SetFormat(indexRow, 5, indexRow, 5, "0.00");
                                report.AddSingleValue($"Касса:{rowSelect["KassNumber"]} Чек:{rowSelect["CheckNumber"]}", indexRow, 6);
                                indexRow++;
                            }



                            report.SetBorders(startRow, 1, indexRow - 1, maxColumns);
                            report.SetCellAlignmentToCenter(startRow, 1, indexRow - 1, maxColumns);
                            report.SetCellAlignmentToJustify(startRow, 1, indexRow - 1, maxColumns);
                            //indexRow++;
                            npp++;
                        }


                        report.SetFormat(indexRow, 2, indexRow, maxColumns, "0.00");

                        report.AddSingleValue($"Итого:", indexRow, 1);
                        report.AddSingleValueObject(sumOrder, indexRow, 3);
                        report.AddSingleValueObject(sumNote, indexRow, 5);
                        report.AddSingleValueObject(SummaDelivery, indexRow, 7);
                        report.AddSingleValueObject(sumPackage, indexRow, 9);
                        report.AddSingleValueObject(DeliveryCost, indexRow, 10);
                        report.AddSingleValueObject(valueOst, indexRow, 11);
                        report.AddSingleValueObject(valueDelta, indexRow, 12);

                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                    }
                }

                if (chbCancel.Checked)
                {
                    DataTable dtData = Config.connect.getReportData(dtpStart.Value, dtpEnd.Value, 4, id_Shop);
                    if (dtData != null && dtData.Rows.Count > 0)
                    {
                        if (!isShow)
                        {
                            isShow = true;
                            report.changeNameTab("Отменённые");
                        }
                        else
                        {
                            report.GoToNextSheet("Отменённые");
                        }

                        int indexRow     = 1;
                        int maxColumns   = 9;
                        decimal sumOrder = 0;

                        setWidthColumn(indexRow, 1, 9, report);
                        setWidthColumn(indexRow, 2, 20, report);
                        setWidthColumn(indexRow, 3, 20, report);
                        setWidthColumn(indexRow, 4, 16, report);
                        setWidthColumn(indexRow, 5, 20, report);
                        setWidthColumn(indexRow, 6, 18, report);
                        setWidthColumn(indexRow, 7, 16, report);
                        setWidthColumn(indexRow, 8, 16, report);
                        setWidthColumn(indexRow, 9, 40, report);

                        #region "Head"
                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue($"Отчёт об отменённых заказах с {dtpStart.Value.ToShortDateString()} по {dtpEnd.Value.ToShortDateString()}", indexRow, 1);
                        report.SetFontBold(indexRow, 1, indexRow, 1);
                        report.SetFontSize(indexRow, 1, indexRow, 1, 16);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                        indexRow++;
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                        indexRow++;
                        indexRow++;
                        #endregion

                        report.AddSingleValue("№ п/п", indexRow, 1);
                        report.AddSingleValue("ФИО", indexRow, 2);
                        report.AddSingleValue("Адрес", indexRow, 3);
                        report.AddSingleValue("Телефон", indexRow, 4);
                        report.AddSingleValue("e-mail", indexRow, 5);
                        report.AddSingleValue("Номер заказа", indexRow, 6);
                        report.AddSingleValue("Дата заказа", indexRow, 7);
                        report.AddSingleValue("Сумма заказа", indexRow, 8);
                        report.AddSingleValue("Комментарий об отмене заказа", indexRow, 9);

                        report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetWrapText(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                        indexRow++;

                        int npp = 1;

                        foreach (DataRowView row in dtData.DefaultView)
                        {
                            report.SetWrapText(indexRow, 1, indexRow, maxColumns);

                            report.AddSingleValue(npp.ToString(), indexRow, 1);
                            report.AddSingleValue(row["FIO"].ToString(), indexRow, 2);
                            report.AddSingleValue(row["Address"].ToString(), indexRow, 3);
                            report.AddSingleValue(row["Phone"].ToString(), indexRow, 4);
                            report.AddSingleValue(row["Email"].ToString(), indexRow, 5);
                            report.AddSingleValue(row["OrderNumber"].ToString(), indexRow, 6);
                            report.AddSingleValue(((DateTime)row["DateOrder"]).ToShortDateString(), indexRow, 7);
                            report.AddSingleValueObject(row["sumOrder"], indexRow, 8);
                            report.SetFormat(indexRow, 4, indexRow, 4, "0.00");
                            report.AddSingleValue(row["Comment"].ToString(), indexRow, 9);

                            sumOrder += (decimal)row["sumOrder"];

                            report.SetBorders(indexRow, 1, indexRow, maxColumns);
                            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                            report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                            indexRow++;
                            npp++;
                        }

                        report.SetFormat(indexRow, 2, indexRow, maxColumns, "0.00");

                        report.AddSingleValue($"Итого:", indexRow, 1);
                        report.AddSingleValueObject(sumOrder, indexRow, 8);

                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                    }
                }

                if (chbЕmployesОrder.Checked)
                {
                    DataTable dtData = Config.connect.reportЕmployesОrder(dtpStart.Value, dtpEnd.Value, id_Shop);
                    if (dtData != null && dtData.Rows.Count > 0)
                    {
                        if (!isShow)
                        {
                            isShow = true;
                            report.changeNameTab("Отчет по сотрудникам");
                        }
                        else
                        {
                            report.GoToNextSheet("Отчет по сотрудникам");
                        }


                        int indexRow     = 1;
                        int maxColumns   = 8;
                        decimal sumOrder = 0;

                        setWidthColumn(indexRow, 1, 9, report);
                        setWidthColumn(indexRow, 2, 25, report);
                        setWidthColumn(indexRow, 3, 16, report);
                        setWidthColumn(indexRow, 4, 16, report);
                        setWidthColumn(indexRow, 5, 16, report);
                        setWidthColumn(indexRow, 6, 12, report);
                        setWidthColumn(indexRow, 7, 12, report);
                        setWidthColumn(indexRow, 8, 12, report);

                        #region "Head"
                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue($"Отчет по сотрудникам с {dtpStart.Value.ToShortDateString()} по {dtpEnd.Value.ToShortDateString()}", indexRow, 1);
                        report.SetFontBold(indexRow, 1, indexRow, 1);
                        report.SetFontSize(indexRow, 1, indexRow, 1, 16);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                        indexRow++;
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                        indexRow++;

                        report.Merge(indexRow, 1, indexRow, maxColumns);
                        report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                        indexRow++;
                        indexRow++;
                        #endregion

                        report.AddSingleValue("№ п/п", indexRow, 1);
                        report.AddSingleValue("ФИО сотрудника", indexRow, 2);
                        report.AddSingleValue("Дата заказа", indexRow, 3);
                        report.AddSingleValue("Номер заказа", indexRow, 4);
                        report.AddSingleValue("Позиций в заказе", indexRow, 5);
                        report.AddSingleValue("Сборщик", indexRow, 6);
                        report.AddSingleValue("Пробитие", indexRow, 7);
                        report.AddSingleValue("Доставщик", indexRow, 8);

                        report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                        report.SetBorders(indexRow, 1, indexRow, maxColumns);
                        report.SetWrapText(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                        report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                        indexRow++;


                        var groupCountCollector = dtData.AsEnumerable()
                                                  .Where(r => r.Field <bool>("Collector"))
                                                  .GroupBy(g => new { OrderNumber = g.Field <int>("OrderNumber") })
                                                  .Select(s => new { s.Key.OrderNumber, countCollector = s.Count() });

                        var groupKadr = dtData.AsEnumerable().GroupBy(r => new { id_Kadr = r.Field <int>("id_Kadr"), FIO = r.Field <string>("FIO") }).Select(s => new { s.Key.id_Kadr, s.Key.FIO });


                        int npp          = 1;
                        Color cCompleted = Color.FromArgb(244, 255, 96);
                        foreach (var gKadr in groupKadr)
                        {
                            EnumerableRowCollection <DataRow> rowCollect = dtData.AsEnumerable().Where(r => r.Field <int>("id_Kadr") == gKadr.id_Kadr).OrderBy(r => r.Field <int>("OrderNumber"));
                            report.Merge(indexRow, 2, indexRow + rowCollect.Count() - 1, 2);
                            setValueToCell(indexRow, 2, gKadr.FIO, report);
                            var groupDate = rowCollect.AsEnumerable().GroupBy(g => new { DeliveryDate = g.Field <DateTime>("DeliveryDate") }).Select(s => new { s.Key.DeliveryDate });

                            decimal countCollector = 0;
                            int countKassCheck     = 0;
                            int countDelivery      = 0;

                            foreach (var gDate in groupDate)
                            {
                                EnumerableRowCollection <DataRow> rowCollectDate = rowCollect.Where(r => r.Field <DateTime>("DeliveryDate") == gDate.DeliveryDate);

                                report.Merge(indexRow, 3, indexRow + rowCollectDate.Count() - 1, 3);
                                setValueToCell(indexRow, 3, gDate.DeliveryDate, report);

                                foreach (DataRow row in rowCollectDate)
                                {
                                    report.SetWrapText(indexRow, 1, indexRow, maxColumns);

                                    setValueToCell(indexRow, 1, npp, report);
                                    setValueToCell(indexRow, 4, row["OrderNumber"], report);
                                    setValueToCell(indexRow, 5, row["countRow"], report);
                                    if ((bool)row["Collector"])
                                    {
                                        decimal valResult = Convert.ToDecimal((int)row["countRow"]) / Convert.ToDecimal(groupCountCollector.Where(r => r.OrderNumber == (int)row["OrderNumber"]).First().countCollector);
                                        countCollector   += valResult;
                                        setValueToCell(indexRow, 6, valResult, report);
                                    }
                                    if ((bool)row["KassCheck"])
                                    {
                                        setValueToCell(indexRow, 7, row["KassCheck"], report);
                                        countKassCheck++;
                                    }
                                    if ((bool)row["Delivery"])
                                    {
                                        setValueToCell(indexRow, 8, row["Delivery"], report);
                                        countDelivery++;
                                    }
                                    if (!(bool)row["isCompleted"])
                                    {
                                        report.SetCellColor(indexRow, 4, indexRow, maxColumns, cCompleted);
                                    }
                                    report.SetBorders(indexRow, 1, indexRow, maxColumns);
                                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                                    indexRow++;
                                    npp++;
                                }
                            }


                            report.Merge(indexRow, 1, indexRow, 5);
                            setValueToCell(indexRow, 1, $"Итого:", report);
                            setValueToCell(indexRow, 6, countCollector, report);
                            setValueToCell(indexRow, 7, countKassCheck, report);
                            setValueToCell(indexRow, 8, countDelivery, report);

                            report.SetBorders(indexRow, 1, indexRow, maxColumns);
                            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                            report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                            report.SetCellAlignmentToRight(indexRow, 1, indexRow, 1);
                            //report.SetCellAlignmentToRight(indexRow, 6, indexRow, maxColumns);

                            indexRow++;
                        }
                        report.SetCellColor(indexRow + 1, 1, indexRow + 1, 1, cCompleted);
                        setValueToCell(indexRow + 1, 2, "-заказ не выполнен", report);
                    }
                }

                Config.DoOnUIThread(() =>
                {
                    blockers.RestoreControlEnabledState(this);
                    fLoad.Dispose();
                }, this);

                if (isShow)
                {
                    report.SetPageSetup(1, 9999, true);
                    report.Show();
                }
                else
                {
                    MessageBox.Show("Нет данных для отчёта", "Выгрузка отчёта", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                #region логирование
                Logging.StartFirstLevel(79);
                Logging.Comment("Произведена выгрузка в Excel отчета по работе онлайн-магазина");
                Logging.Comment($"Период с: {dtpStart.Value.ToShortDateString()} по: {dtpEnd.Value.ToShortDateString()}");
                Logging.Comment($"Отчет о выполненых заказах: {(chbComplete.Checked ? "Да" : "Нет")}");
                Logging.Comment($"Отчет об отмененных заказах: {(chbCancel.Checked ? "Да" : "Нет")}");
                Logging.Comment("Завершение выгрузки отчета по работе онлайн магазина");
                Logging.StopFirstLevel();
                #endregion
            });
        }
コード例 #7
0
ファイル: reports.cs プロジェクト: nonenane/Arenda
        public static void createReport(DataTable dtReport, string _nameObject, string status, DateTime _startDate)
        {
            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();
            int indexRow = 1;

            Control[]    cnt     = new frmAddReportMonth().Controls.Find("dgvData", false);
            DataGridView dgvData = (DataGridView)cnt[0];

            int maxColumns = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    maxColumns++;
                    if (col.Name.Equals("nameLandLord"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("nameTenant"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("TypeContract"))
                    {
                        setWidthColumn(indexRow, maxColumns, 13, report);
                    }
                    if (col.Name.Equals("cAgreements"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("timeLimit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 14, report);
                    }
                    if (col.Name.Equals("cBuild"))
                    {
                        setWidthColumn(indexRow, maxColumns, 9, report);
                    }
                    if (col.Name.Equals("cFloor"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cSection"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cSquart"))
                    {
                        setWidthColumn(indexRow, maxColumns, 12, report);
                    }
                    if (col.Name.Equals("Cost_of_Meter"))
                    {
                        setWidthColumn(indexRow, maxColumns, 14, report);
                    }
                    if (col.Name.Equals("cSumDog"))
                    {
                        setWidthColumn(indexRow, maxColumns, 19, report);
                    }
                    if (col.Name.Equals("cDiscount"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cPlane"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    //Console.WriteLine(col.Name);
                }
            }

            #region "Head"
            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Ежемесячный отчёт", indexRow, 1);
            report.SetFontBold(indexRow, 1, indexRow, 1);
            report.SetFontSize(indexRow, 1, indexRow, 1, 16);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
            indexRow++;
            indexRow++;

            string[] monthNames = DateTimeFormatInfo.CurrentInfo.MonthNames;
            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Период ежемесячного отчёта {monthNames[_startDate.Month-1]}.{_startDate.Year}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Объект аренды: {_nameObject}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Статус: {status}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
            indexRow++;
            indexRow++;
            #endregion

            int indexCol = 0;
            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    indexCol++;
                    report.AddSingleValue(col.HeaderText, indexRow, indexCol);
                }
            }
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            report.SetBorders(indexRow, 1, indexRow, maxColumns);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
            indexRow++;

            var groupByPost = dtReport.DefaultView.ToTable().AsEnumerable().GroupBy(r => new { id = r.Field <int>("id_Landlord") })
                              .Select(s => new { s.Key.id,
                                                 sumPlan = s.Sum(r => r.Field <decimal>("plane")) });
            decimal maxResultPlane = 0;

            foreach (var gPost in groupByPost)
            {
                EnumerableRowCollection <DataRow> rowCollect = dtReport.DefaultView.ToTable().AsEnumerable().Where(r => r.Field <int>("id_Landlord") == gPost.id);
                int startMergRow = indexRow;

                foreach (DataRow row in rowCollect)
                {
                    indexCol = 1;
                    report.SetWrapText(indexRow, indexCol, indexRow, maxColumns);
                    foreach (DataGridViewColumn col in dgvData.Columns)
                    {
                        if (col.Visible)
                        {
                            if (new List <string>()
                            {
                                "nameLandLord"
                            }.Contains(col.Name))
                            {
                                indexCol++;
                                continue;
                            }


                            if (row[col.DataPropertyName] is DateTime)
                            {
                                report.AddSingleValue(((DateTime)row[col.DataPropertyName]).ToShortDateString(), indexRow, indexCol);
                            }
                            else
                            if (row[col.DataPropertyName] is decimal)
                            {
                                report.AddSingleValueObject(row[col.DataPropertyName], indexRow, indexCol);
                                report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
                            }
                            else
                            {
                                report.AddSingleValue(row[col.DataPropertyName].ToString(), indexRow, indexCol);
                            }

                            indexCol++;
                        }
                    }

                    report.SetBorders(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                    indexRow++;
                }



                indexCol = 1;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (new List <string>()
                    {
                        "nameLandLord"
                    }.Contains(col.Name))
                    {
                        report.Merge(startMergRow, indexCol, indexRow - 1, indexCol);

                        if (rowCollect.First()[col.DataPropertyName] is DateTime)
                        {
                            report.AddSingleValue(((DateTime)rowCollect.First()[col.DataPropertyName]).ToShortDateString(), startMergRow, indexCol);
                        }
                        else
                        if (rowCollect.First()[col.DataPropertyName] is decimal)
                        {
                            report.AddSingleValueObject(rowCollect.First()[col.DataPropertyName], startMergRow, indexCol);
                            report.SetFormat(startMergRow, indexCol, startMergRow, indexCol, "0.00");
                        }
                        else
                        {
                            report.AddSingleValue(rowCollect.First()[col.DataPropertyName].ToString(), startMergRow, indexCol);
                        }
                    }
                    else if (new List <string>()
                    {
                        "cPlane"
                    }.Contains(col.Name))
                    {
                        report.AddSingleValueObject(gPost.sumPlan, indexRow, indexCol);
                        report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
                        report.Merge(indexRow, 1, indexRow, indexCol - 1);
                        report.AddSingleValue("Итого:", indexRow, 1);
                        report.SetCellAlignmentToRight(indexRow, 1, indexRow, indexCol - 1);
                        indexRow++;
                    }
                    indexCol++;
                }
                maxResultPlane += gPost.sumPlan;
            }

            report.AddSingleValueObject(maxResultPlane, indexRow, maxColumns);
            report.SetFormat(indexRow, maxColumns, indexRow, maxColumns, "0.00");
            report.Merge(indexRow, 1, indexRow, maxColumns - 1);
            report.AddSingleValue("Итого:", indexRow, 1);
            report.SetCellAlignmentToRight(indexRow, 1, indexRow, maxColumns - 1);
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            indexRow++;


            report.Show();
        }
コード例 #8
0
        public static void createReport(DataTable dtReport, string _nameObject, string status, DateTime _startDate)
        {
            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();
            int indexRow = 1;

            List <string> listColumnsSum = new List <string>()
            {
                "preCredit", "preOverPayment", "prePlan", "EndPlan", "Penalty", "OtherPayments", "ultraResult", "Included", "Credit", "OverPayment"
            };
            List <string> listColumnGroup = new List <string>()
            {
                "nameLandLord"
            };
            Dictionary <string, int> dicColumnNameForIndex = new Dictionary <string, int>();

            Control[]    cnt     = new frmAddReportPlane().Controls.Find("dgvData", false);
            DataGridView dgvData = (DataGridView)cnt[0];

            int  maxColumns = 0;
            bool isAddItog  = false;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    maxColumns++;
                    if (col.Name.Equals("nameLandLord"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("nameTenant"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("TypeContract"))
                    {
                        setWidthColumn(indexRow, maxColumns, 13, report);
                    }
                    if (col.Name.Equals("cAgreements"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("timeLimit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 14, report);
                    }
                    if (col.Name.Equals("cBuild"))
                    {
                        setWidthColumn(indexRow, maxColumns, 9, report);
                    }
                    if (col.Name.Equals("cFloor"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cSection"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cSquart"))
                    {
                        setWidthColumn(indexRow, maxColumns, 12, report);
                    }
                    if (col.Name.Equals("Cost_of_Meter"))
                    {
                        setWidthColumn(indexRow, maxColumns, 14, report);
                    }
                    if (col.Name.Equals("cSumDog"))
                    {
                        setWidthColumn(indexRow, maxColumns, 19, report);
                    }
                    if (col.Name.Equals("cDiscount"))
                    {
                        setWidthColumn(indexRow, maxColumns, 10, report);
                    }
                    if (col.Name.Equals("cPlane"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    //Console.WriteLine(col.Name);
                    dicColumnNameForIndex.Add(col.Name, maxColumns);
                }
            }

            #region "Head"
            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("План отчёт", indexRow, 1);
            report.SetFontBold(indexRow, 1, indexRow, 1);
            report.SetFontSize(indexRow, 1, indexRow, 1, 16);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
            indexRow++;
            indexRow++;

            string[] monthNames = DateTimeFormatInfo.CurrentInfo.MonthNames;
            report.Merge(indexRow, 1, indexRow, maxColumns);
//<<<<<<< HEAD
            report.AddSingleValue($"Период план-отчёта {monthNames[_startDate.Month-1]}.{_startDate.Year}", indexRow, 1);
//=======
//            report.AddSingleValue($"Период ежемесячного отчёта {monthNames[_startDate.Month-1]}.{_startDate.Year}", indexRow, 1);
//>>>>>>> 5b40c2b8d571ec7b2bfd3ee230bb62ce5596e5b9
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Объект аренды: {_nameObject}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Статус: {status}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
            indexRow++;
            indexRow++;
            #endregion

            int indexCol = 0;
            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    indexCol++;
                    report.AddSingleValue(col.HeaderText, indexRow, indexCol);
                }
            }
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            report.SetBorders(indexRow, 1, indexRow, maxColumns);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
            indexRow++;

            var groupByPost = dtReport.DefaultView.ToTable().AsEnumerable().GroupBy(r => new { id = r.Field <int>("id_Landlord") })
                              .Select(s => new { s.Key.id,
                                                 preCredit      = s.Sum(r => r.Field <decimal>("preCredit")),
                                                 preOverPayment = s.Sum(r => r.Field <decimal>("preOverPayment")),
                                                 prePlan        = s.Sum(r => r.Field <decimal>("prePlan")),
                                                 EndPlan        = s.Sum(r => r.Field <decimal>("EndPlan")),
                                                 Penalty        = s.Sum(r => r.Field <decimal>("Penalty")),
                                                 OtherPayments  = s.Sum(r => r.Field <decimal>("OtherPayments")),
                                                 ultraResult    = s.Sum(r => r.Field <decimal>("ultraResult")),
                                                 Included       = s.Sum(r => r.Field <decimal>("Included")),
                                                 Credit         = s.Sum(r => r.Field <decimal>("Credit")),
                                                 OverPayment    = s.Sum(r => r.Field <decimal>("OverPayment")) });
            decimal maxResultPlane = 0;

            foreach (var gPost in groupByPost)
            {
                EnumerableRowCollection <DataRow> rowCollect = dtReport.DefaultView.ToTable().AsEnumerable().Where(r => r.Field <int>("id_Landlord") == gPost.id);
                int startMergRow = indexRow;

                foreach (DataRow row in rowCollect)
                {
                    indexCol = 1;
                    report.SetWrapText(indexRow, indexCol, indexRow, maxColumns);
                    foreach (DataGridViewColumn col in dgvData.Columns)
                    {
                        if (col.Visible)
                        {
                            if (new List <string>()
                            {
                                "nameLandLord"
                            }.Contains(col.Name))
                            {
                                indexCol++;
                                continue;
                            }


                            if (row[col.DataPropertyName] is DateTime)
                            {
                                report.AddSingleValue(((DateTime)row[col.DataPropertyName]).ToShortDateString(), indexRow, indexCol);
                            }
                            else
                            if (row[col.DataPropertyName] is decimal)
                            {
                                report.AddSingleValueObject(row[col.DataPropertyName], indexRow, indexCol);
                                report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
                            }
                            else
                            {
                                report.AddSingleValue(row[col.DataPropertyName].ToString(), indexRow, indexCol);
                            }

                            indexCol++;
                        }
                    }

                    report.SetBorders(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                    indexRow++;
                }



                indexCol  = 1;
                isAddItog = false;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (listColumnGroup.Contains(col.Name))
                    {
                        report.Merge(startMergRow, indexCol, indexRow - 1, indexCol);

                        if (rowCollect.First()[col.DataPropertyName] is DateTime)
                        {
                            report.AddSingleValue(((DateTime)rowCollect.First()[col.DataPropertyName]).ToShortDateString(), startMergRow, indexCol);
                        }
                        else
                        if (rowCollect.First()[col.DataPropertyName] is decimal)
                        {
                            report.AddSingleValueObject(rowCollect.First()[col.DataPropertyName], startMergRow, indexCol);
                            report.SetFormat(startMergRow, indexCol, startMergRow, indexCol, "0.00");
                        }
                        else
                        {
                            report.AddSingleValue(rowCollect.First()[col.DataPropertyName].ToString(), startMergRow, indexCol);
                        }
                    }
                    else if (listColumnsSum.Contains(col.Name))
                    {
                        switch (col.Name)
                        {
                        case "preCredit": report.AddSingleValueObject(gPost.preCredit, indexRow, indexCol); break;

                        case "preOverPayment": report.AddSingleValueObject(gPost.preOverPayment, indexRow, indexCol); break;

                        case "prePlan": report.AddSingleValueObject(gPost.prePlan, indexRow, indexCol); break;

                        case "EndPlan": report.AddSingleValueObject(gPost.EndPlan, indexRow, indexCol); break;

                        case "Penalty": report.AddSingleValueObject(gPost.Penalty, indexRow, indexCol); break;

                        case "OtherPayments": report.AddSingleValueObject(gPost.OtherPayments, indexRow, indexCol); break;

                        case "ultraResult": report.AddSingleValueObject(gPost.ultraResult, indexRow, indexCol); break;

                        case "Included": report.AddSingleValueObject(gPost.Included, indexRow, indexCol); break;

                        case "Credit": report.AddSingleValueObject(gPost.Credit, indexRow, indexCol); break;

                        case "OverPayment": report.AddSingleValueObject(gPost.OverPayment, indexRow, indexCol); break;

                        default: break;
                        }
                        //report.AddSingleValueObject(gPost.preCredit, indexRow, indexCol);


                        report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
                        if (!isAddItog)
                        {
                            report.Merge(indexRow, 1, indexRow, indexCol - 1);
                            report.AddSingleValue($" Итого:", indexRow, 1);

                            isAddItog = true;
                        }
                        report.SetCellAlignmentToRight(indexRow, 1, indexRow, indexCol - 1);
                    }
                    indexCol++;
                }
                report.SetBorders(indexRow, 1, indexRow, maxColumns);
                report.SetFontBold(indexRow, 1, indexRow, maxColumns);
                indexRow++;
                maxResultPlane += gPost.preCredit;
            }

            indexRow++;

            isAddItog = false;
            foreach (string lCol in listColumnsSum)
            {
                if (!isAddItog)
                {
                    report.Merge(indexRow, 1, indexRow, dicColumnNameForIndex[lCol] - 1);
                    report.AddSingleValue($" Итого:", indexRow, 1);

                    isAddItog = true;
                }
                report.AddSingleValueObject(dtReport.AsEnumerable().Sum(r => r.Field <decimal>(lCol)), indexRow, dicColumnNameForIndex[lCol]);
                report.SetFormat(indexRow, dicColumnNameForIndex[lCol], indexRow, dicColumnNameForIndex[lCol], "0.00");
            }

            //report.AddSingleValueObject(maxResultPlane, indexRow, maxColumns);
            //report.SetFormat(indexRow, maxColumns, indexRow, maxColumns, "0.00");
            //report.Merge(indexRow, 1, indexRow, maxColumns - 1);
            //report.AddSingleValue("Итого:", indexRow, 1);
            report.SetCellAlignmentToRight(indexRow, 1, indexRow, maxColumns - 1);
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            indexRow++;


            report.Show();
        }
コード例 #9
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            int id_typeDoc = (int)cmbTypeDoc.SelectedValue;
            EnumerableRowCollection <DataRow> rowCollect = dtPostVsDeps.AsEnumerable().Where(r => r.Field <bool>("isSelect"));

            if (!chbAllDepsAndPosts.Checked && rowCollect.Count() == 0)
            {
                MessageBox.Show("Необходимо выбрать должность и отдел!", "Информирование", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
            }

            Task <DataTable> task = Config.hCntMain.getReportInformationUser(id_typeDoc);

            task.Wait();

            if (task.Result == null || task.Result.Rows.Count == 0)
            {
                MessageBox.Show("Нет данных для отчёта!", "Информирование", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
            }

            DataTable dtReport = task.Result.Clone();

            if (!chbAllDepsAndPosts.Checked)
            {
                foreach (DataRow row in rowCollect)
                {
                    EnumerableRowCollection <DataRow> rowToReport = task.Result.AsEnumerable().Where(r => r.Field <int>("id_Departments") == (int)row["id_Departments"] && r.Field <int>("id_Posts") == (int)row["id_Posts"]);
                    if (rowToReport.Count() > 0)
                    {
                        dtReport.Merge(rowToReport.CopyToDataTable());
                    }
                }
            }
            else if (UserSettings.User.StatusCode.ToLower().Equals("ркв"))
            {
                foreach (DataRow row in dtDepsLinkToDep.Rows)
                {
                    EnumerableRowCollection <DataRow> rowToReport = task.Result.AsEnumerable().Where(r => r.Field <int>("id_Departments") == (int)row["id_DepartmentsView"]);
                    if (rowToReport.Count() > 0)
                    {
                        dtReport.Merge(rowToReport.CopyToDataTable());
                    }
                }
            }
            else
            {
                dtReport = task.Result.Copy();
            }

            if (dtReport.Rows.Count == 0)
            {
                MessageBox.Show("Нет данных для отчёта!", "Информирование", MessageBoxButtons.OK, MessageBoxIcon.Information); return;
            }

            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();
            int indexRow  = 1;
            int maxColumn = 5;

            report.Merge(indexRow, 1, indexRow, maxColumn);
            report.AddSingleValue("Документы, ожидающие ознакомления", indexRow, 1);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumn);
            report.SetFontBold(indexRow, 1, indexRow, maxColumn);
            report.SetFontSize(indexRow, 1, indexRow, maxColumn, 16);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumn);
            report.AddSingleValue($"Выгрузил:{Nwuram.Framework.Settings.User.UserSettings.User.FullUsername}", indexRow, 1);
            report.SetCellAlignmentToRight(indexRow, 1, indexRow, maxColumn);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumn);
            report.AddSingleValue($"Дата выгрузки:{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}", indexRow, 1);
            report.SetCellAlignmentToRight(indexRow, 1, indexRow, maxColumn);
            indexRow++;
            indexRow++;

            report.AddSingleValue("№", indexRow, 1);
            report.AddSingleValue("Отдел", indexRow, 2);
            report.AddSingleValue("Должность", indexRow, 3);
            report.AddSingleValue("Наименование документа", indexRow, 4);
            report.AddSingleValue("Дата отправки на ознакомление", indexRow, 5);
            report.SetBorders(indexRow, 1, indexRow, maxColumn);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumn);
            report.SetWrapText(indexRow, 1, indexRow, maxColumn);
            report.SetFontBold(indexRow, 1, indexRow, maxColumn);

            report.SetColumnWidth(indexRow, 1, indexRow, 1, 6);
            report.SetColumnWidth(indexRow, 2, indexRow, 2, 25);
            report.SetColumnWidth(indexRow, 3, indexRow, 3, 25);
            report.SetColumnWidth(indexRow, 4, indexRow, 4, 50);
            report.SetColumnWidth(indexRow, 5, indexRow, 5, 20);

            indexRow++;

            var groupDeps = dtReport.AsEnumerable().GroupBy(r => new { id_Departments = r.Field <int>("id_Departments"), nameDep = r.Field <string>("nameDep") })
                            .Select(s => new
            {
                s.Key.id_Departments,
                s.Key.nameDep
            });

            int npp = 1;

            foreach (var gDep in groupDeps)
            {
                int startIndexGroupDeps = indexRow;
                var groupPost           = dtReport.AsEnumerable()
                                          .Where(r => r.Field <int>("id_Departments") == gDep.id_Departments)
                                          .GroupBy(r => new { id_Posts = r.Field <int>("id_Posts"), namePost = r.Field <string>("namePost") })
                                          .Select(s => new
                {
                    s.Key.id_Posts,
                    s.Key.namePost
                });

                foreach (var gPost in groupPost)
                {
                    int startIndexGroupPost = indexRow;
                    rowCollect = dtReport.AsEnumerable()
                                 .Where(r => r.Field <int>("id_Departments") == gDep.id_Departments && r.Field <int>("id_Posts") == gPost.id_Posts);

                    foreach (DataRow row in rowCollect)
                    {
                        report.AddSingleValue($"{npp}", indexRow, 1);
                        report.AddSingleValue($"{row["cName"]}", indexRow, 4);
                        report.AddSingleValue($"{((DateTime)row["DateEdit"]).ToShortDateString()}", indexRow, 5);
                        report.SetCellAlignmentToCenter(indexRow, 4, indexRow, 5);
                        report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                        report.SetWrapText(indexRow, 4, indexRow, 4);
                        report.SetBorders(indexRow, 1, indexRow, 5);
                        indexRow++;
                        npp++;
                    }

                    report.Merge(startIndexGroupPost, 3, indexRow - 1, 3);
                    report.AddSingleValue($"{gPost.namePost}", startIndexGroupPost, 3);
                    report.SetCellAlignmentToCenter(startIndexGroupPost, 3, startIndexGroupPost, 3);
                    report.SetCellAlignmentToJustify(startIndexGroupPost, 3, startIndexGroupPost, 3);
                    report.SetWrapText(startIndexGroupPost, 3, startIndexGroupPost, 3);
                    report.SetBorders(startIndexGroupPost, 3, startIndexGroupPost, 3);
                }
                report.Merge(startIndexGroupDeps, 2, indexRow - 1, 2);
                report.AddSingleValue($"{gDep.nameDep.Trim()}", startIndexGroupDeps, 2);
                report.SetCellAlignmentToCenter(startIndexGroupDeps, 2, startIndexGroupDeps, 2);
                report.SetCellAlignmentToJustify(startIndexGroupDeps, 2, startIndexGroupDeps, 2);
                report.SetWrapText(startIndexGroupDeps, 2, startIndexGroupDeps, 2);
                report.SetBorders(startIndexGroupDeps, 2, startIndexGroupDeps, 2);
            }

            report.Show();
        }
コード例 #10
0
        private async void btPrint_Click(object sender, EventArgs e)
        {
            int id_Shop = (int)cmbShop.SelectedValue;
            int id_dep  = (int)cmbDeps.SelectedValue;

            report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();
            blockers.SaveControlsEnabledState(this);
            blockers.SetControlsEnabled(this, false);
            progressBar1.Visible = true;

            var result = await Task <bool> .Factory.StartNew(() =>
            {
                DataTable dtDbase1, dtKassRealiz;
                Task <DataTable> task;

                if (id_Shop == 1)
                {
                    task = Config.hCntMain.GetListTovarForValidateReport(id_dep);
                    task.Wait();
                    dtDbase1 = task.Result;

                    task = Config.hCntMainKassRealizz.GetListTovarForValidateReport(id_dep);
                    task.Wait();
                    dtKassRealiz = task.Result;
                }
                else
                {
                    task = Config.hCntSecond.GetListTovarForValidateReport(id_dep);
                    task.Wait();
                    dtDbase1 = task.Result;

                    task = Config.hCntSecondKassRealizz.GetListTovarForValidateReport(id_dep);
                    task.Wait();
                    dtKassRealiz = task.Result;
                }


                if (dtKassRealiz != null && dtKassRealiz.Rows.Count > 0)
                {
                    DataTable dtTmp = dtDbase1.Clone();

                    var query = (from g in dtDbase1.AsEnumerable()
                                 join k in dtKassRealiz.AsEnumerable() on new { Q = g.Field <string>("ean") } equals new { Q = k.Field <string>("ean") } into t1
                                 from leftjoin1 in t1.DefaultIfEmpty()
                                 select dtTmp.LoadDataRow(new object[]
                    {
                        g.Field <int>("id_tovar"),
                        g.Field <string>("ean"),
                        g.Field <string>("cname"),
                        g.Field <decimal>("rcena"),
                        g.Field <DateTime>("DateCreate"),
                        g.Field <string>("FIO"),
                        g.Field <int>("id_otdel"),
                        g.Field <string>("nameDep"),
                        g.Field <int?>("idPromo"),
                        leftjoin1 == null ? null : leftjoin1.Field <decimal?>("price"),
                        leftjoin1 == null ? null : leftjoin1.Field <string>("FIO"),
                        leftjoin1 == null ? null : leftjoin1.Field <DateTime?>("s_time"),
                    }, false));


                    dtDbase1 = query
                               .Where(r => r.Field <decimal?>("rcena") != r.Field <decimal?>("priceKass"))
                               .OrderBy(r => r.Field <int>("id_otdel")).ThenBy(r => r.Field <string>("ean"))
                               .CopyToDataTable();



                    //foreach (DataRow row in dtDbase1.Rows)
                    //{
                    //    EnumerableRowCollection<DataRow> rowCollect = dtKassRealiz.AsEnumerable()
                    //    .Where(r => r.Field<string>("ean") == (string)row["ean"]);//&& Math.Abs(((DateTime)row["DateCreate"] - r.Field<DateTime>("s_time")).TotalSeconds) < 4);

                    //    if (rowCollect.Count() > 0)
                    //    {
                    //        row["priceKass"] = rowCollect.First()["price"];
                    //        row["FIOKass"] = rowCollect.First()["FIO"];
                    //        row["dateKass"] = rowCollect.First()["s_time"];

                    //        //rowCollect.First().Delete();
                    //    }
                    //}
                }


                if (dtDbase1 == null || dtDbase1.Rows.Count == 0)
                {
                    Config.DoOnUIThread(() =>
                    {
                        MessageBox.Show("Нет данных для выгрузки", "Выгрузка отчёта", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        blockers.RestoreControlEnabledState(this);
                        progressBar1.Visible = false;
                    }, this);
                    return(false);
                }


                int indexRow   = 1;
                int maxColumns = 10;

                setWidthColumn(indexRow, 1, 8, report);
                setWidthColumn(indexRow, 2, 12, report);
                setWidthColumn(indexRow, 3, 14, report);

                setWidthColumn(indexRow, 4, 50, report);
                setWidthColumn(indexRow, 5, 10, report);
                setWidthColumn(indexRow, 6, 19, report);
                setWidthColumn(indexRow, 7, 18, report);
                setWidthColumn(indexRow, 8, 10, report);
                setWidthColumn(indexRow, 9, 19, report);
                setWidthColumn(indexRow, 10, 18, report);



                #region "Head"
                report.Merge(indexRow, 1, indexRow, maxColumns);
                report.AddSingleValue($"{this.Text}", indexRow, 1);
                report.SetFontBold(indexRow, 1, indexRow, 1);
                report.SetFontSize(indexRow, 1, indexRow, 1, 16);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
                indexRow++;
                indexRow++;


                report.Merge(indexRow, 1, indexRow, maxColumns);
                report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
                indexRow++;

                report.Merge(indexRow, 1, indexRow, maxColumns);
                report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
                indexRow++;
                indexRow++;
                #endregion

                report.Merge(indexRow, 1, indexRow + 1, 1);
                report.AddSingleValue("№", indexRow, 1);

                report.Merge(indexRow, 2, indexRow + 1, 2);
                report.AddSingleValue("Отдел", indexRow, 2);

                report.Merge(indexRow, 3, indexRow + 1, 3);
                report.AddSingleValue("EAN", indexRow, 3);

                report.Merge(indexRow, 4, indexRow + 1, 4);
                report.AddSingleValue("Наименование", indexRow, 4);


                report.Merge(indexRow, 5, indexRow, 7);
                report.AddSingleValue("На кассе", indexRow, 5);
                report.AddSingleValue("Цена", indexRow + 1, 5);
                report.AddSingleValue("Дата установки", indexRow + 1, 6);
                report.AddSingleValue("Выгрузил на кассу", indexRow + 1, 7);


                report.Merge(indexRow, 8, indexRow, 10);
                report.AddSingleValue("В программе ТК", indexRow, 8);
                report.AddSingleValue("Цена", indexRow + 1, 8);
                report.AddSingleValue("Дата установки", indexRow + 1, 9);
                report.AddSingleValue("Сохранил в программе", indexRow + 1, 10);
                report.SetFontBold(indexRow, 1, indexRow + 1, maxColumns);
                report.SetBorders(indexRow, 1, indexRow + 1, maxColumns);
                report.SetWrapText(indexRow, 1, indexRow + 1, maxColumns);
                report.SetCellAlignmentToCenter(indexRow, 1, indexRow + 1, maxColumns);
                report.SetCellAlignmentToJustify(indexRow, 1, indexRow + 1, maxColumns);
                indexRow++;
                indexRow++;

                int npp = 1;
                foreach (DataRow row in dtDbase1.Rows)
                {
                    report.SetWrapText(indexRow, 1, indexRow, maxColumns);

                    addDataToCell(npp, indexRow, 1, report);
                    addDataToCell(row["nameDep"], indexRow, 2, report);

                    addDataToCell(row["ean"], indexRow, 3, report);
                    addDataToCell(row["cname"], indexRow, 4, report);

                    addDataToCell(row["priceKass"], indexRow, 5, report);
                    addDataToCell(row["dateKass"], indexRow, 6, report, true);
                    addDataToCell(row["FIOKass"], indexRow, 7, report);


                    addDataToCell(row["rcena"], indexRow, 8, report);
                    addDataToCell(row["DateCreate"], indexRow, 9, report, true);
                    addDataToCell(row["FIO"], indexRow, 10, report);


                    report.SetBorders(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToRight(indexRow, 5, indexRow, 5);
                    report.SetCellAlignmentToRight(indexRow, 8, indexRow, 8);
                    indexRow++;

                    npp++;
                }

                report.SetPageSetup(1, 9999, true);
                report.Show();


                Config.DoOnUIThread(() =>
                {
                    blockers.RestoreControlEnabledState(this);
                    progressBar1.Visible = false;
                }, this);

                return(true);
            });
        }
コード例 #11
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);

            Logging.Comment("Выгрузка отчёта из справочника категорий");
            if (!string.IsNullOrWhiteSpace(tbName.Text))
            {
                Logging.Comment($"Фильтр по наименованию категорий: {tbName.Text}");
            }
            Logging.StopFirstLevel();

            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad("list-1");

            int rIndex = 1;

            report.Merge(rIndex, 1, rIndex, 5);
            report.AddSingleValue("Справочник категорий", rIndex, 1);
            report.SetCellAlignmentToCenter(rIndex, 1, rIndex, 1);
            report.SetFontBold(rIndex, 1, rIndex, 1);
            report.SetFontSize(rIndex, 1, rIndex, 1, 14);
            rIndex++;

            report.Merge(rIndex, 3, rIndex, 5);
            report.AddSingleValue("Выгрузил: " + UserSettings.User.FullUsername, rIndex, 3);
            report.SetCellAlignmentToRight(rIndex, 3, rIndex, 3);
            rIndex++;


            report.Merge(rIndex, 1, rIndex, 2);
            report.Merge(rIndex, 3, rIndex, 5);
            report.AddSingleValue("Фильтры: " + tbName.Text, rIndex, 1);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), rIndex, 3);
            report.SetCellAlignmentToRight(rIndex, 3, rIndex, 3);
            rIndex++;
            rIndex++;



            int cIndex = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    cIndex++;
                    report.AddSingleValue(col.HeaderText, rIndex, cIndex);
                }
            }
            report.SetBorders(rIndex, 1, rIndex, cIndex);
            report.SetCellAlignmentToCenter(rIndex, 1, rIndex, cIndex);
            rIndex++;

            foreach (DataRowView row in dtData.DefaultView)
            {
                report.AddSingleValue(row["nameDep"].ToString(), rIndex, 1);
                report.AddSingleValue(row["cName"].ToString(), rIndex, 2);
                report.AddSingleValue(row["cNameParent"].ToString(), rIndex, 3);
                if (!(bool)row["isActive"])
                {
                    report.SetCellColor(rIndex, 1, rIndex, cIndex, panel1.BackColor);
                }

                report.SetBorders(rIndex, 1, rIndex, cIndex);
                report.SetCellAlignmentToCenter(rIndex, 1, rIndex, cIndex);
                rIndex++;
            }

            report.Merge(rIndex, 2, rIndex, 5);
            report.SetCellColor(rIndex, 1, rIndex, 1, panel1.BackColor);
            report.AddSingleValue("- не действующие", rIndex, 2);
            rIndex++;

            report.SetColumnAutoSize(1, 1, rIndex, 5);
            report.Show();
        }
コード例 #12
0
        private void btPrint_Click(object sender, EventArgs e)
        {
            Logging.StartFirstLevel(79);

            Logging.Comment($"Фомирование отчёта из \"{this.Text}\"");

            Logging.Comment($"Договор:{tbAgreement.Text}");
            Logging.Comment($"Арендатор:{tbTenant.Text}");
            Logging.Comment($"Период начисления:{cmbPeriodCredit.Text}");
            Logging.Comment($"Объект аренды:{cmbObject.Text}");
            Logging.Comment($"Тип договора:{cmbTypeContract.Text}");
            Logging.Comment($"Подтвержденные пени: {(chbCongressAccept.Checked ? "Да" : "Нет")}");

            Logging.StopFirstLevel();

            Nwuram.Framework.ToExcelNew.ExcelUnLoad report = new Nwuram.Framework.ToExcelNew.ExcelUnLoad();

            int indexRow = 1;

            int maxColumns = 0;

            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    maxColumns++;
                    if (col.Name.Equals("nameTenant"))
                    {
                        setWidthColumn(indexRow, maxColumns, 20, report);
                    }
                    if (col.Name.Equals("cTypeContract"))
                    {
                        setWidthColumn(indexRow, maxColumns, 21, report);
                    }
                    if (col.Name.Equals("cAgreements"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("cPeriodCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 22, report);
                    }
                    if (col.Name.Equals("cSummaCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 18, report);
                    }
                    if (col.Name.Equals("cDatePay"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cSumma"))
                    {
                        setWidthColumn(indexRow, maxColumns, 16, report);
                    }
                    if (col.Name.Equals("cCountDaysCredit"))
                    {
                        setWidthColumn(indexRow, maxColumns, 18, report);
                    }
                    if (col.Name.Equals("cPrcPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cSummaPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                    if (col.Name.Equals("cItogPenalty"))
                    {
                        setWidthColumn(indexRow, maxColumns, 15, report);
                    }
                }
            }

            #region "Head"
            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue("Отчёт по начислению пени", indexRow, 1);
            report.SetFontBold(indexRow, 1, indexRow, 1);
            report.SetFontSize(indexRow, 1, indexRow, 1, 16);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, 1);
            indexRow++;
            indexRow++;


            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Период начисления {cmbPeriodCredit.Text}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Объект аренды: {cmbObject.Text}", indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, maxColumns);
            report.AddSingleValue($"Тип договора: {cmbTypeContract.Text}", indexRow, 1);
            indexRow++;

            if (tbAgreement.Text.Trim().Length > 0 || tbTenant.Text.Trim().Length > 0)
            {
                report.Merge(indexRow, 1, indexRow, maxColumns);
                report.AddSingleValue($"Фильтры: " +
                                      $"{(tbTenant.Text.Trim().Length == 0 ? "" : "Арендатор: " + tbTenant.Text.Trim())} " +
                                      $"{(tbAgreement.Text.Trim().Length == 0 ? "" : "Номер договора: " + tbAgreement.Text.Trim())}", indexRow, 1);
                indexRow++;
            }

            report.Merge(indexRow, 1, indexRow, 6);
            report.AddSingleValue("Выгрузил: " + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername, indexRow, 1);
            indexRow++;

            report.Merge(indexRow, 1, indexRow, 6);
            report.AddSingleValue("Дата выгрузки: " + DateTime.Now.ToString(), indexRow, 1);
            indexRow++;
            indexRow++;
            #endregion

            int indexCol = 0;
            foreach (DataGridViewColumn col in dgvData.Columns)
            {
                if (col.Visible)
                {
                    indexCol++;
                    report.AddSingleValue(col.HeaderText, indexRow, indexCol);
                }
            }
            report.SetFontBold(indexRow, 1, indexRow, maxColumns);
            report.SetBorders(indexRow, 1, indexRow, maxColumns);
            report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
            indexRow++;

            var groupByPost = dtData.DefaultView.ToTable().AsEnumerable().GroupBy(r => new { id = r.Field <int>("id") })
                              .Select(s => new { s.Key.id });

            foreach (var gPost in groupByPost)
            {
                EnumerableRowCollection <DataRow> rowCollect = dtData.DefaultView.ToTable().AsEnumerable().Where(r => r.Field <int>("id") == gPost.id);
                int startMergRow = indexRow;

                foreach (DataRow row in rowCollect)
                {
                    indexCol = 1;
                    report.SetWrapText(indexRow, indexCol, indexRow, maxColumns);
                    foreach (DataGridViewColumn col in dgvData.Columns)
                    {
                        if (col.Visible)
                        {
                            if (new List <int>()
                            {
                                nameTenant.Index, cTypeContract.Index, cAgreements.Index, cPeriodCredit.Index, cItogPenalty.Index
                            }.Contains(col.Index))
                            {
                                indexCol++;
                                continue;
                            }


                            if (row[col.DataPropertyName] is DateTime)
                            {
                                report.AddSingleValue(((DateTime)row[col.DataPropertyName]).ToShortDateString(), indexRow, indexCol);
                            }
                            else
                            if (row[col.DataPropertyName] is decimal)
                            {
                                report.AddSingleValueObject(row[col.DataPropertyName], indexRow, indexCol);
                                report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
                            }
                            else
                            {
                                report.AddSingleValue(row[col.DataPropertyName].ToString(), indexRow, indexCol);
                            }

                            indexCol++;
                        }
                    }

                    report.SetBorders(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
                    report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);

                    if ((int)row["id_StatusPenalty"] == 3)
                    {
                        report.SetCellColor(indexRow, 1, indexRow, maxColumns, panel2.BackColor);
                    }
                    indexRow++;
                }

                indexCol = 1;
                foreach (DataGridViewColumn col in dgvData.Columns)
                {
                    if (new List <int>()
                    {
                        nameTenant.Index, cTypeContract.Index, cAgreements.Index, cPeriodCredit.Index, cItogPenalty.Index
                    }.Contains(col.Index))
                    {
                        report.Merge(startMergRow, indexCol, indexRow - 1, indexCol);

                        if (rowCollect.First()[col.DataPropertyName] is DateTime)
                        {
                            report.AddSingleValue(((DateTime)rowCollect.First()[col.DataPropertyName]).ToShortDateString(), startMergRow, indexCol);
                        }
                        else
                        if (rowCollect.First()[col.DataPropertyName] is decimal)
                        {
                            report.AddSingleValueObject(rowCollect.First()[col.DataPropertyName], startMergRow, indexCol);
                            report.SetFormat(startMergRow, indexCol, startMergRow, indexCol, "0.00");
                        }
                        else
                        {
                            report.AddSingleValue(rowCollect.First()[col.DataPropertyName].ToString(), startMergRow, indexCol);
                        }
                    }
                    indexCol++;
                }
            }

            /*
             * indexCol = 0;
             * int indexStartRow = indexRow;
             * //foreach (DataGridViewRow row in dgvData.Rows)
             * foreach (DataGridViewColumn col in dgvData.Columns)
             * {
             *  if (col.Visible)
             *  {
             *      indexCol++;
             *      indexRow = indexStartRow;
             *      int startMergRow = indexRow;
             *      object tmpValue = null;
             *      int preId = 0;
             *      //foreach (DataGridViewColumn col in dgvData.Columns)
             *      foreach (DataGridViewRow row in dgvData.Rows)
             *      {
             *          if ((int)dtData.DefaultView[row.Index]["id_StatusPenalty"] == 3)
             *              report.SetCellColor(indexRow, 1, indexRow, maxColumns, panel2.BackColor);
             *
             *          report.SetWrapText(indexRow, indexCol, indexRow, indexCol);
             *
             *          if (new List<int>() { nameTenant.Index, cTypeContract.Index, cAgreements.Index, cPeriodCredit.Index, cItogPenalty.Index }.Contains(col.Index))
             *          {
             *              if (indexRow == indexStartRow)
             *              {
             *                  tmpValue = row.Cells[col.Index].Value;
             *                  preId = (int)dtData.DefaultView[row.Index]["id"];
             *              }
             *              else if (indexRow - indexStartRow == dgvData.Rows.Count - 1)
             *              {
             *                  report.Merge(startMergRow, indexCol, indexRow-1, indexCol);
             *
             *                  if (tmpValue is DateTime)
             *                      report.AddSingleValue(((DateTime)tmpValue).ToShortDateString(), startMergRow, indexCol);
             *                  if (tmpValue is decimal)
             *                  {
             *                      report.AddSingleValueObject(tmpValue, startMergRow, indexCol);
             *                      report.SetFormat(startMergRow, indexCol, startMergRow, indexCol, "0.00");
             *                  }
             *                  else
             *                      report.AddSingleValue(tmpValue.ToString(), startMergRow, indexCol);
             *
             *
             *                  if (row.Cells[col.Index].Value is DateTime)
             *                      report.AddSingleValue(((DateTime)row.Cells[col.Index].Value).ToShortDateString(), indexRow, indexCol);
             *                  else
             *                   if (row.Cells[col.Index].Value is decimal)
             *                  {
             *                      report.AddSingleValueObject(row.Cells[col.Index].Value, indexRow, indexCol);
             *                      report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
             *                  }
             *                  else
             *                      report.AddSingleValue(row.Cells[col.Index].Value.ToString(), indexRow, indexCol);
             *
             *              }
             *              else if (indexRow != indexStartRow)
             *              {
             *                  if (!tmpValue.Equals(row.Cells[col.Index].Value) || preId != (int)dtData.DefaultView[row.Index]["id"])
             *                  {
             *                      report.Merge(startMergRow, indexCol, indexRow - 1, indexCol);
             *
             *                      if (tmpValue is DateTime)
             *                          report.AddSingleValue(((DateTime)tmpValue).ToShortDateString(), startMergRow, indexCol);
             *                      else
             *                          if (tmpValue is decimal)
             *                      {
             *                          report.AddSingleValueObject(tmpValue, startMergRow, indexCol);
             *                          report.SetFormat(startMergRow, indexCol, startMergRow, indexCol, "0.00");
             *                      }
             *                      else
             *                          report.AddSingleValue(tmpValue.ToString(), startMergRow, indexCol);
             *
             *                      startMergRow = indexRow;
             *                      tmpValue = row.Cells[col.Index].Value;
             *                      preId = (int)dtData.DefaultView[row.Index]["id"];
             *                  }
             *              }
             *          }
             *          else
             *          {
             *              if (row.Cells[col.Index].Value is DateTime)
             *                  report.AddSingleValue(((DateTime)row.Cells[col.Index].Value).ToShortDateString(), indexRow, indexCol);
             *              else
             *                  if (row.Cells[col.Index].Value is decimal)
             *              {
             *                  report.AddSingleValueObject(row.Cells[col.Index].Value, indexRow, indexCol);
             *                  report.SetFormat(indexRow, indexCol, indexRow, indexCol, "0.00");
             *              }
             *              else
             *                  report.AddSingleValue(row.Cells[col.Index].Value.ToString(), indexRow, indexCol);
             *          }
             *
             *
             *          report.SetBorders(indexRow, 1, indexRow, maxColumns);
             *          report.SetCellAlignmentToCenter(indexRow, 1, indexRow, maxColumns);
             *          report.SetCellAlignmentToJustify(indexRow, 1, indexRow, maxColumns);
             *          indexRow++;
             *      }
             *  }
             * }
             */

            report.SetCellColor(indexRow, 1, indexRow, 1, panel2.BackColor);
            report.Merge(indexRow, 2, indexRow, 4);
            report.AddSingleValue(chbCongressAccept.Text, indexRow, 2);

            report.SetFontBold(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.SetBorders(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.SetCellAlignmentToRight(indexRow, maxColumns - 1, indexRow, maxColumns);
            report.AddSingleValue("Итого", indexRow, maxColumns - 1);
            report.AddSingleValue(tbItogPenalty.Text, indexRow, maxColumns);



            report.Show();
        }