Разработка программы для учета материальных ценностей на предприятии - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Разработка программы для учета материальных ценностей на предприятии

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

Цель выполнения курсового проектирования – закрепление навыков по разработке программ в среде Microsoft Visual Studio с использованием языка Visual C# и проработка комплекса вопросов, решаемых в технологической цепочке создания прикладного программного обеспечения информационных систем.

Общее задание состоит в том, чтобы выполнить работы по созданию диалогового приложения Windows Forms в среде Microsoft Visual Studio, текстовой документации.

Тематика курсового проекта включает в себя разработку программы для учета материальных ценностей на предприятии.

ПОСТАНОВКА ЗАДАЧИ И ИСХОДНЫЕ ДАННЫЕ

Общая задача заключается в разработке прикладной программы для сопровождения базы данных (БД), содержащей заданные сведения.

Частная задача – разработка прикладной программы для учета материальных ценностей на предприятии, а также закрепление практических навыков программирования в среде Visual Studio 2013 C#.

Задачи курсовой работы:

Изучить основные методы разработки работы с базой данных в среде Visual Studio 2013 C#;

Разработать алгоритм решения задачи;

Осуществить программную реализацию и протестировать разработанное приложение.

Функции программы:

вывод меню функций, выполняемых программой;

ввод, просмотр, редактирование данных в БД, содержащей две взаимосвязанные таблицы;

дополнение БД, удаление данных из БД;

отбор (фильтрация) данных по условию, задаваемому пользователем;

сортировка данных по двум полям;

формирование двух отчётов по данным из БД (с группировкой по наименованию, по месяцам и годам с вычислением итоговых сумм), которые могут быть выведены на принтер;

построение на основе информации из БД двух графиков (полигон);

вывод формы со сведениями о программе.

Вывод меню функций программы реализованы с помощью элемента программы Tabcontrol (закладки) и элементаButton (кнопки).

Отбор (фильтрация) данных будет осуществляться по месяцу, приходу за месяц и расходу за месяц.

Сортировка данных будет осуществляться в порядке возрастания и убывания по названию наименованию номенклатуры и по номеру номенклатуры.

Отчеты будут формироваться с группировкой по месяцам, годам и по наименованию номенклатуры.

Графики будут строиться по месяцам по остатку материальных ценностей и по годам по расходу и приходу материальных ценностей. Вид графиков – полигон.

Также будет реализован вывод формы с информацией о программе.

СОСТАВ И СТРУКТУРА ДАННЫХ

Для реализации работы с данными в проекте была выбрана система управления базами данных (СУБД) MS Access 2003. Access является настольной СУБД реляционного типа. В проекте используются две взаимосвязанные таблицы.

Структура БД представлена на рисунке 2.1.

Рисунок 2.1 – Структура таблиц БД

Описание структуры таблиц и ограничений целостности представлены в таблицах 2.1 – 2.2.

Таблица 2.1 – Описание структуры таблицы Мат_ценности

Мат_ценности

Имя поля

Назначение поля

Тип

Длина (байт)

Свойства поля

Ключ

Обязательное

Номенклатурный_номер

 

Счетчик

4

*

+

Наименование

Наименование номенклатуры материальных ценностей

Текстовый

80

 

+

Ед_изм

Единица измерения

Текстовый

20

 

+

Таблица 2.2 – Описание структуры таблицы Журнал_учета

Жкрнал_учета

Имя поля

Назначение поля

Тип

Длина (байт)

Свойства поля

Ключ

Обязательное

Примечание

Номер

Название фирмы

Числовой

4

 

+

Подстановка из таблицы «Мат_ценности»

Год

Год поступления материальных ценностей

Текстовый

4

 

+

 

Месяц

Месяц поступления материальных ценностей

Текстовый

20

 

+

 

Остаток_на_начало_года

Остаток материальных ценностей на начало года

Денежный

6

 

+

>0

Приход_за_месяц

Приход за месяц материальных ценностей

Денежный

6

 

+

>0

Расход_за_месяц

Расход за месяц материальных ценностей

Денежный

6

 

+

>0

МЕТОДЫ И АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ

При выполнении функции программы вычисление остатков на конец месяца была использована следующая формула:

, (1)

где – остаток на конец месяца;

- приход за месяц;

- расход за месяц.

Описание разработанных запросов с указанием параметров, источников данных и текста на SQL представлены в таблице 3.1.

Таблица 3.1 – Описание разработанных запросов

Назначение запроса

Наименование запроса

Параметры

Источники данных: таблица БД или запрос

Вычисление суммы остатка

Вычисление_сумм

 

Мат_ценности

Журнал_учета

Текст запроса

