| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.ComponentModel;
 
- using System.Data;
 
- using System.Drawing;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- using Excel = Microsoft.Office.Interop.Excel;
 
- namespace СУБД_Швейная_фабрика
 
- {
 
-     public partial class FormSpisMaterial : Form
 
-     {
 
-         public FormSpisMaterial()
 
-         {
 
-             InitializeComponent();
 
-         }
 
-         private void FormSpisMaterial_Load(object sender, EventArgs e)
 
-         {
 
-             // TODO: This line of code loads data into the 'fab2021DataSet1.Tkani' table. You can move, or remove it, as needed.
 
-             this.tkaniTableAdapter.Fill(this.fab2021DataSet1.Tkani);
 
-             // TODO: This line of code loads data into the 'fab2021DataSet1.Furnitura' table. You can move, or remove it, as needed.
 
-             this.furnituraTableAdapter.Fill(this.fab2021DataSet1.Furnitura);
 
-         }
 
-       
 
-         private void BtnToExcel_Click(object sender, EventArgs e)
 
-         {
 
-             // создать объект для связи с приложением Excel
 
-             Excel.Application exapp = new Excel.Application();
 
-             // сделать приложение Excel видимым
 
-             exapp.Visible = true;
 
-             // открыть в Excel шаблон, находящийся в папке с exe-файлом в режиме только для чтения
 
-             exapp.Workbooks.Open(Application.StartupPath + "\\Списание.xlsx", Type.Missing, true);
 
-             // создать переменную list1 для связи с первым листом рабочей книги
 
-             Excel.Worksheet list1 = (exapp.Worksheets.get_Item(1));
 
-             int RowExcel = 24;  // в Excel начинать выводить с 24 строки
 
-             // перебор тканей в DataGridView
 
-             for (int i = 0; i <= DgvTkan.RowCount - 1; i++)
 
-             {
 
-                 int CountSpis = 0;
 
-                 try
 
-                 {
 
-                     // сколько списать i-й ткани
 
-                     CountSpis = Convert.ToInt32(DgvTkan.Rows[i].Cells[3].Value);
 
-                 }
 
-                 catch { }
 
-                 // если человек указал 0, или не указал ничего, 
 
-                 // перейти к следующей ткани
 
-                 if (CountSpis == 0)
 
-                     continue;
 
-                 // если человек ввел ненулевое кол-во для списания, 
 
-                 // добавить i-ю ткань в документ
 
-                 list1.get_Range("A" + RowExcel).Value = DgvTkan.Rows[i].Cells[0].Value;
 
-                 list1.get_Range("H" + RowExcel).Value = "см";
 
-                 list1.get_Range("J" + RowExcel).Value = "ткань";
 
-                 // количество ткани для списания
 
-                 list1.get_Range("L" + RowExcel).Value = CountSpis;
 
-                 int WidthTkan = Convert.ToInt32(DgvTkan.Rows[i].Cells[1].Value);
 
-                 // площадь ткани для списания
 
-                 list1.get_Range("N" + RowExcel).Value = CountSpis * WidthTkan;
 
-                 // причина списания
 
-                 list1.get_Range("R" + RowExcel).Value = DgvTkan.Rows[i].Cells[4].Value;
 
-                 RowExcel++;  // перейти в Excel к следующей строке
 
-             }
 
-             // перебор фурнитур в DataGridView
 
-             for (int i = 0; i <= DgvFurnitura.RowCount - 1; i++)
 
-             {
 
-                 int CountSpis = 0;
 
-                 try
 
-                 {
 
-                     // сколько списать i-й фурнитуры
 
-                     CountSpis = Convert.ToInt32(DgvFurnitura.Rows[i].Cells[2].Value);
 
-                 }
 
-                 catch { }
 
-                 // если человек указал 0, или не указал ничего, 
 
-                 // перейти к следующей фурнитуре
 
-                 if (CountSpis == 0)
 
-                     continue;
 
-                 // если человек ввел ненулевое кол-во для списания, 
 
-                 // добавить i-ю фурнитуру в документ
 
-                 list1.get_Range("A" + RowExcel).Value = DgvFurnitura.Rows[i].Cells[0].Value;
 
-                 list1.get_Range("H" + RowExcel).Value = "шт";
 
-                 list1.get_Range("J" + RowExcel).Value = "фурнитура";
 
-                 // количество фурнитуры для списания
 
-                 list1.get_Range("L" + RowExcel).Value = CountSpis;
 
-                 // причина списания
 
-                 list1.get_Range("R" + RowExcel).Value = DgvFurnitura.Rows[i].Cells[3].Value;
 
-                 RowExcel++;  // перейти в Excel к следующей строке
 
-             }
 
-         }
 
-         private void BtnSpisMaterial_Click(object sender, EventArgs e)
 
-         {
 
-             DialogResult rez = MessageBox.Show("Вы уверены, что нужно выбранные материалы?",
 
-                 "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
 
-             // если пользователь отказался списать, то выйти из процедуры
 
-             if (rez == DialogResult.No)
 
-                 return;
 
-             // перебор тканей в DataGridView
 
-             for (int i = 0; i <= DgvTkan.RowCount - 1; i++)
 
-             {
 
-                 int CountSpis = 0;
 
-                 try
 
-                 {
 
-                     // сколько списать i-й ткани
 
-                     CountSpis = Convert.ToInt32(DgvTkan.Rows[i].Cells[3].Value);
 
-                 }
 
-                 catch { }
 
-                 // если человек указал 0, или не указал ничего, 
 
-                 // перейти к следующей ткани
 
-                 if (CountSpis == 0)
 
-                     continue;
 
-                 // если человек ввел ненулевое кол-во для списания, 
 
-                 // списать ткань
 
-                 int LengthTkan = Convert.ToInt32(DgvTkan.Rows[i].Cells[2].Value);
 
-                 // уменьшить кол-во ткани на складе на кол-во списываемой ткани
 
-                 LengthTkan -= CountSpis;
 
-                 // записать в столбец с длиной рулона ткани на складе новое значение
 
-                 DgvTkan.Rows[i].Cells[2].Value = LengthTkan;
 
-             }
 
-             BsTkani.EndEdit();
 
-             this.tkaniTableAdapter.Update(this.fab2021DataSet1.Tkani);
 
-             // перебор фурнитур в DataGridView
 
-             for (int i = 0; i <= DgvFurnitura.RowCount - 1; i++)
 
-             {
 
-                 int CountSpis = 0;
 
-                 try
 
-                 {
 
-                     // сколько списать i-й фурнитуры
 
-                     CountSpis = Convert.ToInt32(DgvFurnitura.Rows[i].Cells[2].Value);
 
-                 }
 
-                 catch { }
 
-                 // если человек указал 0, или не указал ничего, 
 
-                 // перейти к следующей фурнитуре
 
-                 if (CountSpis == 0)
 
-                     continue;
 
-                 // если человек ввел ненулевое кол-во для списания, 
 
-                 // списать фурнитуру
 
-                 // если человек ввел ненулевое кол-во для списания, 
 
-                 // списать ткань
 
-                 int CountFur = Convert.ToInt32(DgvFurnitura.Rows[i].Cells[1].Value);
 
-                 // уменьшить кол-во фурнитур на складе на кол-во списываемых фурнитур
 
-                 CountFur -= CountSpis;
 
-                 // записать в столбец с кол-вом фурнитур на складе новое значение
 
-                 DgvFurnitura.Rows[i].Cells[1].Value = CountFur;
 
-             }
 
-             BsFurnitura.EndEdit();
 
-             this.furnituraTableAdapter.Update(this.fab2021DataSet1.Furnitura);
 
-         }
 
-     }
 
- }
 
 
  |