Программа позволяет вести инвентаризацию затраченных продуктов. В программе есть два вида пользователей: официанты (могут регистрировать только заказы) и руководство (имеет доступ ко всему функционалу).
В программе можно сформировать меню, т.е. указать блюда и из состав из продуктов. Также регистрируются поставки продуктов и заказы в ресторане. По необходимости регистрируются данные инвентаризации.
На основании указанных данных можно сформировать ведомость, в которой выводятся данные о поставленных товарах, затраченных, теоретический остаток и фактический остаток по инвентаризации.
На основании заполненного заказа можно сформировать чек.
На основании поставок можно сформировать итоговые показатели по поставкам продуктов
private void button1_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); DataTable dt2 = new DataTable(); DataRow dr; dt.Columns.Add("КодЗаказа"); dt.Columns.Add("Дата"); dt.Columns.Add("Официант"); dt2.Columns.Add("Блюдо"); dt2.Columns.Add("Цена"); dt2.Columns.Add("Количество"); dt2.Columns.Add("Сумма"); OleDbDataAdapter dat; OleDbDataAdapter dat2; DataSet dst; DataSet dst2; OleDbConnection myConnection; myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString); //------------- string command = "SELECT Заказы.[Код заказа], Заказы.Стол, Заказы.Дата, Сотрудники.ФИО FROM Сотрудники INNER JOIN Заказы ON Сотрудники.Код = Заказы.Официант WHERE [Код заказа] =" + заказыDataGridView.CurrentRow.Cells[0].Value.ToString(); dat = new OleDbDataAdapter(command, ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString); dst = new DataSet(); myConnection.Open(); dat.Fill(dst); myConnection.Close(); dr = dt.NewRow(); dr["КодЗаказа"] = (string)dst.Tables[0].Rows[0]["Код заказа"].ToString(); dr["Дата"] = (string)dst.Tables[0].Rows[0]["Дата"].ToString(); dr["Официант"] = (string)dst.Tables[0].Rows[0]["ФИО"].ToString(); dt.Rows.Add(dr); //------------- //------------- string command1 = "SELECT Блюда.Название, Блюда.Цена, [Блюда заказа].Количество, Блюда.Цена*[Блюда заказа].Количество AS Сумма" + " FROM Блюда INNER JOIN[Блюда заказа] ON Блюда.Код = [Блюда заказа].[Код блюда]" + " WHERE((([Блюда заказа].[Код заказа]) = "+ заказыDataGridView.CurrentRow.Cells[0].Value.ToString() + "));"; dat2 = new OleDbDataAdapter(command1, ConfigurationManager.ConnectionStrings["InvProduct.Properties.Settings.bazaConnectionString"].ConnectionString); dst2 = new DataSet(); myConnection.Open(); dat2.Fill(dst2); myConnection.Close(); DataTable Table2 = dst2.Tables[0]; for (int i = 0; i < Table2.Rows.Count; i++) { dr = dt2.NewRow(); dr["Блюдо"] = (string)dst2.Tables[0].Rows[i]["Название"].ToString(); dr["Цена"] = (string)dst2.Tables[0].Rows[i]["Цена"].ToString(); dr["Количество"] = (string)dst2.Tables[0].Rows[i]["Количество"].ToString(); dr["Сумма"] = (string)dst2.Tables[0].Rows[i]["Сумма"].ToString(); dt2.Rows.Add(dr); } //------------- ExcelDocument document = new ExcelDocument();//формируем документ и предаем таблицу, с выбранными товарами document.dtChek = dt; document.dtBludaZakaza = dt2; document.DocCheck(); MessageBox.Show("Готово!"); }
Содержание архива:
- Исходный код на языке C# в среде Visual Studio;
- База данных в СУБД MS Access.
На компьютере должен быть установлен активированный MS Office, для формирования отчетов программы
FilinUA