SELECT Мат_ценности.Номенклатурный_номер, Мат_ценности.Наименование, Журнал_учета.Год, Журнал_учета.Месяц, Sum(Журнал_учета.Приход_за_месяц) AS [Sum-Приход_за_месяц], Sum(Журнал_учета.Расход_за_месяц) AS [Sum-Расход_за_месяц], Sum([Приход_за_месяц]-[Расход_за_месяц]) AS Остаток_за_месяц

FROM Мат_ценности INNER JOIN Журнал_учета ON Мат_ценности.Номенклатурный_номер=Журнал_учета.Номер

GROUP BY Мат_ценности.Номенклатурный_номер, Мат_ценности.Наименование, Журнал_учета.Год, Журнал_учета.Месяц;

 

Подготовка данных для графика «Расход и приход»

Приход

Месяц

Мат_ценности

Журнал_учета

Текст запроса

SELECT Мат_ценности.Наименование, Журнал_учета.Год, Sum(Журнал_учета.Приход_за_месяц) AS [Sum-Приход_за_месяц], Sum(Журнал_учета.Расход_за_месяц) AS [Sum-Расход_за_месяц]

FROM Мат_ценности INNER JOIN Журнал_учета ON Мат_ценности.Номенклатурный_номер = Журнал_учета.Номер

GROUP BY Мат_ценности.Наименование, Журнал_учета.Год;

 

Подготовка данных для графика «Остаток материальных ценностей»

Остаток

Год

Мат_ценности

Журнал_учета

Вычисление_сумм

Текст запроса

SELECT Мат_ценности.Наименование, Журнал_учета.Месяц, Sum(Вычисление_сумм.Остаток_за_месяц) AS [Sum-Остаток_за_месяц]

FROM (Мат_ценности INNER JOIN Журнал_учета ON Мат_ценности.Номенклатурный_номер=Журнал_учета.Номер) INNER JOIN Вычисление_сумм ON Мат_ценности.Номенклатурный_номер=Вычисление_сумм.Номенклатурный_номер

GROUP BY Мат_ценности.Наименование, Журнал_учета.Месяц;

       

Подготовка данных для отчетов

Отчет

 

Мат_ценности

Журнал_учета

Текст запроса

SELECT Мат_ценности.Наименование, Журнал_учета.Год, Журнал_учета.Месяц, Журнал_учета.Остаток_на_начало_года, Журнал_учета.Приход_за_месяц, Журнал_учета.Расход_за_месяц, [Приход_за_месяц]-[Расход_за_месяц] AS Остаток

FROM Мат_ценности INNER JOIN Журнал_учета ON Мат_ценности.Номенклатурный_номер = Журнал_учета.Номер;

Отбор (фильтрация) данных будет осуществляться по месяцу, приходу за месяц и расходу за месяц. Сортировка данных будет осуществляться в порядке возрастания и убывания по названию наименованию номенклатуры и по номеру номенклатуры. Отчеты будут формироваться с группировкой по месяцам, годам и по наименованию номенклатуры. Отчеты построены с помощью объекта Report. Графики будут строиться по месяцам по остатку материальных ценностей и по годам по расходу и приходу материальных ценностей. Вид графиков – полигон. Графики построены с помощью объекта Chart.

СТРУКТУРА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Был разработан пользовательский интерфейс программы для учета материальных ценностей на предприятии.

В качестве элементов управления для выбора функций использованы закладки и кнопки. Структура пользовательского интерфейса представлена на рисунке 4.1.

Рисунок 4.1 – Структура пользовательского интерфейса

В таблице 4.1 представлено описание форм для работы с БД.

Таблица 4.1 – Структура проекта

Объект

Назначение

Form1.cs

Форма для начала работы

Form2.cs

Форма для работы с таблицами БД, вычисление сумм остатка материальных ценностей, выбор графиков и отчетов

Form3.cs

Форма для отображения графика о приходе и расходе материальных ценностей по годам

Form4.cs

Форма для отображения графика об остатках материальных ценностей по месяцам

Form5.cs

Форма для отображения отчета о суммах с группировкой по наименованию номенклатуры

Form6.cs

Форма для отображения отчета о суммах с группировкой по годам и месяцам

AboutBox1.cs

Для отображения информации о назначении и разработчике

Назначение элементов управления представлены в таблицах 4.2,4.3.

Таблица 4.2 – Назначение элементов управления формы Form1

Элемент управления

Имя (идентификатор)

Надпись

Назначение

Кнопка

button1

Приступить к работе

Открыть форму Form2 для работы с БД

Кнопка

button2

О программе

Открыть форму AboutBox1 для отображения данных о программе и разработчике

