private void btnExcel_Click(object sender, EventArgs e) { Logging.StartFirstLevel(79); Logging.Comment("Выгрузка отчета со списком оплат по договору в Excel файл"); Logging.Comment("Дата заключения договора: " + dateDoc); Logging.Comment("№ договора: " + numDoc); Logging.Comment("Арендатор ID: " + idArend + " ; Наименование: " + nameArend); Logging.Comment("Место: " + position); Logging.Comment("Дата начала:" + dateStartDoc); Logging.Comment("Дата окончания:" + dateEndDoc); Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername); Logging.StopFirstLevel(); HandmadeReport Rep = new HandmadeReport(); Rep.AddSingleValue("Список оплат по договору", 2, 2); Rep.SetFontSize(2, 2, 2, 2, 14); Rep.SetFontBold(2, 2, 2, 2); Rep.AddSingleValue("№ договора:", 4, 2); Rep.AddSingleValue("Дата договора:", 5, 2); Rep.AddSingleValue("Арендатор:", 6, 2); Rep.AddSingleValue("Аренда (руб.):", 7, 2); string date = dtpDate.Value.ToShortDateString(); Rep.AddSingleValue(txtNum.Text, 4, 4); //Rep.AddSingleValue(dtpDate.Value.ToString("dd.MM.yyyy"), 5, 4); Rep.AddSingleValue(date, 5, 4); Rep.AddSingleValue(txtTenant.Text, 6, 4); Rep.AddSingleValue(txtSum.Text, 7, 4); DataTable dtPrint = GridToDataTable.GetDataTableFromGridWithNum(grdPayments); for (int i = 0; dtPrint.Rows.Count > i; i++) { try { dtPrint.Rows[i]["Дата оплаты"] = DateTime.Parse(dtPrint.Rows[i]["Дата оплаты"].ToString()).ToShortDateString(); } catch { } } Rep.AddMultiValue(dtPrint, 9, 1); Rep.SetFontBold(9, 1, 9, grdPayments.Columns.Count); //Итого decimal total = 0; for (int i = 0; grdPayments.Rows.Count > i; i++) { total += decimal.Parse(numTextBox.ConvertToCompPunctuation(grdPayments.Rows[i].Cells["PaymentSum"].Value.ToString())); } Rep.AddSingleValue("ИТОГО:", grdPayments.Rows.Count + 10, 2); Rep.AddSingleValue(numTextBox.ConvertToSqlPunctuation(total.ToString("0.00")), grdPayments.Rows.Count + 10, 3); Rep.SetColumnAutoSize(1, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count + 2); /* * Rep.SetColumnWidth(1, 1, 1, 1, 13); * Rep.SetColumnWidth(1, 2, 1, 2, 10); * Rep.SetColumnWidth(1, 3, 1, 3, 10); * Rep.SetColumnWidth(1, 4, 1, 4, 10); */ Rep.SetBorders(9, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count); /* * Rep.SetCellAlignmentToCenter(5, 1, 5, grdReal.Columns.Count); * Rep.SetCellAlignmentToCenter(6, 1, grdReal.Rows.Count + 5, 1); * Rep.SetCellAlignmentToRight(6, 2, grdReal.Rows.Count + 7, grdReal.Columns.Count); */ /* * Rep.SetFormat(6, 2, grdReal.Rows.Count + 7, 2, "0,000"); * Rep.SetFormat(6, 3, grdReal.Rows.Count + 7, grdReal.Columns.Count, "0,00"); * Rep.SetFormat(6, 1, grdReal.Rows.Count + 5, 1, "ДД.ММ.ГГГГ"); */ Rep.Show(); }
private void btPrint_Click(object sender, EventArgs e) { DataTable dtReport = new DataTable(); dtReport = _proc.GetLordlandDailyReport(id_LandLord, dtpDate.Value.Date); if ((dtReport != null) && (dtReport.Rows.Count > 0)) { for (int i = 0; dtReport.Rows.Count > i; i++) { dtReport.Rows[i]["arendaSum"] = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["arendaSum"].ToString()); dtReport.Rows[i]["arendaPeni"] = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["arendaPeni"].ToString()); dtReport.Rows[i]["dopSum"] = numTextBox.ConvertToCompPunctuation(dtReport.Rows[i]["dopSum"].ToString()); } DateTime CurDate = _proc.getdatetime(); Logging.StartFirstLevel(79); Logging.Comment("Выгрузка ежедневного отчета по арендадателю"); Logging.Comment("Арендадатель ID: " + _id + " ; Наименование: " + _nameArend); Logging.Comment("ФИО представителя: " + _FIO); Logging.Comment("Адрес : " + _addres_1); Logging.Comment("Адрес сдаваемого помещения : " + _addres_2); Logging.Comment("Параметры отчета"); Logging.Comment("Дата отчета: " + dtpDate.Value.ToShortDateString()); Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername); Logging.StopFirstLevel(); HandmadeReport Rep = new HandmadeReport(); Rep.AddSingleValue("Ежедневный отчет по арендодателю", 3, 2); Rep.AddSingleValue(Name_LandLord, 3, 5); Rep.SetFontSize(3, 2, 3, 2, 14); Rep.SetFontBold(3, 2, 3, 2); Rep.AddSingleValue("Дата:", 2, 7); Rep.AddSingleValue(CurDate.ToString(), 2, 8); //Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy"), 2, 8); Rep.AddSingleValue("Отчет №", 6, 1); Rep.AddSingleValue("Дата", 6, 2); Rep.AddSingleValue("№ договора", 6, 3); Rep.AddSingleValue("Арендатор", 6, 4); Rep.AddSingleValue("Оплата аренды", 6, 5); Rep.AddSingleValue("Дополнительные оплаты", 6, 8); Rep.AddSingleValue("Сумма", 7, 5); Rep.AddSingleValue("Месяц", 7, 6); Rep.AddSingleValue("Пени", 7, 7); Rep.AddSingleValue("Тип оплаты", 7, 8); Rep.AddSingleValue("Сумма оплаты", 7, 9); Rep.SetFontBold(6, 1, 7, 9); Rep.AddMultiValue(dtReport, 8, 3); Rep.Merge(6, 1, 7, 1); Rep.Merge(6, 2, 7, 2); Rep.Merge(6, 3, 7, 3); Rep.Merge(6, 4, 7, 4); Rep.Merge(6, 5, 6, 7); Rep.Merge(6, 8, 6, 9); Rep.SetBorders(6, 1, dtReport.Rows.Count + 6 + 1, 9); //Итого decimal total = 0; for (int i = 0; dtReport.Rows.Count > i; i++) { decimal d = 0; decimal.TryParse(dtReport.Rows[i]["arendaSum"].ToString(), out d); total += d; } Rep.AddSingleValue("ИТОГО:", dtReport.Rows.Count + 7 + 1, 4); Rep.AddSingleValue(total.ToString("### ### ### ##0.00"), dtReport.Rows.Count + 7 + 1, 5); Rep.SetBorders(dtReport.Rows.Count + 7 + 1, 5, dtReport.Rows.Count + 7 + 1, 5); /* * Rep.SetColumnAutoSize(1, 1, grdPayments.Rows.Count + 10, dtPrint.Columns.Count); */ int t = 1; Rep.SetColumnWidth(1, t, 1, t, 10); //Отчет № t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Дата t++; Rep.SetColumnWidth(1, t, 1, t, 15); //№ договора t++; Rep.SetColumnWidth(1, t, 1, t, 30); //Арендатор t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма t++; Rep.SetColumnWidth(1, t, 1, t, 15); //Месяц t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Пени t++; Rep.SetColumnWidth(1, t, 1, t, 15); //Тип оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма оплаты Rep.SetWrapText(6, 1, 7, 9); Rep.SetCellAlignmentToCenter(6, 1, 7, 9); Rep.AddSingleValue(dtpDate.Value.ToString("dd.MM.yyyy"), 8, 2); Rep.SetCellAlignmentToRight(8, 3, dtReport.Rows.Count + 6 + 1, 3); Rep.SetCellAlignmentToRight(8, 5, dtReport.Rows.Count + 6 + 1 + 1, 5); Rep.SetCellAlignmentToRight(8, 7, dtReport.Rows.Count + 6 + 1, 7); Rep.SetCellAlignmentToRight(8, 9, dtReport.Rows.Count + 6 + 1, 9); Rep.SetFormat(8, 5, dtReport.Rows.Count + 6 + 1 + 1, 5, "0,00"); Rep.SetFormat(8, 7, dtReport.Rows.Count + 6 + 1, 7, "0,00"); Rep.SetFormat(8, 9, dtReport.Rows.Count + 6 + 1, 9, "0,00"); /* * Rep.SetCellAlignmentToCenter(7, 1, dtReport.Rows.Count + 6, 1); * Rep.SetCellAlignmentToRight(7, 3, dtReport.Rows.Count + 6, 3); * Rep.SetCellAlignmentToCenter(7, 4, dtReport.Rows.Count + 6, 4); * Rep.SetCellAlignmentToRight(7, 5, dtReport.Rows.Count + 6, 5); * Rep.SetCellAlignmentToRight(7, 7, dtReport.Rows.Count + 6, 7); * Rep.SetCellAlignmentToRight(7, 8, dtReport.Rows.Count + 7, 8); * * Rep.SetFormat(7, 4, dtReport.Rows.Count + 6, 4, "ДД.ММ.ГГГГ"); * Rep.SetFormat(7, 5, dtReport.Rows.Count + 6, 5, "0,00"); * Rep.SetFormat(7, 7, dtReport.Rows.Count + 6, 7, "0,00"); * Rep.SetFormat(7, 8, dtReport.Rows.Count + 7, 8, "0,00"); */ Rep.Show(); } else { MessageBox.Show("Данных для отчета нет.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void btPrint_Click(object sender, EventArgs e) { //морозов последний договор bool error = false; if ((cboContract.SelectedValue == null) || (int.Parse(cboContract.SelectedValue.ToString()) == -1)) { MessageBox.Show("Не выбран договор.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } DataTable dtReport1 = new DataTable(); dtReport1 = _proc.GetTenantReport1(int.Parse(cboContract.SelectedValue.ToString()), dtpDate1.Value.Date, dtpDate2.Value.Date); if (dtReport1 == null) { error = true; } DataTable dtReport2 = new DataTable(); dtReport2 = _proc.GetTenantReport2(int.Parse(cboContract.SelectedValue.ToString()), dtpDate1.Value.Date, dtpDate2.Value.Date); if (dtReport2 == null) { error = true; } if ((dtReport1.Rows.Count == 0) && (dtReport2.Rows.Count == 0)) { error = true; } if (error) { MessageBox.Show("Данных для отчета нет.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } int id_fin = 0; for (int i = 0; dtReport2.Rows.Count > i; i++) { if (i == 0) { id_fin = int.Parse(dtReport2.Rows[i]["id"].ToString()); } else { if (id_fin == int.Parse(dtReport2.Rows[i]["id"].ToString())) { dtReport2.Rows[i]["dopDateFines"] = ""; dtReport2.Rows[i]["dopTypePayment"] = ""; dtReport2.Rows[i]["dopSumma"] = ""; } else { id_fin = int.Parse(dtReport2.Rows[i]["id"].ToString()); } } } for (int i = 0; dtReport2.Rows.Count > i; i++) { dtReport2.Rows[i]["dopSumma"] = numTextBox.ConvertToCompPunctuation(dtReport2.Rows[i]["dopSumma"].ToString()); } dtReport2.Columns.Remove("id"); DataTable dtAgreem = new DataTable(); dtAgreem = _proc.GetLD(int.Parse(cboContract.SelectedValue.ToString())); DateTime CurDate = _proc.getdatetime(); Logging.StartFirstLevel(79); Logging.Comment("Выгрузка отчета по арендатору"); Logging.Comment("Арендатор ID: " + _id + " ; Наименование: " + _Tenent); Logging.Comment("ФИО представителя: " + _Pred); Logging.Comment("Местоположение: " + _Locate); Logging.Comment("Примечание: " + _remark); Logging.Comment("Параметры отчета"); Logging.Comment("Период с " + dtpDate1.Value.ToShortDateString() + " по " + dtpDate2.Value.ToShortDateString()); Logging.Comment("Договор ID: " + cboContract.SelectedValue + " ; Наименование: " + cboContract.Text); Logging.Comment($"Эл.почта:{dtAgreem.Rows[0]["email"]}"); Logging.Comment($"Раб.телефон:{dtAgreem.Rows[0]["Work_phone"]}"); Logging.Comment("Операцию выполнил: ID:" + Nwuram.Framework.Settings.User.UserSettings.User.Id + " ; ФИО:" + Nwuram.Framework.Settings.User.UserSettings.User.FullUsername); Logging.StopFirstLevel(); HandmadeReport Rep = new HandmadeReport(); Rep.AddSingleValue("Отчет по арендатору " + Name_Tenant + " за период с " + dtpDate1.Value.ToString("dd.MM.yyyy") + " по " + dtpDate2.Value.ToString("dd.MM.yyyy"), 2, 1); Rep.SetFontSize(2, 1, 2, 1, 14); Rep.SetFontBold(2, 1, 2, 1); Rep.AddSingleValue("Договор №", 4, 1); Rep.AddSingleValue("Дата договора:", 5, 1); Rep.AddSingleValue("Сумма по договору:", 6, 1); DateTime dAgr = DateTime.Parse(dtAgreem.Rows[0]["Date_of_Conclusion"].ToString()); Rep.AddSingleValue(dtAgreem.Rows[0]["Agreement"].ToString(), 4, 3); Rep.AddSingleValue(dAgr.ToString("dd.MM.yyyy"), 5, 3); if (decimal.Parse(dtAgreem.Rows[0]["Reklama"].ToString()) > 0) { Rep.AddSingleValue(dtAgreem.Rows[0]["Reklama"].ToString(), 6, 3); } else { Rep.AddSingleValue(dtAgreem.Rows[0]["Total_Sum"].ToString(), 6, 3); } Rep.SetFormat(6, 2, 6, 2, "0,00"); Rep.AddSingleValue("Дата:", 4, 8); Rep.SetFormat(4, 9, 4, 9, "@"); Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy HH:mm"), 4, 9); //Rep.AddSingleValue(CurDate.ToString("dd.MM.yyyy"), 2, 8); dtReport1.Columns.RemoveAt(2); dtReport1.Columns.RemoveAt(1); dtReport1.Columns.RemoveAt(0); dtReport1.AcceptChanges(); Rep.AddSingleValue("№", 8, 1); Rep.AddSingleValue("Оплата аренды", 8, 2); Rep.AddSingleValue("Дополнительные оплаты", 8, 6); Rep.AddSingleValue("Дата оплаты", 9, 2); Rep.AddSingleValue("Сумма оплаты", 9, 3); Rep.AddSingleValue("Месяц", 9, 5); Rep.AddSingleValue("Дата выписки оплаты", 9, 6); Rep.AddSingleValue("Тип оплаты", 9, 7); Rep.AddSingleValue("Сумма выписанн. оплаты", 9, 8); Rep.AddSingleValue("Дата оплаты", 9, 9); Rep.AddSingleValue("Сумма", 9, 10); Rep.AddSingleValue("Аренда", 10, 3); Rep.AddSingleValue("Пени", 10, 4); Rep.SetFontBold(8, 1, 10, 10); Rep.AddMultiValue(dtReport1, 11, 2); Rep.AddMultiValue(dtReport2, 11, 6); int num = 0; if (dtReport1.Rows.Count > dtReport2.Rows.Count) { num = dtReport1.Rows.Count; } else { num = dtReport2.Rows.Count; } for (int i = 0; num > i; i++) { Rep.AddSingleValue((i + 1).ToString(), 11 + i, 1); } int t = 1; Rep.SetColumnWidth(1, t, 1, t, 10); //№ t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Дата оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Аренда t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Пени t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Месяц t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Дата выписки оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Тип оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма выписанн. оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Дата оплаты t++; Rep.SetColumnWidth(1, t, 1, t, 10); //Сумма Rep.Merge(8, 1, 10, 1); Rep.Merge(8, 2, 8, 5); Rep.Merge(9, 2, 10, 2); Rep.Merge(9, 3, 9, 4); Rep.Merge(9, 5, 10, 5); Rep.Merge(8, 6, 8, 10); Rep.Merge(9, 6, 10, 6); Rep.Merge(9, 7, 10, 7); Rep.Merge(9, 8, 10, 8); Rep.Merge(9, 9, 10, 9); Rep.Merge(9, 10, 10, 10); Rep.SetWrapText(8, 1, 10, 10); Rep.SetCellAlignmentToCenter(8, 1, 10, 10); Rep.SetBorders(8, 1, num + 8 + 2, 10); //Итого decimal totalAr = 0; decimal totalPeni = 0; for (int i = 0; dtReport1.Rows.Count > i; i++) { decimal d = 0; decimal.TryParse(dtReport1.Rows[i]["arendaSum"].ToString(), out d); totalAr += d; d = 0; decimal.TryParse(dtReport1.Rows[i]["arendaPeni"].ToString(), out d); totalPeni += d; } Rep.AddSingleValue("ИТОГО:", num + 8 + 3, 2); Rep.AddSingleValue(totalAr.ToString("### ### ### ##0.00"), num + 8 + 3, 3); Rep.AddSingleValue(totalPeni.ToString("### ### ### ##0.00"), num + 8 + 3, 4); Rep.SetBorders(num + 8 + 3, 3, num + 8 + 3, 4); //Итого decimal totalDopSumToPay = 0; decimal totalDopSumPayed = 0; for (int i = 0; dtReport2.Rows.Count > i; i++) { decimal dToPay = 0; decimal.TryParse(dtReport2.Rows[i]["dopSumma"].ToString(), out dToPay); decimal dPayed = 0; decimal.TryParse(dtReport2.Rows[i]["dopSum"].ToString(), out dPayed); totalDopSumToPay += dToPay; totalDopSumPayed += dPayed; } Rep.AddSingleValue("ИТОГО:", num + 8 + 3, 9); Rep.AddSingleValue(totalDopSumPayed.ToString("### ### ### ##0.00"), num + 8 + 3, 10); Rep.SetBorders(num + 8 + 3, 10, num + 8 + 3, 10); Rep.AddSingleValue("Долг:", num + 8 + 3 + 2, 2); decimal TotalDebtSum = getDebt(); Rep.AddSingleValue(TotalDebtSum.ToString("### ### ### ##0.00"), num + 8 + 3 + 2, 3); Rep.SetBorders(num + 8 + 3 + 2, 3, num + 8 + 3 + 2, 3); Rep.AddSingleValue("Долг:", num + 8 + 3 + 2, 9); decimal tt = totalDopSumToPay - totalDopSumPayed; Rep.AddSingleValue(tt.ToString("### ### ### ##0.00"), num + 8 + 3 + 2, 10); Rep.SetBorders(num + 8 + 3 + 2, 10, num + 8 + 3 + 2, 10); Rep.SetCellAlignmentToCenter(11, 1, 11 + num - 1, 1); Rep.SetCellAlignmentToCenter(11, 2, 11 + num - 1, 2); Rep.SetCellAlignmentToRight(11, 3, 11 + num + 2, 3); Rep.SetCellAlignmentToRight(11, 4, 11 + num, 4); Rep.SetCellAlignmentToCenter(11, 5, 11 + num - 1, 5); Rep.SetCellAlignmentToCenter(11, 6, 11 + num - 1, 6); Rep.SetCellAlignmentToCenter(11, 7, 11 + num - 1, 7); Rep.SetCellAlignmentToRight(11, 8, 11 + num - 1, 8); Rep.SetCellAlignmentToCenter(11, 9, 11 + num - 1, 9); Rep.SetCellAlignmentToRight(11, 10, 11 + num + 2, 10); Rep.SetFormat(11, 3, 11 + num, 3, "0,00"); Rep.SetFormat(11, 4, 11 + num, 4, "0,00"); Rep.SetFormat(11, 8, 11 + num - 1, 8, "0,00"); Rep.SetFormat(11, 10, 11 + num, 10, "0,00"); Rep.Show(); }