- •Ноу впо тульский институт управлени и бизнеса
- •Кулаков Александр а.
- •Реферат
- •Задание к дипломному проекту: информационная система “склад продовольственных товаров”
- •1. Обзор и анализ методов реализации ис “склад продовольственных товаров” 9
- •2. Проектирование ис “склад продовольственных товаров” 16
- •3. Обоснование экономической эффективности проекта 65
- •Введение
- •1. Обзор и анализ методов реализации ис “склад продовольственных товаров”
- •1.1. Технико-экономическая характеристика предметной области
- •1.1.1.Общая характеристика предприятия “склад продовольственных товаров”
- •1.1.2.Характеристика деятельности предприятия “склад продовольственных товаров”
- •1.2. Экономическая сущность задачи
- •1.3. Обоснование необходимости и цели использования вычислительной техники для решения задачи
- •1.4. Выбор системы управления базами данных для реализации ис
- •1.5. Постановка задачи проектирования
- •2. Проектирование ис “склад продовольственных товаров”
- •2.1. Информационное обеспечение задачи
- •2.1.1. Информационная модель ис “склад продовольственных товаров”
- •2.1.2. Инфологическая модель ис “склад продовольственных товаров”
- •2.1.3. Даталогическая модель ис “склад продовольственных товаров”
- •2.1.4. Характеристика нормативно-справочной, входной и результатной информации
- •2.2. Программное обеспечение ис “склад продовольственных товаров”
- •2.2.1. Проектирование сценария диалога
- •2.2.2. Описание программных модулей
- •2.2.2.1. Экранные формы ис “склад продовольственных товаров”
- •2.2.2.2. Отчет о формировании квитанции получения товара (Отчет 1)
- •2.2.2.3. Отчет о формировании квитанции выдачи товара (Отчет 2)
- •2.2.2.4. Отчет о наличии товаров на складе продовольственных товаров и их количестве на текущую дату (Отчет 3)
- •2.2.2.5. Отчет об ущербе от просроченного товара (Отчет 4)
- •2.2.2.6. Акт списания просроченного товара (Отчет 5)
- •2.3. Технологическое обеспечение ис “склад продовольственных товаров”
- •2.4. Руководство пользователя ис “склад продовольственных товаров”
- •3. Обоснование экономической эффективности проекта
- •3.1. Выбор и обоснование методики расчета экономической эффективности
- •3.2 Расчет показателей экономической эффективности проекта
- •Заключение
- •Список литературы
- •Приложение 1. Программное обеспечение формы ведения таблицы “информация о квитанциях на получение товара” (Kvit_In)
- •Приложение 2. Программное обеспечение формы ведения таблицы “информация о квитанциях на выдачу товара” (Kvit_Out)
- •Приложение 3. Программное обеспечение формы формирования квитанции получения товара” (Kvit_In_f)
- •Приложение 4. Программное обеспечение формы формирования квитанции выдачи товара” (Kvit_Out / Kvit_Out_f)
- •Приложение 5. Программное обеспечение формы формирования квитанции выдачи товара” (Kvit_Out / Kvit_Out_f)
2.2.2.4. Отчет о наличии товаров на складе продовольственных товаров и их количестве на текущую дату (Отчет 3)
Просмотр отчета о наличии товаров на складе и их количестве на текущую дату реализован на основе запроса на выборку, созданного в конструкторе запросов (Tov_Nal). На языке SQL запрос выглядит следующим образом:
SELECT Tovar.ind_Tov, Tovar.Tovar, Tovar.Ed_Chran, Tovar.Cena_In, Tovar.Cena_Out, Tovar.Kol_Tov_Skl
FROM Tovar
WHERE (((Tovar.Kol_Tov_Skl)>0))
ORDER BY Tovar.Tovar;
На основе запроса из таблицы “Информация о товаре (справочник товара)” (Tovar) выбираются записи, значение поля наличия на складе (Kol_Tov_Skl) в которых больше нуля.
Просмотр отчета инициируется щелчком левой кнопки манипулятора “мышь” по кнопке “Наличие товара на текущие дату и время” главной кнопочной формы (см. рисунок 2.4). Можно получить твердую копию отчета (напечатать его), щелкнув левой кнопкой манипулятора “мышь” по расположенной рядом кнопке “Печать отчета о наличии товара на текущие дату и время”.
Форма отчета о наличии товаров на складе и их количестве на текущую дату в режиме конструктора представлена на рисунке 2.20.
Рисунок 2.20 - Форма отчета о наличии товаров на складе продовольственных товаров и их количестве на текущую дату
Пример формы отчета о наличии товаров на складе и их количестве на текущую дату на рисунке 2.21.
Рисунок 2.21 - Пример формы отчета о наличии товаров на складе продовольственных товаров и их количестве на текущую дату
Отчет содержит всю необходимую информацию. Его легко просмотреть в MS Word и сохранить в формате RTF.
2.2.2.5. Отчет об ущербе от просроченного товара (Отчет 4)
На рисунке 2.22 представлена экранная форма формирования двух выходных документов – отчет об ущербе от просроченного товара (Отчет 4) и акта списания просроченного товара (Отчет 5).
Основные элементы формы обозначены выносками 1 – 10.
1 – контрольная дата (элемент типа поле), на которую определяются товары с просроченным сроком реализации. При открытии формы в поле отображается текущая дата. При необходимости ее можно отредактировать; 2 – индекс кладовщика, необходимый для связи с таблицей “Кладовщики” (Kladov);
Рисунок 2.22 - Форма списания просроченного товара
3 – список кладовщиков, необходимый для выбора Ф.И.О. кладовщика и запоминания его индекса; 4 – подчиненная форма/отчет “подчиненная форма Prosr_Tov”, необходимая для отображения информации о просроченных товарах на контрольную дату. Информация формируется на основе запроса “Prosr_Tov”, текст на языке SQL которого приведен ниже
SELECT Tovar.ind_Tov, Tovar.Tovar, Tovar.Ed_Chran, Tovar.Cena_In, Tovar.Cena_Out, Input.Ost_tov, DateValue(Input!Date_Proizv)+Tovar!Srok_Chran AS Date_Realiz, [Cena_In]*[Ost_tov] AS U_in, [Cena_Out]*[Ost_tov] AS U_out FROM Tovar INNER JOIN (Mesto_Chran INNER JOIN [Input] ON Mesto_Chran.ind_Chran = Input.ind_Chran) ON Tovar.ind_Tov = Input.ind_Tov WHERE (((Input.Ost_tov)>0) AND ((DateValue([Input]![Date_Proizv]) +[Tovar]![Srok_Chran])<[Forms]![Spis_Tov]![Date_Real])) ORDER BY Tovar.Tovar;
5 – кнопка “Обновить на контрольную дату” (B_Prosro), после нажатия на которую в подчиненной форме будет отражаться информация, соответствующая введенной контрольной дате; 6, 7 – кнопки (B_Prosr_Tov, B_Prin_Prosr), после нажатия на которые будет отображаться в отдельном окне или печататься “Отчет об ущербе от просроченного товара” (Отчет 4), соответственно; 8, 9 – кнопки (B_Akt_Spis, B_Prin_Akt), после нажатия на которые будет отображаться в отдельном окне или печататься “Акт списания просроченного товара” (Отчет 5), соответственно; 10 – кнопка “Формирование таблиц списания” (B_Tab_Akt), после нажатия на которую происходит автоматизированное добавление записей в таблицу “Информация о просроченных товарах” (Prosrotch), корректировка количества товаров в таблицах “Информация о получении товара” (Input), “Информация о месте хранения товара” (Mesto_Chran), “Информация о товаре (справочник товара)” (Tovar), а также корректировка полей индекс кладовщика (ind_Kladov) и итоговая стоимость (Itogo) таблицы “Информация об актах списания просроченных товаров” (Akt_Spis). Функциональная реализация нажатия кнопки “Формирование таблиц списания” (B_Tab_Akt) основана на трех запросах Fn_Out, Add_Out и Obn_Kol_TO, коды которых на языке SQL приведены ниже.
Код запроса Fn_Out на языке SQL, формирующего запись, которую необходимо добавлять в таблицу “Информация о выдачи товара” (Output):
SELECT DISTINCT Kvit_Out.ind_Kvit_Out, Input.ind_Tov, CInt(Forms!Kvit_Out_F!Kol_Tov) AS Kol_Tov, Tovar!Cena_Out*Forms!Kvit_Out_F!Kol_Tov AS Stoim, CInt(Forms!Kvit_Out_F!ind_Mesto_Chran) AS ind_Chran, Input.ind_In FROM Kvit_Out, [Output], Tovar INNER JOIN (Mesto_Chran INNER JOIN [Input] ON Mesto_Chran.ind_Chran = Input.ind_Chran) ON Tovar.ind_Tov = Input.ind_Tov WHERE (((Kvit_Out.ind_Kvit_Out)=[Forms]![Kvit_Out_F]![ind_Kvit_Out]) AND ((Input.ind_Tov)=CInt([Forms]![Kvit_Out_F]![Sel_Tov].[Value])) AND ((Input.ind_In)=[Forms]![Kvit_Out_F]![ind_In]));
Код запроса Add_Out на языке SQL, добавляющего запись в таблицу “Информация о выдачи товара” (Output):
INSERT INTO [Output] ( ind_Kvit_Out, ind_Tov, ind_In, Kol_Tov, Stoim, ind_Chran ) SELECT DISTINCT Fn_Out.ind_Kvit_Out, Fn_Out.ind_Tov, Fn_Out.ind_In, Fn_Out.Kol_Tov, Fn_Out.Stoim, Fn_Out.ind_Chran FROM Fn_Out;
Код запроса Obn_Kol_TO на языке SQL, реализующего корректировку количества товаров в таблицах “Информация о получении товара” (Input), “Информация о месте хранения товара” (Mesto_Chran), а также полей индекс кладовщика (ind_Kladov) и итоговая стоимость (Itogo) таблицы “Информация об актах списания просроченных товаров” (Akt_Spis):
UPDATE Tovar INNER JOIN (Mesto_Chran INNER JOIN (Kvit_Out INNER JOIN ([Input] INNER JOIN [Output] ON Input.ind_In = Output.ind_In) ON Kvit_Out.ind_Kvit_Out = Output.ind_Kvit_Out) ON (Mesto_Chran.ind_Chran = Output.ind_Chran) AND (Mesto_Chran.ind_Chran = Input.ind_Chran)) ON (Tovar.ind_Tov = Output.ind_Tov) AND (Tovar.ind_Tov = Input.ind_Tov) SET [Input].Ost_tov = Input!Ost_tov-Forms!Kvit_Out_F!Kol_Tov, Mesto_Chran.Kol_Tov = Mesto_Chran!Kol_Tov-Forms!Kvit_Out_F!Kol_Tov, Tovar.Kol_Tov_Skl = Tovar!Kol_Tov_Skl-Forms!Kvit_Out_F!Kol_Tov, [Output].Kol_Tov = Forms!Kvit_Out_F!Kol_Tov, Kvit_Out.ind_Kladov = Forms!Kvit_Out_F!ind_Kladov, Kvit_Out.Itogo = Kvit_Out!Itogo+Output!Stoim WHERE (((Kvit_Out.ind_Kvit_Out)=[Forms]![Kvit_Out_F]![ind_Kvit_Out]) AND ((Output.ind_Out)=DLast([Output]![ind_Out],"Output")) AND ((Input.ind_In)=[Forms]![Kvit_Out_F]![ind_In]));
ПО формы списания просроченного товара (см. рисунок 2.22) представлено в прилож. 5.
Для отладки ПО, реализующего запросы Fn_Out, Add_Out и Obn_Kol_TO на форме списания просроченного товара (см. рисунок 2.22) были добавлены две кнопки, представленные на рисунке 2.23 в режиме конструктора форм.
Рисунок 2.23 - Форма списания просроченного товара в режиме отладки
Выносками 1, 2 обозначены визуальные компоненты типа кнопка, реализующие 1 – запрос Add_Out и 2 – запрос Obn_Kol_TO. После отладки ПО в процедуру Private Sub B_Tab_Akt_Click() (см. прилож. 5) следует добавить процедуры реализации соответствующих запросов,
' Добавить таблицу просроченных товаров (Prosrotch)
Call B_Add_Tov_Click
' Удалить из таблиц Input, Mesto_Cran, Tovar просроченные товары
Call B_Del_Tov_Click
а кнопки, отмеченные выносками 1, 2 – удалить.
Отчет об ущербе от просроченного товара (Отчет 4) в режиме конструктора представлен на рисунке 24.
Рисунок 2.24 - Отчет об ущербе от просроченного товара в режиме конструктора
Формирование полей, отмеченных выносками 1 – 4 представлено в таблице 2.13. № п/п соответствует номеру выноски.
Таблица 2.13 - Формирование Ф.И.О. выбранного пользователя
№ п/п |
Имя визуального компонента |
Данные |
Формат поля |
Описание |
|
Date_C |
=Формы!Spis_Tov!Date_Real |
Краткий формат даты |
Контрольная дата |
|
Ush_in |
=Sum([U_in]) |
Денежный |
Ущерб по цене получения товара |
|
Ush_out |
=Sum([U_out]) |
Денежный |
Ущерб по цене отпуска товара |
|
Kladov |
=Формы!Spis_Tov!Sel_Kladov.Text |
Текстовый |
Ф.И.О. кладовщика |
Значения полей, обозначенных выносками 1 – 4, берутся из формы списания просроченного товара (Spis_Tov) (см. рисунок 2.22) из соответствующих свойств компонентов формы.
Информационная таблица отчета формируется на основе запроса выше рассмотренного запроса “Prosr_Tov”.
На рисунке 2.25 представлен пример отчета об ущербе от просроченного товара.
Рисунок 2.25 - Пример отчета об ущербе от просроченного товара
Для просмотра отчета об ущербе от просроченного товара необходимо щелкнуть левой кнопкой манипулятора “мышь” по кнопке “Отчет о просроченном товаре” формы списания просроченного товара (см. рисунок 2.22).
При необходимости можно получить твердую копию квитанции выдачи товара, нажав кнопку “Печать отчета по квитанции” (выноска 7 рисунка 2.22).
Отчет легко просмотреть в MS Word и сохранить в формате RTF.