Таблица 4.3 – Назначение элементов управления формы Form2

Элемент управления

Имя (идентификатор)

Надпись

Назначение

Вкладка

tabControl1

Работа с БД

Перейти на вкладку «Работа с БД»

Вкладка

tabControl2

Журнал_учета

Перейти на вкладку «Остатки на конец месяца»

Вкладка

tabControl3

Графики и отчеты

Перейти на вкладку «Графики и отчеты»

Кнопка

button1

Сохранить изменения

Сохранить и обновить данные в таблицах БД

Кнопка

button2

Применить

Применить фильтрацию данных

Кнопка

button3

Отмена

Отменить фильтрацию данных

Переключатель

radioButton1

Номер свидетельства

Выбрать условия сортировки

Переключатель

radioButton2

Название фирмы

Выбрать условия сортировки

Переключатель

radioButton3

По возрастанию

Выбрать условия сортировки

Переключатель

radioButton4

По убыванию

Выбрать условия сортировки

Кнопка

button4

Применить

Применить сортировку данных

Кнопка

button5

Отмена

Применить сортировку данных

Кнопка

button6

Применить

Применить фильтрацию данных

Кнопка

button7

Отмена

Отменить фильтрацию данных

Переключатель

radioButton5

Отчет о суммах с группировкой по номенклатуре

Выбрать отчет

Переключатель

radioButton6

Отчет о суммах с группировкой по годам и месяцам

Выбрать отчет

Кнопка

button8

Сформировать

Сформировать отчет

Переключатель

radioButton7

Расход и приход (с группировкой по годам)

Выбрать диаграмму

Переключатель

radioButton8

Остаток материальных ценностей (по месяцам)

Выбрать диаграмму

Визуализация данных производится с помощью компонентов DataGridView.

Для сопровождения БД, которая состоит из взаимосвязанных таблиц, создана программа с интерфейсом, который обеспечивает отображение тех записей в подчиненной таблице (Журнал_учета), которые соответствуют текущей записи в главной таблице (Мат_ценности).

СТРУКТУРА ПРОГРАММЫ

На рисунке 5.1 представлена иерархическая структура программы, в таблице 5.1 – сведения о функциях, выполняемых обработчиком событий.

Рисунок 5.1 – Иерархическая структура программы

Таблица 5.1 – Состав и назначение программных модулей

Имя программного модуля

Назначение

Входные параметры

Выходные параметры

Вызываемые модули

Form1

Button1_Click

Для открытия формы для работы с БД

   

privatevoid button1_Click(object sender, EventArgs e)

{

Form2 f2 = newForm2();

f2.Show();

}

Button2_Click

Для просмотра данных о программе и разработчике

   

privatevoid button2_Click(object sender, EventArgs e)

{

AboutBox1 A1 = newAboutBox1();

A1.Show();

}

Form2

Button 1_Click

Для внесения изменений в файл БД и обновления данных таблиц

Таблицы «Мат_ценности», «Журнал_учета»

Таблицы «Мат_ценности», «Журнал_учета»

privatevoid button1_Click(object sender, EventArgs e)

{

Мат_ценностиTableAdapter.Update(Мат_ценностиDataSet.Мат_ценности);

Мат_ценностиTableAdapter.Fill(Мат_ценностиDataSet.Мат_ценности);

Журнал_учетаTableAdapter.Update(Мат_ценностиDataSet.Журнал_учета);

Журнал_учетаTableAdapter.Fill(Мат_ценностиDataSet.Журнал_учета);

}

Button 2_Click

Для фильтрации данных

Таблица «Журнал_учета»

Таблица «Журнал_учета»

privatevoid button2_Click(object sender, EventArgs e)

{

string Znak = "";

int caseSwitch1 = comboBox2.SelectedIndex;

switch (caseSwitch1)

{

case 0:

Znak = ">";

break;

case 1:

Znak = "<";

break;

case 2:

Znak = "=";

break;

}

int caseSwitch = comboBox1.SelectedIndex;

switch (caseSwitch)

{

case 0:

//MessageBox.Show("Выбранадата");

Мат_ценностиЖурнал_учетаBindingSource.Filter = "Месяц" + Znak + "'" + textBox1.Text + "'";

break;

case 1:

//MessageBox("Выбрано количество покупки");

Мат_ценностиЖурнал_учетаBindingSource.Filter = "Приход_за_месяц" + Znak + "'" + textBox1.Text + "'";

break;

case 2:

//MessageBox("Выбрано количество продажи");

Мат_ценностиЖурнал_учетаBindingSource.Filter = "Расход_за_месяц" + Znak + "'" + textBox1.Text + "'";

break;

}

}

