private void btPrint_Click(object sender, EventArgs e) { if (dgvSums.RowCount > 0) { Logging.StartFirstLevel(79); Logging.Comment($"Произведена выгрузка отчета с формы 'Бухгалтерские остатки' в Excel"); Logging.Comment($"Дата Остаток на утро {dtpStartDate.Value.ToShortDateString()}"); Logging.Comment($"Отдел ID:{cbDeps.SelectedValue}; Наименование:{cbDeps.Text}"); Logging.Comment($"Количество выгруженных записей: {dgvSums.RowCount}"); Logging.StopFirstLevel(); if (HandmadeReport.OOAvailable || HandmadeReport.ExcelAvailable) { try { HandmadeReport temp = new HandmadeReport(); temp.AddSingleValue("Бухгалтерские остатки на " + dtpStartDate.Value.ToShortDateString(), 1, 2); temp.Merge(1, 2, 1, 4); int i = 3; foreach (DataRowView dr in dtOsts.DefaultView) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(decimal.Parse(dr["summa"].ToString()).ToString("N2"), i, 3); i++; } temp.SetBorders(3, 2, i - 1, 3); temp.SetColumnAutoSize(3, 2, i - 1, 3); temp.Show(); } catch (Exception ex) { } } else { if (MessageBox.Show("На рабочей станции\nне установлены ПО\nExcel и OpenCalc.\nРаспечатать отчет?", "Запрос на печать отчета", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { frmPrintPreView frmOtchet = new frmPrintPreView(dtOsts.DefaultView.ToTable(), dtpStartDate.Value); frmOtchet.ShowDialog(); } } } }
private void btPrint_Click(object sender, EventArgs e) { if (dgvSums.RowCount > 0) { if (HandmadeReport.OOAvailable || HandmadeReport.ExcelAvailable) { try { HandmadeReport temp = new HandmadeReport(); temp.AddSingleValue("Бухгалтерские остатки на " + dtpStartDate.Value.ToShortDateString(), 1, 2); temp.Merge(1, 2, 1, 4); int i = 3; foreach (DataRowView dr in dtOsts.DefaultView) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(decimal.Parse(dr["summa"].ToString()).ToString("N2"), i, 3); i++; } temp.SetBorders(3, 2, i - 1, 3); temp.SetColumnAutoSize(3, 2, i - 1, 3); temp.Show(); } catch (Exception ex) { } } else { if (MessageBox.Show("На рабочей станции\nне установлены ПО\nExcel и OpenCalc.\nРаспечатать отчет?", "Запрос на печать отчета", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { frmPrintPreView frmOtchet = new frmPrintPreView(dtOsts.DefaultView.ToTable(), dtpStartDate.Value); frmOtchet.ShowDialog(); } } } }
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(); }
private void btPrint_Click(object sender, EventArgs e) { this.Enabled = false; DataTable dtResult = proc.getTovarOutPrcnPrice(dtpInvDate.Value.Date); if (dtResult == null) { MessageBox.Show("Не удалось получить данные!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Enabled = true; return; } if (dtResult.Rows.Count > 0) { new percentData.frmFindTovar() { Text = $"Проверка превышения процента наценки за {dtpInvDate.Value.ToShortDateString()}", dtResult = dtResult, date = dtpInvDate.Value }.ShowDialog(); } DataTable dt = proc.GetInvRezults(dtpInvDate.Value.Date); if (dt == null) { MessageBox.Show("Не удалось получить данные инвентаризации!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Enabled = true; return; } if (dt.Rows.Count > 0 && HandmadeReport.ExcelAvailable) { try { HandmadeReport temp = new HandmadeReport(); string shopName = ""; if (Nwuram.Framework.Settings.Connection.ConnectionSettings.GetServer().ToLower().Contains("k21")) { shopName = "Косышгина 21"; } else { shopName = "Хошимина 14"; } temp.AddSingleValue($"Инвентаризация на {dtpInvDate.Value.ToShortDateString()} с возвратами по магазину {shopName}", 1, 2); temp.Merge(1, 2, 1, 9); temp.AddSingleValue($"Выгрузил {Nwuram.Framework.Settings.User.UserSettings.User.FullUsername}; Дата выгрузки: {DateTime.Now.ToString()}", 1, 2); temp.Merge(2, 2, 2, 9); temp.SetCellAlignmentToRight(2, 2, 2, 9); temp.AddSingleValue("Отдел", 3, 2); temp.AddSingleValue("Бухг. (тов. отчет)", 3, 3); temp.AddSingleValue("Инвентар. (факт)", 3, 4); temp.AddSingleValue("Дельта", 3, 5); temp.AddSingleValue("Недостача", 3, 6); temp.AddSingleValue("Разница", 3, 7); temp.AddSingleValue("Пробито", 3, 8); temp.AddSingleValue("Возвраты", 3, 9); temp.SetCellAlignmentToCenter(3, 2, 3, 9); temp.SetFontBold(1, 2, 3, 9); int i = 4; foreach (DataRow dr in dt.Rows) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(dr["buh_ost_without_spis"].ToString(), i, 3); temp.AddSingleValue(dr["inv_fact"].ToString(), i, 4); temp.AddSingleValue(dr["delta"].ToString(), i, 5); temp.AddSingleValue(dr["nedost"].ToString(), i, 6); temp.AddSingleValue("=E" + i.ToString() + "-F" + i.ToString(), i, 7); temp.AddSingleValue(dr["vozvkass"].ToString(), i, 9); i++; } temp.AddSingleValue("Общая сумма", i, 2); temp.AddSingleValue("=СУММ(C4:C" + (i - 1).ToString() + ")", i, 3); temp.AddSingleValue("=СУММ(D4:D" + (i - 1).ToString() + ")", i, 4); temp.AddSingleValue("=СУММ(E4:E" + (i - 1).ToString() + ")", i, 5); temp.AddSingleValue("=СУММ(F4:F" + (i - 1).ToString() + ")", i, 6); temp.AddSingleValue("=СУММ(G4:G" + (i - 1).ToString() + ")", i, 7); temp.AddSingleValue("=СУММ(H4:H" + (i - 1).ToString() + ")", i, 8); temp.AddSingleValue("=СУММ(I4:I" + (i - 1).ToString() + ")", i, 9); temp.SetFontBold(i, 2, i, 9); temp.SetCellAlignmentToRight(4, 3, i, 9); temp.SetBorders(3, 2, i, 9); temp.SetFormat(3, 3, i, 9, "### ##0,00"); //temp.SetColumnAutoSize(3, 2, i, 2); temp.AddSingleValue("Списание по результатам инвентаризации", i + 3, 2); temp.Merge(1, 2, 1, 9); int startPos = i + 5; temp.AddSingleValue("Отдел", startPos, 2); temp.Merge(startPos, 2, startPos + 1, 2); temp.AddSingleValue("Бухг. (тов. отчет)", startPos, 3); temp.Merge(startPos, 3, startPos + 1, 3); temp.AddSingleValue("списание", startPos, 4); temp.Merge(startPos, 4, startPos, 5); temp.AddSingleValue("закупка", startPos + 1, 4); temp.AddSingleValue("продажа", startPos + 1, 5); temp.AddSingleValue("переоценка", startPos, 6); temp.Merge(startPos, 6, startPos + 1, 6); temp.AddSingleValue("Итого", startPos, 7); temp.Merge(startPos, 7, startPos + 1, 7); temp.AddSingleValue("бухг. ост. после списания", startPos, 8); temp.Merge(startPos, 8, startPos + 1, 8); temp.SetWrapText(startPos, 8, startPos, 8); temp.AddSingleValue("разница", startPos, 9); temp.Merge(startPos, 9, startPos + 1, 9); temp.SetCellAlignmentToCenter(startPos, 2, startPos + 1, 9); temp.SetFontBold(i + 3, 2, startPos + 1, 9); i = startPos + 2; foreach (DataRow dr in dt.Rows) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(dr["buh_ost_without_spis"].ToString(), i, 3); temp.AddSingleValue(dr["zsum"].ToString(), i, 4); temp.AddSingleValue(dr["psum"].ToString(), i, 5); temp.AddSingleValue(dr["pereocsum"].ToString(), i, 6); temp.AddSingleValue(dr["allsum"].ToString(), i, 7); temp.AddSingleValue(dr["buh_ost"].ToString(), i, 8); temp.AddSingleValue(dr["raznsum"].ToString(), i, 9); i++; } temp.AddSingleValue("Общая сумма", i, 2); temp.AddSingleValue("=СУММ(C" + (startPos + 2).ToString() + ":C" + (i - 1).ToString() + ")", i, 3); temp.AddSingleValue("=СУММ(D" + (startPos + 2).ToString() + ":D" + (i - 1).ToString() + ")", i, 4); temp.AddSingleValue("=СУММ(E" + (startPos + 2).ToString() + ":E" + (i - 1).ToString() + ")", i, 5); temp.AddSingleValue("=СУММ(F" + (startPos + 2).ToString() + ":F" + (i - 1).ToString() + ")", i, 6); temp.AddSingleValue("=СУММ(G" + (startPos + 2).ToString() + ":G" + (i - 1).ToString() + ")", i, 7); temp.AddSingleValue("=СУММ(H" + (startPos + 2).ToString() + ":H" + (i - 1).ToString() + ")", i, 8); temp.AddSingleValue("=СУММ(I" + (startPos + 2).ToString() + ":I" + (i - 1).ToString() + ")", i, 9); temp.SetFontBold(i, 2, i, 9); temp.SetCellAlignmentToRight(startPos + 2, 3, i, 9); temp.SetBorders(startPos, 2, i, 9); temp.SetFormat(startPos, 3, i, 9, "### ##0,00"); //temp.SetColumnAutoSize(3, 3, i, 9); temp.SetColumnWidth(2, 2, 1, i, 15); temp.SetColumnWidth(3, 3, 1, i, 16); temp.SetColumnWidth(4, 4, 1, i, 17); temp.SetColumnWidth(5, 5, 1, i, 12); temp.SetColumnWidth(6, 6, 1, i, 12); temp.SetColumnWidth(7, 7, 1, i, 12); temp.SetColumnWidth(8, 8, 1, i, 15); temp.SetColumnWidth(9, 9, 1, i, 10); temp.SetPageOrientationToLandscape(); temp.Show(); } catch (Exception ex) { } } else { MessageBox.Show("Отсутствует установленный пакет Microsoft Office Excel.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Enabled = true; }
private void btPrint_Click(object sender, EventArgs e) { this.Enabled = false; DataTable dt = proc.GetInvRezults(dtpInvDate.Value.Date); if (dt == null) { MessageBox.Show("Не удалось получить данные инвентаризации!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Enabled = true; return; } if (dt.Rows.Count > 0 && HandmadeReport.ExcelAvailable) { try { HandmadeReport temp = new HandmadeReport(); temp.AddSingleValue("Инвентаризация на " + dtpInvDate.Value.ToShortDateString() + " с возвратами", 1, 2); temp.Merge(1, 2, 1, 9); temp.AddSingleValue("Отдел", 3, 2); temp.AddSingleValue("Бухг. (тов. отчет)", 3, 3); temp.AddSingleValue("Инвентар. (факт)", 3, 4); temp.AddSingleValue("Дельта", 3, 5); temp.AddSingleValue("Недостача", 3, 6); temp.AddSingleValue("Разница", 3, 7); temp.AddSingleValue("Пробито", 3, 8); temp.AddSingleValue("Возвраты", 3, 9); temp.SetCellAlignmentToCenter(3, 2, 3, 9); temp.SetFontBold(1, 2, 3, 9); int i = 4; foreach (DataRow dr in dt.Rows) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(dr["buh_ost_without_spis"].ToString(), i, 3); temp.AddSingleValue(dr["inv_fact"].ToString(), i, 4); temp.AddSingleValue(dr["delta"].ToString(), i, 5); temp.AddSingleValue(dr["nedost"].ToString(), i, 6); temp.AddSingleValue("=E" + i.ToString() + "-F" + i.ToString(), i, 7); temp.AddSingleValue(dr["vozvkass"].ToString(), i, 9); i++; } temp.AddSingleValue("Общая сумма", i, 2); temp.AddSingleValue("=СУММ(C4:C" + (i - 1).ToString() + ")", i, 3); temp.AddSingleValue("=СУММ(D4:D" + (i - 1).ToString() + ")", i, 4); temp.AddSingleValue("=СУММ(E4:E" + (i - 1).ToString() + ")", i, 5); temp.AddSingleValue("=СУММ(F4:F" + (i - 1).ToString() + ")", i, 6); temp.AddSingleValue("=СУММ(G4:G" + (i - 1).ToString() + ")", i, 7); temp.AddSingleValue("=СУММ(H4:H" + (i - 1).ToString() + ")", i, 8); temp.AddSingleValue("=СУММ(I4:I" + (i - 1).ToString() + ")", i, 9); temp.SetFontBold(i, 2, i, 9); temp.SetCellAlignmentToRight(4, 3, i, 9); temp.SetBorders(3, 2, i, 9); temp.SetFormat(3, 3, i, 9, "### ##0,00"); //temp.SetColumnAutoSize(3, 2, i, 2); temp.AddSingleValue("Списание по результатам инвентаризации", i + 3, 2); temp.Merge(1, 2, 1, 9); int startPos = i + 5; temp.AddSingleValue("Отдел", startPos, 2); temp.Merge(startPos, 2, startPos + 1, 2); temp.AddSingleValue("Бухг. (тов. отчет)", startPos, 3); temp.Merge(startPos, 3, startPos + 1, 3); temp.AddSingleValue("списание", startPos, 4); temp.Merge(startPos, 4, startPos, 5); temp.AddSingleValue("закупка", startPos + 1, 4); temp.AddSingleValue("продажа", startPos + 1, 5); temp.AddSingleValue("переоценка", startPos, 6); temp.Merge(startPos, 6, startPos + 1, 6); temp.AddSingleValue("Итого", startPos, 7); temp.Merge(startPos, 7, startPos + 1, 7); temp.AddSingleValue("бухг. ост. после списания", startPos, 8); temp.Merge(startPos, 8, startPos + 1, 8); temp.SetWrapText(startPos, 8, startPos, 8); temp.AddSingleValue("разница", startPos, 9); temp.Merge(startPos, 9, startPos + 1, 9); temp.SetCellAlignmentToCenter(startPos, 2, startPos + 1, 9); temp.SetFontBold(i + 3, 2, startPos + 1, 9); i = startPos + 2; foreach (DataRow dr in dt.Rows) { temp.AddSingleValue(dr["name"].ToString(), i, 2); temp.AddSingleValue(dr["buh_ost_without_spis"].ToString(), i, 3); temp.AddSingleValue(dr["zsum"].ToString(), i, 4); temp.AddSingleValue(dr["psum"].ToString(), i, 5); temp.AddSingleValue(dr["pereocsum"].ToString(), i, 6); temp.AddSingleValue(dr["allsum"].ToString(), i, 7); temp.AddSingleValue(dr["buh_ost"].ToString(), i, 8); temp.AddSingleValue(dr["raznsum"].ToString(), i, 9); i++; } temp.AddSingleValue("Общая сумма", i, 2); temp.AddSingleValue("=СУММ(C" + (startPos + 2).ToString() + ":C" + (i - 1).ToString() + ")", i, 3); temp.AddSingleValue("=СУММ(D" + (startPos + 2).ToString() + ":D" + (i - 1).ToString() + ")", i, 4); temp.AddSingleValue("=СУММ(E" + (startPos + 2).ToString() + ":E" + (i - 1).ToString() + ")", i, 5); temp.AddSingleValue("=СУММ(F" + (startPos + 2).ToString() + ":F" + (i - 1).ToString() + ")", i, 6); temp.AddSingleValue("=СУММ(G" + (startPos + 2).ToString() + ":G" + (i - 1).ToString() + ")", i, 7); temp.AddSingleValue("=СУММ(H" + (startPos + 2).ToString() + ":H" + (i - 1).ToString() + ")", i, 8); temp.AddSingleValue("=СУММ(I" + (startPos + 2).ToString() + ":I" + (i - 1).ToString() + ")", i, 9); temp.SetFontBold(i, 2, i, 9); temp.SetCellAlignmentToRight(startPos + 2, 3, i, 9); temp.SetBorders(startPos, 2, i, 9); temp.SetFormat(startPos, 3, i, 9, "### ##0,00"); //temp.SetColumnAutoSize(3, 3, i, 9); temp.SetColumnWidth(2, 2, 1, i, 15); temp.SetColumnWidth(3, 3, 1, i, 16); temp.SetColumnWidth(4, 4, 1, i, 17); temp.SetColumnWidth(5, 5, 1, i, 12); temp.SetColumnWidth(6, 6, 1, i, 12); temp.SetColumnWidth(7, 7, 1, i, 12); temp.SetColumnWidth(8, 8, 1, i, 15); temp.SetColumnWidth(9, 9, 1, i, 10); temp.SetPageOrientationToLandscape(); temp.Show(); } catch (Exception ex) { } } else { MessageBox.Show("Отсутствует установленный пакет Microsoft Office Excel.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Enabled = true; }