Разработка информационной подсистемы "InventoryManagement", для управления запасами ООО "РегататАУСтаврополь"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



атии на кнопку с надписью Добавить новый товар (рисунок 2.9) открывается диалоговое окно, представленное на рисунке 2.11.

Рисунок 2.11 - Вид формы Добавление товара

2.4.3 Реализация формы ChargeGoods

Создадим новую экранную форму и сохраним её под именем ChargeGoods.

Далее, используя панель элементов, перетаскиваем на форму необходимые элементы. Для разработки данной формы были использованы следующие элементы управления данными:

?dataGridView1 - таблица, в которой отображается информация о товаре имеющемся на складе;

?textBox - поля для ввода текста, используется для введения номера накладной;

?два элемента comboBox - используются для выбора сотрудника и контрагента;

?button - кнопка для перехода на другую форму;

?dateTimePicker1 - используется для вывода даты;

?семь элементов label - используются для оформления формы;

?сhekBox - используется, для указания необходимости расходной накладной.

После добавления всех элементов форма MainWindow принимает вид, показанный на рисунке 2.10.

После заполнения формы отгрузки товара необходимо нажать кнопку Сохранить. Для выполнения этой функции добавим следующий код:

private void button4_Click(object sender, EventArgs e)

{

// сохранение расходной накладной

AdapterDataContext db = new AdapterDataContext();

List();

string kontrName = "";

string sotrudName = "";

int NOT_DEFINED = -1;

int _nakladNumber = NOT_DEFINED, kontrId = NOT_DEFINED, sotrydId = NOT_DEFINED;

DateTime dt = DateTime.Now;

try

{

_nakladNumber = Int32.Parse(nakladNumber.Text);

// проверка номера накладной

var Choose = from pps in db.otgryzka where pps.nomer_nakladnoi == _nakladNumber select pps;

try

{pps_id = Convert.ToInt32(Choose.First().nomer_nakladnoi);.Show("Произошла ошибка. Номер накладной не уникален.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

catch (Exception ex)

{

//-----

}

DataRowView srow = (DataRowView)kontrComboBox.SelectedItem;= (int)srow.Row["id_kontragent"];= (string)srow.Row["name"];

dt = dateTimePicker1.Value;

DataRowView sotrRow = (DataRowView)comboBox3.SelectedItem;

sotrydId = (int)sotrRow.Row["id_sotrydnik"];

sotrudName = (string)sotrRow["FIO"];

}

catch

{.Show("Произошла ошибка. Вы ввели неверные данные.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

int ID_IDX = 0, QUANT_IDX = 2;

foreach (DataGridViewRow row in dataGridView1.Rows)

{

int row_id = (int)row.Cells[ID_IDX].Value;

string quantityString = (string)row.Cells[QUANT_IDX].Value;

int quantity;

try

{

quantity = Int32.Parse(quantityString);

}

catch

{

quantity = 0;

}

if (quantity > 0)

{

// меняем поле количечество для каждого товара

var Choose = from st in db.tovar where st.id_tovar == row_id select st;

int q = Convert.ToInt32(Choose.First().kolichestvo);cost = Convert.ToDouble(Choose.First().tcena_pokupki);name = Convert.ToString(Choose.First().name);good = new GoodStruct(name, quantity, cost, realcost);

glist.Add(good);

Choose.First().kolichestvo = q - quantity;

db.SubmitChanges();

// -------------------------------------------

otgryzka post = new otgryzka

{

data_time = dt,

id_kontragent = kontrId,

id_tovar = row_id,

nomer_nakladnoi = _nakladNumber,

kolichestvo_tovara = quantity

};

db.otgryzka.InsertOnSubmit(post);

db.SubmitChanges();

}

}

if (isExcelReportNeed.Checked)

{

int var = Convert.ToInt32(nakladNumber.Text);

var f = new rasxod_naklad(var);

f.Show();

}.Show("Накладная успешно сохранена", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

Рисунок 2.12 - Вид формы ChargeGoods

Для создания расходной накладной необходимо добавить следующий код:

if (isExcelReportNeed.Checked)

{

int var = Convert.ToInt32(nakladNumber.Text);

var f = new rasxod_naklad(var);

f.Show();

}

Расходная накладная выводиться в виде отчета (рисунок 2.13).

Рисунок 2.13 - Расходная накладная

При нажатии на кнопку с надписью Добавить контрагента (рисунок 2.12) открывается диалоговое окно, представленное на рисунке 2.14.

Рисунок 2.14 - Вид формы добавление контрагента

2.4.4 Разработка интерфейса формы StaffControlForm

Для создания новой формы необходимо нажать Проект, затем Добавить новый элемент. Из установленных шаблонов выбираем Windows Forms, а из списка элементов форму Windows Forms. Сохраним форму под именем StaffControlForm. Для разработки данной формы были использованы следующие элементы управления данными:

?DataGridView - используется для отображения таблицы с данными;

?textBox - поля для ввода текста, используется для поиска сотрудников;

?три элемента label - используются для оформления формы.

После добавления всех элементов форма StaffControlForm принимает вид, показанный на рисунке 2.15.

Рисунок 2.15 - Вид формы StaffControlForm

2.4.5 Разработка интерфейса формы Goods

Для создания новой формы необходимо нажать Проект, затем Добавить новый элемент. Из установленных шаблонов выбираем Windows Forms, а из списка элементов форму Windows Forms. Сохраним форму под именем Goods. Для разработки данной формы были использованы следующие элементы управления данными:

?DataGridView - используется для отображения таблицы с данными;

?textBox - поля для ввода текста, используется для поиска сотрудников;

?три элемента label - используются для оформления формы.

После добавления всех элементов форма Goods принимает вид, показанный на рисунке 2.16.

Рисунок 2.16 - Вид формы Goods

2.4.6 Разработка интерфейса отчета Report_otgryzka

Для создания нового отчета необходимо, выполнить следующий набор команд Проект > Добавить новый элемент > Отчет.

Далее, используя панель элементов, перетаскиваем необходимые элементы:

?TextBox - текстовое поле для записи шапки отчета;

?Tablix - отображает данные в таблице.

Конструктор отчета представлен на рисунке 2.17.

Рисунок 2.17 - Конструктор отчета Report_otgryzka

Для того чтобы отобразить отчет, необходимо создать новую форму, поместить на нее элемент reportVie