Button 3_Click

Для отмены фильтрации

   

privatevoid button3_Click(object sender, EventArgs e)

{

Мат_ценностиЖурнал_учетаBindingSource.RemoveFilter();

}

Button 4_Click

Для сортировки данных

Таблица «Мат_ценности»

Таблица «Мат_ценности»

privatevoid button4_Click(object sender, EventArgs e)

{

if (radioButton1.Checked == true && radioButton3.Checked == true)

{

Мат_ценностиBindingSource.Sort = "Номенклатурный_номер ASC";

}

elseif (radioButton1.Checked == true && radioButton4.Checked == true)

{

Мат_ценностиBindingSource.Sort = "Номенклатурный_номер DESC";

}

elseif (radioButton2.Checked == true && radioButton4.Checked == true)

{

Мат_ценностиBindingSource.Sort = "Наименование DESC";

}

elseif (radioButton2.Checked == true && radioButton3.Checked == true)

{

Мат_ценностиBindingSource.Sort = "Наименование ASC";

}

}

Button 5_Click

Для отмены сортировки

Таблица «Мат_ценности»

Таблица «Мат_ценности»

privatevoid button5_Click(object sender, EventArgs e)

{

Мат_ценностиBindingSource.RemoveSort();

}

Button 6_Click

Для фильтрации данных

Таблица «Вычисление_сумм»

Таблица «Вычисление_сумм»

privatevoid button6_Click(object sender, EventArgs e)

{

string Znak = "";

int caseSwitch1 = comboBox2.SelectedIndex;

switch (caseSwitch1)

{

case 0:

Znak = ">";

break;

case 1:

Znak = "<";

break;

case 2:

Znak = "=";

break;

}

int caseSwitch = comboBox2.SelectedIndex;

switch (caseSwitch)

{

case 0:

//MessageBox("Выбраноколичествопокупки");

вычислениесуммBindingSource.Filter = "Остаток_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

case 1:

//MessageBox("Выбрано количество продажи");

вычислениесуммBindingSource.Filter = "Приход_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

}

case 1:

//MessageBox("Выбрано количество продажи");

вычислениесуммBindingSource.Filter = "Расход_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

}

}

Button 7_Click

Для отмены фильтрации

   

privatevoid button7_Click(object sender, EventArgs e)

{

вычислениесуммBindingSource.RemoveFilter();

}

Button 8_Click

Для построения отчетов

 

Запрос «Отчет»

privatevoid button9_Click(object sender, EventArgs e)

{

if (radioButton7.Checked == true)

{

Form5 f5 = newForm5();

f5.Show();

}

elseif (radioButton8.Checked == true)

{

Form6 f6 = newForm6();

f6.Show();

}

}

Button 9_Click

Для формирования графиков

 

Запрос «Остаток», «Приход»

privatevoid button8_Click(object sender, EventArgs e)

{

if (radioButton6.Checked == true)

{

Form3 f3 = newForm3();

f3.Show();

}

elseif (radioButton5.Checked == true)

{

Form4 f4 = newForm4();

f4.Show();

}

} }

Схема работы программы представлена в приложении А. Она представляет технологический процесс обработки данных. Все данные хранятся в файле Матценности.mdb. Для отображения данных о суммах с группировкой по определенному полю используются запросы, описанные в разделе 3 настоящей пояснительной записки.

ОПИСАНИЕ ПРОГРАММЫ

Текст программы представлен в приложении Б.

Перечень файлов представлен на рисунке 6.1.

Рисунок 6.1 – Перечень файлов

Сведения об использованных компонентах и значениях их свойств, которые потребовались при создании программы, представлены в таблицах 6.1,6.2.

Таблица 6.1 - Свойства компонентов формы Form1

Компонент и его имя

Надпись

Свойство

Значение

Кнопка button1

Приступить к работе

FontName\Size

Microsoft Sans Serif\10

Text

Приступить к работе

Метка label1

Учет материальных ценностей

FontName\Size

Microsoft Sans Serif\14

Text

Учет материальных ценностей

Кнопка button2

О программе

FontName\Size\Italic

Microsoft Sans Serif\10

Text

О программе

Таблица 6.2 - Свойства компонентов формы Form2

Компонент и его имя

Надпись

Свойство

Значение

Вкладка tabControl1

Работа с БД

-

-

Вкладка tabControl2

Остатки на конец месяца

-

-

Вкладка tabControl3

Графики и отчеты

-

-

Компонент и его имя

Надпись

Свойство

Значение

Кнопка button1

Сохранить изменения

FontName\Size

Microsoft Sans Serif\11

Text

Сохранить изменения

Источник данных,

Мат_ценностиBildingSourse

-

DataSource

Мат_ценностиDataSetBindingSource

DataMember

Мат_ценности

Name

Мат_ценностиBindingSource

Источник данных Мат_ценностиЖурнал_учетаBildingSourse

-

DataSource

Мат_ценностиDataSetBindingSource

DataMember

Мат_ценностиЖурнал_учета

Name

Мат_ценностиЖурнал_учета BindingSource

Блок объединения

groupBox1

-

Text

Фильтр

FontName\Size

Microsoft Sans Serif\11

Выпадающий список

comboBox1

-

Items

Месяц

Приход за месяц

Расход за месяц

FontName\Size

Microsoft Sans Serif\11

Выпадающий список

comboBox2

-

Items

>

<

=

FontName\Size

Microsoft Sans Serif\11

Окно редактирование

textBox1

-

FontName\Size

Microsoft Sans Serif\11

Кнопка button2

Применить

FontName\Size

Microsoft Sans Serif\11

Text

Применить

Кнопка button3

Отмена

FontName\Size

Microsoft Sans Serif\11

Text

Отмена

Блок объединения

groupBox2

-

Text

Сортировка

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton1

Номер свидетельства

Text

Номер свидетельства

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton2

Название фирмы

Text

Название фирмы

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton3

По возрастанию

Text

По возрастанию

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton4

По убыванию

Text

По убыванию

FontName\Size

Microsoft Sans Serif\11

Кнопка button4

Отмена

FontName\Size

Microsoft Sans Serif\11

Text

Применить

Кнопка button5

Очистить

FontName\Size

Microsoft Sans Serif\11

Источник данных,

Вычисление_суммBildingSourse

-

DataSource

Мат_ценностиDataSetBindingSource

DataMember

Вычисление_сумм

Name

Вычисление_суммBindingSource

Выпадающий список

comboBox4

-

Items

Остаток за месяц

Приход за месяц

Расход за месяц

FontName\Size

Microsoft Sans Serif\11

Выпадающий список

comboBox5

-

Items

>

<

=

FontName\Size

Microsoft Sans Serif\11

Окно редактирование

textBox2

-

FontName\Size

Microsoft Sans Serif\11

Кнопка button6

Применить

FontName\Size

Microsoft Sans Serif\11

Text

Применить

Кнопка button7

Отмена

FontName\Size

Microsoft Sans Serif\11

Блок объединения

groupBox3

-

Text

Отчеты

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton7

Отчет о суммах (с группировкой по номенклатуре)

Text

Отчет о суммах (с группировкой по номенклатуре)

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton8

Отчет о о суммах (с групировкой по годам и месяцам)

Text

Отчет о о суммах (с групировкой по годам и месяцам)

FontName\Size

Microsoft Sans Serif\11

Кнопка button8

Сформировать

Font – Name\Size

Microsoft Sans Serif\11

Text

Сформировать

Блок объединения

groupBox4

-

Text

Графики

Font – Name\Size

Microsoft Sans Serif\11

Переключатель

radioButton5

Приход и расход (по годам)

Text

Приход и расход (по годам)

FontName\Size

Microsoft Sans Serif\11

Переключатель

radioButton6

Остаток (с группировкой по месяцам)

Text

Остаток (с группировкой по месяцам)

FontName\Size

Microsoft Sans Serif\11

Кнопка button9

Построить

Font – Name\Size

Microsoft Sans Serif\11

Text

Сформировать

Взаимодействие компонентов прикладной программы между собой и с файлами БД представлено на рисунке 6.2.

Рисунок 6.2 – Схема взаимодействия компонентов с таблицами БД

ТЕСТИРОВАНИЕ ПРОГРАММЫ

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

Необходимо проверить сохранение обновлений, для этого необходимо:

добавить в БД сведения о новой номенклатуре и приходе/расходе (рисунок 7.1);

нажать кнопку «Сохранить изменения»;

перезапустить программу и проверить изменения.

Рисунок 7.1 –Добавление данных

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

Необходимо проверить работу фильтрации данных, для этого необходимо:

выбрать поле для фильтрации и необходимый знак для построения выражения, ввести параметр сортировки;

нажать кнопку «Применить».

После необходимых манипуляций в таблице должен отобразиться результат. Если результат верный, значит, сбоя в фильтрации данных нет (рисунок 7.2).

Рисунок 7.2 – Фильтрация данных

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

выбрать поле сортировки и параметр;

нажать кнопку «Применить».

После необходимых манипуляций в таблице должен отобразиться результат. Если результат верный, значит, сбоя в сортировке данных нет (рисунок 7.3).

Рисунок 7.3 – Сортировка данных

Также необходимо проверить вычисление сумму для этого необходимо:

перейти на форму «Остатки на конец месяца»;

проверить изменения (рисунок 7.4).

Рисунок 7.4 – Вычисление сумм остатка материальных ценностей

Необходимо проверить работу построения отчетов:

выбрать тип отчета;

нажать кнопку «Сформировать».

После необходимых манипуляций на экране должна отобразиться форма с отчетом (рисунок 7.5).

Рисунок 7.5 – Форма с отчетом

Необходимо проверить работу построения графиков:

выбрать тип графика;

нажать кнопку «Построить».

После необходимых манипуляций на экране должна отобразиться форма с графиком (рисунок 7.6).

Рисунок 7.6 – Форма отчета

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

8.1 Назначение системы

Данная программа предназначена для учета материальных ценностей на предприятии.

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

Настоящее руководство предназначено для пользователей данного программного продукта и содержит описание действий, необходимых для обеспечения эффективной работы пользователей.

8.2 Подготовка к работе

Данный программный продукт реализован в среде Microsoft Visual Studio 2013 и Microsoft Access 2003. Если данных продуктов нет в пользовании, то их следует приобрести. После приобретения их следует установить на ПК пользователей, следуя всем необходимым инструкциям.

8.3 Требования к программно-аппаратному обеспечению

Работа пользователя с программой возможна при выполнении следующих требований к программно-аппаратному обеспечению рабочей станции пользователя.

Для использования Microsoft Visual Studio 2013 следующее оборудование:

компьютер и процессор: частота не ниже 1,6 ГГц;

оперативная память не менее 1 Гб;

место на жестком диске не менее 4 Гб;

операционная система: Microsoft Windows 7 и выше;

Microsoft .NET Framework 4.6;

Дополнительные требования. Требуется обновление из статьи базы знаний KB2883200 (доступно в Центре обновления Windows).

Фактические требования и функциональность продукта могут отличаться в зависимости от системной конфигурации и операционной системы.

8.4 Работа с программным продуктом

Начало работы

Первое что требуется от пользователя запустить программный продукт на выполнение. Для этого нужно выбрать каталог, в котором находится файл. В списке папок последовательно дважды щелкнуть левой клавишей мыши на папке, содержащей файл Мат_ценности; откроется форма (рисунок 8.4.1). Далее для начала работы нужно нажать .

Рисунок 8.4.1 – Начальная форма

8.4.2 О программе

Необходимо кликнуть левой клавишей мыши по необходимому пункту меню и нажать кнопку .

После нажатия появится форма с информацией о программе и разработчике (рисунок 8.4.2)

Рисунок 8.4.2 – Информация о программе

8.4.3 Работа с БД

Необходимо кликнуть левой клавишей мыши по вкладке «Работа с БД».

8.4.3.1 Операция 1 – ввод и сохранение новых данных. Для ввода дынных о номенклатуре необходимо кликнуть левой клавишей мыши по пустому полю таблицы. В поля необходимо ввести наименование номенклатуры и из выпадающего списка выбрать единицу измерения (рисунок 8.4.3).

Рисунок 8.4.3 – Заполнение данных о номенклатуре

Далее в поля второй таблицы нужно ввести год, месяц, остаток на конец года, приход за месяц, расход за месяц (рисунок 8.4.4).

Рисунок 8.4.4 – Заполнение данных о приходе/расходе

Далее нужно сохранить введенные данные нажатием левой клавишей мыши на кнопку «Сохранить изменения».

8.4.3.2 Операция 2 – фильтрация данных. Для фильтрации данных необходимо в блоке «Фильтр» из всплывающего списка выбрать название поля, по которому будет осуществляться фильтрация и знак. В текстовом поле ввести значение (рисунок 8.4.5) и нажать левой клавишей мыши на кнопку .

Рисунок 8.4.5 – Выбор условий для фильтрации

Для отмены фильтра нажать левой клавишей мыши на кнопку «Отмена».

8.4.3.3 Операция 3 – сортировка данных. Для сортировки данных необходимо в блоке «Сортировка» выбрать название поля, по которому будет осуществляться сортировка и параметр (возрастание или убывание) (рисунок 8.4.6) и нажать левой клавишей мыши .

Рисунок 8.4.6 – Выбор параметров сортировки

Для отмены сортировки нажать левой клавишей мыши «Отмена».

8.4.4 Вычисление сумм доходов

Необходимо кликнуть левой клавишей мыши по вкладке «Остатки на конец месяца». После нажатия появится форма с вычисленными суммами. На данной вкладке можно применить фильтр (см. пункт 8.4.3.2 Операция 2 – фильтрация данных).

8.4.5 Операция 1 – отчеты. Для формирования отчетов необходимо перейти на вкладку «Графики и отчеты» и выбрать в блоке «Отчеты» который необходим (рисунок 8.4.7) и нажать левой клавишей мыши на .

Рисунок 8.4.7 – Выбор отчета

8.4.6 Операция 2 – графики. Для формирования отчетов необходимо перейти на вкладку «Графики и отчеты» и выбрать в блоке «Графики» тот, который необходим (рисунок 8.4.8) и нажать левой клавишей мыши на .

Рисунок 8.4.8 – Выбор графика

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсового проекта были получены и закреплены навыки программирования в среде Visual Studio 2013 C#.

Было создано Windows-приложение, которое позволяет проводить учет материальных ценностей на предприятии, с возможностью добавления, удаления и редактирования информации. Был разработан пользовательский интерфейс приложения.

Было разработано руководство пользователя.

Проведенное тестирование работы программы не выявило ошибок.

ЛИТЕРАТУРА

ГОСТ 19.401 – 78. ЕСПД. Текст программы. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1978

ГОСТ 19.505 – 79. ЕСПД. Руководство оператора. Требования к содержанию и оформлению. - М.: Изд-во стандартов, 1977

ГОСТ 19.701 - 90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - М.: Изд-во стандартов. – 1990

Руководство по программированию на C# [Электронный ресурс] – Заголовок с экрана. – Режим доступа: http://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx.

Требования к системе Visual Studio 2013 [Электронный ресурс] – Заголовок с экрана. – Режим доступа: https://www.visualstudio.com/ru-ru/productinfo/vs2013-sysrequirements-vs.

Приложение А. Схема работы программы

Приложение Б. Текст программы

Form1

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;

namespace WindowsFormsApp3

{

publicpartialclassForm1 : Form

{

public Form1()

{

InitializeComponent();

}

privatevoid button1_Click_1(object sender, EventArgs e)

{

Form2 f2 = new Form2();

f2.Show();

}

privatevoid button2_Click(object sender, EventArgs e)

{

AboutBox1 A1 = new AboutBox1();

A1.Show();

}

}

}

Form2

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;

namespace WindowsFormsApp3

{

publicpartialclassForm2 : Form

{

public Form2()

{

InitializeComponent();

}

privatevoid Form2_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet1.Журнал_учета". При необходимости она может быть перемещена или удалена.

this.журнал_учетаTableAdapter.Fill(this.матценностиDataSet1.Журнал_учета);

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet1.Мат_ценности". При необходимости она может быть перемещена или удалена.

this.мат_ценностиTableAdapter.Fill(this.матценностиDataSet1.Мат_ценности);

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet1.Вычисление_сумм". При необходимости она может быть перемещена или удалена.

this.вычисление_суммTableAdapter.Fill(this.матценностиDataSet1.Вычисление_сумм);

}

privatevoid button1_Click(object sender, EventArgs e)

{

мат_ценностиTableAdapter.Update(матценностиDataSet1.Мат_ценности);

журнал_учетаTableAdapter.Update(матценностиDataSet1.Журнал_учета);

мат_ценностиTableAdapter.Fill(матценностиDataSet1.Мат_ценности);

журнал_учетаTableAdapter.Fill(матценностиDataSet1.Журнал_учета);

}

privatevoid button5_Click(object sender, EventArgs e)

{

string Znak = "";

int caseSwitch1 = comboBox2.SelectedIndex;

switch (caseSwitch1)

{

case 0:

Znak = ">";

break;

case 1:

Znak = "<";

break;

case 2:

Znak = "=";

break;

}

int caseSwitch = comboBox1.SelectedIndex;

switch (caseSwitch)

{

case 0:

//MessageBox.Show("Выбраноназвание");

referenceBindingSource.Filter = "Месяц" + Znak + "'" + textBox1.Text + "'";

break;

case 1:

//MessageBox("Выбранзаказчик");

referenceBindingSource.Filter = "Приход_за_месяц" + Znak + "'" + textBox1.Text + "'";

break;

case 2:

//MessageBox("Выбранастоимость");

referenceBindingSource.Filter = "Расход_за_месяц" + Znak + "'" + textBox1.Text + "'";

break;

}

}

privatevoid button2_Click(object sender, EventArgs e)

{

referenceBindingSource.RemoveFilter();

}

privatevoid button3_Click(object sender, EventArgs e)

{

{

if (radioButton1.Checked == true && radioButton3.Checked == true)

{

матценностиBindingSource.Sort = "Номенклатурный_номер ASC";

}

elseif (radioButton1.Checked == true && radioButton4.Checked == true)

{

матценностиBindingSource.Sort = "Номенклатурный_номер DESC";

}

elseif (radioButton2.Checked == true && radioButton4.Checked == true)

{

матценностиBindingSource.Sort = "Наименование DESC";

}

elseif (radioButton2.Checked == true && radioButton3.Checked == true)

{

матценностиBindingSource.Sort = "Наименование ASC";

}

}

}

privatevoid button4_Click(object sender, EventArgs e)

{

матценностиBindingSource.RemoveSort();

}

privatevoid button7_Click(object sender, EventArgs e)

{

string Znak = "";

int caseSwitch1 = comboBox4.SelectedIndex;

switch (caseSwitch1)

{

case 0:

Znak = ">";

break;

case 1:

Znak = "<";

break;

case 2:

Znak = "=";

break;

}

int caseSwitch = comboBox3.SelectedIndex;

switch (caseSwitch)

{

case 0:

//MessageBox.Show("Выбраноназвание");

вычислениесуммBindingSource.Filter = "Остаток_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

case 1:

//MessageBox("Выбранзаказчик");

вычислениесуммBindingSource.Filter = "Приход_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

case 2:

//MessageBox("Выбранастоимость");

вычислениесуммBindingSource.Filter = "Расход_за_месяц" + Znak + "'" + textBox2.Text + "'";

break;

}

}

privatevoid button6_Click(object sender, EventArgs e)

{

вычислениесуммBindingSource.RemoveFilter();

}

privatevoid button8_Click(object sender, EventArgs e)

{

вычисление_суммTableAdapter.Fill(матценностиDataSet1.Вычисление_сумм);

}

privatevoid button9_Click(object sender, EventArgs e)

{

if (radioButton6.Checked == true)

{

Form3 f3 = new Form3();

f3.Show();

}

elseif (radioButton5.Checked == true)

{

Form4 f4 = new Form4();

f4.Show();

}

}

privatevoid button10_Click(object sender, EventArgs e)

{

if (radioButton8.Checked == true)

{

Form5 f5 = new Form5();

f5.Show();

}

elseif (radioButton7.Checked == true)

{

Form6 f6 = new Form6();

f6.Show();

}

}

}

}

Form3

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;

namespace WindowsFormsApp3

{

publicpartialclassForm3 : Form

{

public Form3()

{

InitializeComponent();

}

privatevoid Form3_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet1.Приход". При необходимости она может быть перемещена или удалена.

this.приходTableAdapter.Fill(this.матценностиDataSet1.Приход);

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet.Приход". При необходимости она может быть перемещена или удалена.

this.приходTableAdapter.Fill(this.матценностиDataSet1.Приход);

}

}

}

Form4

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;

namespace WindowsFormsApp3

{

publicpartialclassForm4 : Form

{

public Form4()

{

InitializeComponent();

}

privatevoid Form4_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "матценностиDataSet1.Остаток". При необходимости она может быть перемещена или удалена.

this.остатокTableAdapter.Fill(this.матценностиDataSet1.Остаток);

}

}

}

Form5

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;

namespace WindowsFormsApplication1

{

publicpartialclassForm4 : Form

{

public Form4()

{

InitializeComponent();

}

privatevoid Form4_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'Мат_ценностиDataSet.Отчеты' table. You can move, or remove it, as needed.

this.ОтчетыTableAdapter.Fill(this.Мат_ценностиDataSet.Отчеты);

this.reportViewer1.RefreshReport();

}

}

}

Form6

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;

namespace WindowsFormsApplication1

{

publicpartialclassForm4 : Form

{

public Form4()

{

InitializeComponent();

}

privatevoid Form4_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'Мат_ценностиDataSet.Отчеты' table. You can move, or remove it, as needed.

this.ОтчетыTableAdapter.Fill(this.Мат_ценностиDataSet.Отчеты);

this.reportViewer2.RefreshReport();

}

}

}

ПриложениеВ. Экранныеформы

Рисунок В.1 – Начальная форма (Form1)

Рисунок В.2 – Вкладка «Работа с БД» (Form2)

Рисунок В.3 – Вкладка «Остатки на конец месяца» (Form2)

Рисунок В.4 – Вкладка «Графики и отчеты» (Form2)

Рисунок В.5 – Форма отчета (Form5)

Рисунок В.6 – Форма отчета (Form6)

Рисунок В.7 – Форма графика (Form3)

Рисунок В.8 – Форма графика (Form4)

Рисунок В.9 – Форма с информацией о программе (AboutBox1)

Просмотров работы: 666