Автоматизированная информационная система управления складом предприятия ОСП "Лихославльский почтамт филиал ФГУП Почта России по Тверской области" г. Лихославль

Разработка автоматизированной информационной системы, способной автоматизировать большую часть деятельности складского учета Лихославльского почтамта. Тестирование работы ИС на данных контрольного примера. Обоснование экономической эффективности проекта.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 24.09.2013
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Рисунок 2.1. - Диаграмма потоков данных

Если таковые есть, то заведующий формирует накладную на распределение, вся информация изменяется в справочнике склада с привязкой к конкретному подразделению. Косвенно это информация влияет на отчет о местоположении.

Работники почтамта входящие в комиссию о годности того или иного материала или техники отправляют заявку на конкретный материал или технику для составления Акта о списании или же составления дефектной ведомости. Заведующий склада производит поиск и определяет где конкретно числится техника или материал, после чего возвращает в любом случае на склад, при этом создается накладная о возврате. После формирования накладной о возврате, заведующий составляет либо акт о списании, либо дефектную ведомость и отправляет комиссии. Вся информация учитывается в ИС.

УФПС Тверской области так же может прислать накладную о возврате определенных видов техники или материалов. Заведующий склада обрабатывает накладную и производит поиск требуемых материалов и техники. После чего создает накладную о возврате или акт о списании.

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

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

На основе входной информации, а именно «накладная из УФПС» по которой, заведующий склада составляет накладную о приеме предназначена таблица Waybill_content, которая хранит номер накладной, детальную информацию о материале или техники. Для простоты поиска в дальнейшем, была введена таблица с конкретными типами накладной, таким как - На прием, возврат, списание и т.д. предназначена таблица Waybill_type.

Рисунок 2.2. - Схема базы данных

Такая информация, как тип или наименование техники и материалов хранится в отдельных справочниках им соответствуют таблицы - Materials_type и Dictionary_m соответственно. Так как склад работает с подразделениями, то для этих целей существует таблицы Location_m - для хранения данных об подразделениях, таких как телефон, индекс, название и адрес, таблица Loc_t хранит в себе тип подразделения необходимый для классификации на уровне бухгалтерии почтамта. Вся информация о фактическом месторасположении и остатках хранится в таблице Skld, данная таблица является основной, на её основе строятся все отчеты и накладные. Таблицы с пометкой [Имя операции]_log используются для логирования операций по возврату, приему, распределению и т.д.

2.1.1 Характеристика нормативно-справочной, входной и оперативной информации.

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

Все возможные формы с информацией по материалу или техники;

– Все возможные отчеты с информацией по материалу или техники;

– Формы содержащие информацию о подразделении;

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

Таблица 2.1 Справочники

№ пп

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

Ответственный за ведение

Средний объём справочника в записях

Средняя частота актуализации

1

Наименование Техники или материалов

Пользователь

>500

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

2

Тип техники

Пользователь

>100

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

3

Подразделения

Пользователь

60

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

4

Тип документов

Администратор

6

По необходимости добавления или модификации документов

Реквизитный состав справочников приведен в таблице 2.2.

Таблица 2.2. Реквизитный состав справочников

№ пп

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

Перечень реквизитов

1

Наименование техники

· Наименование (Name_m)

2

Тип техники

· Наименование типа техники(Types)

3

Подразделение

· Название(Name_l)

· Индекс(indexes1)

· Телефон(tel)

· Адрес(Adres)

· Тип подразделения(Type_l)

4

Тип документов

· Наименования типа документа(W_type)

В моей системе используются следующие входные документы:

· Товарная накладная

Даная накладная полностью соответствует унифицированной форме ТОРГ-13.

Выходная информация является данными в форме накладных или отчетов, в которой содержится полная информация о материале или технике, количестве и т.д. Вначале такая информация появляется на экране монитора, и только затем может быть сохранена на компьютере в виде файла Excel, Word.

Характеристика результатной информации представлена в таблице 2.3.

Таблица 2.3. Выходные документы

№ пп

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

Перечень реквизитов

Таблицы, на основе которых формируется

Способ доставки

1

Отчет об остатках на складе

• Дата формирования

• Количество страниц

• Название отчета

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

• Количество

• Тип

• Номер

• Серийный номер

• Инвентарный номер

• Штрих код

• Дата гарантии

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Waybill

• Экранная форма

• Экспорт в MS Office

2

Отчет о сроке годности

• Дата формирования

• Количество страниц

• Название отчета

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Штрих код

• Тип

• Дата гарантии

• Индекс места

• Названия места

• Адрес

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Loc_t

• Экранная форма

• Экспорт в MS Office

3

Отчет о принятых материалах или техники

• Дата формирования

• Отчетный период

• Количество страниц

• Название отчета

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Штрих код

• Тип

• Дата гарантии

• Номер накладной

• Дата накладной

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Экранная форма

• Экспорт в MS Office

4

Отчет о местоположении

• Дата формирования

• Количество страниц

• Название отчета

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Индекс места

• Названия места

• Адрес

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Loc_t

• Экранная форма

• Экспорт в MS Office

5

Заявка в ОПС

• Дата открытия

• Номер заявки

• Кому адресовано

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

• Тип

• Количество

• Под какие нужды

• Request_n

• Request_content

• Request_type

• Dictionary_m

• Material_type

• Экранная форма

• Экспорт в MS Office

6

Дефектная ведомость

• Номер

• Дата

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Skld

• Dictionary_m

• Material_type

• Waybill_content

• Defect_log

• Экранная форма

• Экспорт в MS Office

7

Прием товарной накладной

• Дата

• Номер

• Код в накладной

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Примечание

• Skld

• Dictionary_m

• Material_type

• Waybill_content

• Waybill

• Экранная форма

• Экспорт в MS Office

8

Накладная на распределение

• Номер накладной

• Дата накладной

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Индекс места

• Названия места

• Адрес

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Loc_t

• Move_log

• Экранная форма

• Экспорт в MS Office

9

Накладная на перемещение

• Номер накладной

• Дата накладной

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Индекс места отпуска

• Названия места отпуска

• Адрес отпуска

• Индекс места назначения

• Названия места назначения

• Адрес назначения

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Loc_t

• Trade_log

• Экранная форма

• Экспорт в MS Office

10

Акт о списании

• Номер документа

• Дата документа

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Причины списания

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Writeoff_log

• Экранная форма

• Экспорт в MS Office

11

• Номер накладной

• Дата накладной

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

• Количество

• Номер

• Серийный номер

• Инвентарный номер

• Тип

• Штрих код

• Дата гарантии

• Индекс места отпуска

• Названия места отпуска

• Адрес отпуска

• Причины возврата

• Skld

• Waybill_content

• Dictionary_m

• Materials_type

• Location_m

• Return_log

• Экранная форма

• Экспорт в MS Office

Примеры заполненных Входных и Выходных документов находятся в приложении 3.

2.3. Разработка прикладного программного обеспечения

2.3.1 Особенности программной реализации

Пользователи и администраторы ИС будут обладать функциями изображенные на рисунке 2.3.

Рисунок 2.3 - Дерево функций пользователя

Диалог с пользователем осуществляется с помощью меню.

Иерархия дерева диалогов отображена на схематичном рисунке 2.4.

Рисунок 2.4 - Дерево диалогов

В 1 части дипломного проекта говорилось о том, что к программе не предусмотрена система безопасности, но из дерева диалогов видно, что пользователь осуществляет вход при помощи своего имени пользователя и пароля. Это сделано, для того, что бы другие работники не могли получить доступ к программе, т.к. в результате их действий могут быть введены некорректные данные. Для выполнения входа используются следующие SQL - запросы:

1. Запрос на проверку существует ли такой пользователь, если запрос выполняется, то разрешается вход в систему:

SELECT * FROM Users WHERE ( User= @Acc) AND (Password = @Pass)

Полный код модуля входа представлен в Листинг 1.1 приложения 4.

Для составления выходного документа о принятии накладной используются следующие SQL запросы в модуле «Принятие»:

1. Проверяем, существует ли такая накладная:

SELECT * FROM Waybill WHERE Numbers_w=@num_w

2. Если запись не найдена вставляем значения о накладной:

INSERT INTO Waybill(Numbers_w, Date_of, W_T) VALUES(@num, @date, @wt)

3. После того, как первичная информация занесена выполняются следующий SQL запрос, предназначенный для формирования логирования операций и занесений всех данных по материалу или техники:

INSERT INTO Waybill_content(Nomer, WT, Name_m, Serial, Inventory, SK, Type_m, Shelf_time, Quantity, Notes, Tech, Log) VALUES (@nw, @wt, @name, @serial, @inv, @SK, @Type_m, @sh, @q, @note, @tech, @log)

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

INSERT INTO Skld(ID_m, Quantity, loc) VALUES (@id, @q, @l)

В модуле приема существуют справочники по наименованию и типу техники, и материала. Запросы на выборку и предоставлению данных пользователю имеют вид:

1. Запрос на выборку данных из справочника наименований:

SELECT * FROM Dictionary_m ORDER BY Name_m

2. Запрос на выборку данных из справочника типов:

SELECT * FROM Materials_types ORDER BY Types

Полный код модуля прием представлен в листинг 1.2 в приложении 4.

Модуль для создания накладной по распределению материалов и техники имеет следующие SQL запросы:

1. Создание накладной с номером:

INSERT INTO Waybill(Numbers_w, Date_of, W_T) VALUES(@n, @d, @wt)

2. Поиск номера накладной на наличия существования:

SELECT trade_log.naklad FROM trade_log WHERE (((trade_log.naklad)='" + nomer + "'))

3. Создание записей по предметам с месторасположением:

INSERT INTO Skld(ID_m, Quantity, Loc, waybill, w_t, Status) VALUES(@ID, @Q, @L, @w, @w_t, @st)

4. Обновление остатков склада передаваемых предметов:

UPDATE Skld SET Skld.Quantity = @q WHERE (((Skld.ID)=@i))

5. Добавление лога операций по распределениею:

INSERT INTO trade_log(ID_tech, ID_loc_in, ID_loc_out, kolvo, naklad, ID_new_tech, W_T, Date_of) VALUES(@t, @li, @lu, @kol, @nak, @inte, @wt, @do)

6. Подготовка данных для формирования накладной:

SELECT trade_log.naklad, Waybill_type.W_type, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, trade_log.kolvo, Locations_m.Name_l AS nam, Locations_m.Adres AS adr, Locations_m.tel AS tl, Locations_m.indexes1 AS ind, Loc_t.Types_l AS typ, trade_log.ID_new_tech, trade_log.ID_tech, Locations_m_1.Name_l, Locations_m_1.Adres, Locations_m_1.tel, Locations_m_1.indexes1, Loc_t_1.Types_l, trade_log.Date_of FROM (Loc_t AS Loc_t_1 INNER JOIN Locations_m AS Locations_m_1 ON Loc_t_1.ID = Locations_m_1.Type_l) INNER JOIN ((Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN (Waybill_type INNER JOIN (Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN (Skld INNER JOIN trade_log ON Skld.ID = trade_log.ID_new_tech) ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) ON Waybill_type.ID = Skld.w_t) ON Locations_m.ID = trade_log.ID_loc_in) ON Locations_m_1.ID = trade_log.ID_loc_out WHERE (((trade_log.naklad)='" + N + "'))

Полный код модуля находится в Листинг 1.3 Приложения 4.

Модуль формирования накладной по перемещению имеет следующие SQL запросы:

1. Формирование накладной по перемещению имеет следующий SQL запрос для выборки данных для отчета:

SELECT Move_log.Waybill, Waybill_type.W_type, Skld.ID, Skld.ID_m, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Skld.Quantity, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l, Locations_m_1.Name_l AS name1, Locations_m_1.Adres AS adr1, Locations_m_1.tel AS tel1, Locations_m_1.indexes1 AS ind1, Loc_t_1.Types_l AS typ1, Move_log.Date_of FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN (Waybill_type INNER JOIN (Loc_t AS Loc_t_1 INNER JOIN (Locations_m AS Locations_m_1 INNER JOIN (Loc_t INNER JOIN (Locations_m INNER JOIN (Skld INNER JOIN Move_log ON Skld.ID = Move_log.ID_move) ON Locations_m.ID = Move_log.ID_loc_in) ON Loc_t.ID = Locations_m.Type_l) ON Locations_m_1.ID = Move_log.ID_loc_out) ON Loc_t_1.ID = Locations_m_1.Type_l) ON Waybill_type.ID = Move_log.W_T) ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Move_log.Waybill)='" + N + "'))"

2. При формирование накладной по перемещению производится проверка на совпадение накладных при помощи запроса:

SELECT * FROM Move_log WHERE (((Move_log.Waybill)='" + N + "') AND ((Move_log.W_T)=2))

3. Выборка данных по остаткам на складе:

SELECT Skld.ID, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Skld.Quantity, Waybill_content.Tech, Waybill_content.Shelf_time, Skld.Loc FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Skld.Quantity)>0) AND ((Waybill_content.Tech)=True) AND ((Skld.Loc)=" + ID + ")) ORDER BY Materials_types.Types"

4. Создание логирования операции по перемещению:

INSERT INTO Move_log(Waybill, W_T, ID_move, ID_loc_in, ID_loc_out, Date_of) VALUES(@W, @WT, @IDs, @ID_l1, @ID_l2, @date)

5. Обновление данных по перемещению на складе:

UPDATE Skld SET Skld.Loc = @lc WHERE (((Skld.ID)=@ids))

6. При выборе подразделения происходит заполнение объектов находящихся на складе подразделения, отвечает за такую выборку SQL запрос:

SELECT Locations_m.ID, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l WHERE (((Locations_m.ID)=" + id + "))

Полный код модуля перемещения представлен в Листинг 1.4 приложения 4.

Модуль по формированию акта о списании позволяет списать определенный объект и сформировать акт. Sql запросы для данного модуля представлены ниже:

1. Выборка данных об остатках:

SELECT Skld.ID, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Skld.Quantity)>0) AND ((Skld.Loc)=3))

2. Выборка типов материала или техники:

SELECT Materials_types.ID, Materials_types.Types FROM Materials_types ORDER BY Materials_types.Types

3. Поиск номера акта о списании на наличие совпадения:

SELECT Writeoff_log.Waybill FROM Writeoff_log WHERE (((Writeoff_log.Waybill)='" + N + "'))

4. Создание логирования операции:

INSERT INTO Writeoff_log(Waybill, W_T, ID_m, Date_of, Quantity, prime) VALUES(@w, @wt, @id_m, @d, @q, @p)

5. Обновление данных на складе:

UPDATE Skld SET Skld.Quantity = @q WHERE (((Skld.ID)=@ids))

Полный код представлен в Листинг 1.5 приложения 4.

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

1. Формирование накладной о возврате происходит посредством выборки данных через запрос:

SELECT return_log.Waybiil, return_log.Date_of, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, return_log.quantity, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l, Status_m.Stat, return_log.ID_m, return_log.prime FROM Status_m INNER JOIN ((Locations_m INNER JOIN (Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN (Skld INNER JOIN return_log ON Skld.ID = return_log.ID_m) ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) ON Locations_m.ID = return_log.ID_out) INNER JOIN Loc_t ON Locations_m.Type_l = Loc_t.ID) ON Status_m.ID = return_log.Status WHERE (((return_log.Waybiil)='"+N+"'))";

2. Запрос на загрузку остатков по выбранному местоположению:

SELECT Skld.ID, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Skld.Quantity)>0) AND ((Skld.Loc)=" + Nl + "))";

3. Формирование накладной происходит с проверки на дубль:

SELECT return_log.Waybiil FROM return_log WHERE (((return_log.Waybiil)='"+nomer+"'))

4. Логирование операции возврата:

INSERT INTO return_log(ID_m, quantity, ID_out, Waybiil, W_T, prime, Date_of, Status) VALUES(@IDm, @q, @ido, @w, @wt, @p, @date, @st)

5. Обновление данных о остатках возвращаемого объекта на складе:

UPDATE Skld SET Skld.Quantity = 0, Skld.Status = 4 WHERE (((Skld.ID)=@id))

6. Обновление данных склада:

UPDATE Skld SET Skld.Quantity = @quantity, Skld.Status = 1 WHERE (((Skld.ID)=@id) AND ((Skld.Loc)=3))

Полный код представлен в Листинге 1.6. приложения 4.

В модуле «заявки-открыть» предусмотрена операция открытия заявки на потребность в материале или техники. Данный модуль имеет следующие SQL запросы:

1. Поиск на совпадения номера заявки осуществляет следующий запрос:

SELECT Request_n.Nomer_r FROM Request_n WHERE (((Request_n.Nomer_r)='" + N + "'))

2. Вставка записи с номером заявки и датой осуществляет запрос:

INSERT INTO Request_n(Nomer_r, date_in, Status) VALUES(@num, @date, @wt)

3. Заполнение данных по заявке осуществляет запрос:

INSERT INTO Request_content(Nomer, Name_m, Type_m, Kolvo, prime) VALUES(@n, @nn, @tm, @k, @prime)

4. Формирования заявки для предоставления в отчете:

SELECT Request_n.Nomer_r, Request_n.date_in, Request_type.Status, Dictionary_m.Name_m, Materials_types.Types, Request_content.Kolvo, Request_content.prime, Request_n.date_close FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN ((Request_type INNER JOIN Request_n ON Request_type.ID = Request_n.Status) INNER JOIN Request_content ON Request_n.Nomer_r = Request_content.Nomer) ON Dictionary_m.ID = Request_content.Name_m) ON Materials_types.ID = Request_content.Type_m WHERE (((Request_n.Nomer_r)='"+n+"'))

Полный код модуля представлен в листинге 1.7 приложения 4.

Модуль «На ремонт» предусматривает составление Дефектной ведомости. Данный модуль имеет следующие SQL запросы:

1. Запрос на выборку данных по остаткам на складе:

SELECT Skld.ID, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Skld.Quantity)>0) AND ((Skld.Loc)=3))

2. Поиск ведомости на наличие совпадения:

SELECT Deffect_log.Waybill, Deffect_log.W_T FROM Deffect_log WHERE (((Deffect_log.Waybill)='"+ N +"'))

3. Логирование операции

INSERT INTO Deffect_log(Waybill, W_T, ID_t, Date_of, Status, Prime) VALUES(@w, @wt, @id_m, @d, @st, @p)

4. Обновление статуса материала или техники:

UPDATE Skld SET Skld.Status =@st WHERE (((Skld.ID)=@ids))

5. Формирование отчета «Дефектная ведомость»

SELECT Deffect_log.Waybill, Status_m.Stat, Deffect_log.Date_of, Deffect_log.ID_t, Deffect_log.Prime, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Status_m INNER JOIN (Waybill_content INNER JOIN (Skld INNER JOIN Deffect_log ON Skld.ID = Deffect_log.ID_t) ON Waybill_content.ID = Skld.ID_m) ON Status_m.ID = Deffect_log.Status) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Deffect_log.Waybill)='"+n+"'))

Полный код модуля представлен в листинге 1.8. приложения 4.

Модули отчетов представляет собой формы формирования отчетов.

Модуль «Остатки на складе» представляет собой форму с возможностью поиска и имеет следующие SQL запросы:

1. Формирования отчета:

SELECT Skld.ID, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Waybill_content.Type_m AS typ, Waybill_content.Name_m AS name1 FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Skld.Quantity)>0) AND ((Skld.Loc)=3))

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

Модуль «О сроке годности» представляет пользовательский отчет для формирования данных по срокам годности и имеет следующие SQL запросы:

1. Формирование отчета с истекшим сроком хранения:

SELECT Skld.ID, Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM (Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN ((Materials_types INNER JOIN (Dictionary_m INNER JOIN Waybill_content ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Locations_m.ID = Skld.Loc WHERE (((Waybill_content.Shelf_time)<Now()))

2. Формирование отчета по всем срокам и имеющим остаткам

SELECT Skld.ID, Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM (Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN ((Materials_types INNER JOIN (Dictionary_m INNER JOIN Waybill_content ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Locations_m.ID = Skld.Loc WHERE (((Skld.Quantity)>0))

3. Формирование отчета о сроке годности «на гарантии»:

SELECT Skld.ID, Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM (Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN ((Materials_types INNER JOIN (Dictionary_m INNER JOIN Waybill_content ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Locations_m.ID = Skld.Loc WHERE (((Waybill_content.Shelf_time)>Now()))

Полный код представлен в листинге 2.1 приложения 4.

Модуль формирования отчета по поступлением предоставляет возможность просмотра поступления за определенную дату. Данный отчет имеет следующие SQL запросы:

1. Запрос на данные для формирования отчета

SELECT Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Waybill_content.Quantity, Waybill.Date_of, Waybill_content.ID FROM Materials_types INNER JOIN (Dictionary_m INNER JOIN (Waybill_content INNER JOIN Waybill ON (Waybill_content.Nomer = Waybill.Numbers_w) AND (Waybill_content.WT = Waybill.W_T)) ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m WHERE (((Waybill.Date_of)>=@dn And (Waybill.Date_of)<=@de))

Полный код представлен в листинге 2.2. приложения 4.

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

1. Запрос на формирование данных с конкретным местоположением:

SELECT Skld.ID, Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM (Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN ((Materials_types INNER JOIN (Dictionary_m INNER JOIN Waybill_content ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Locations_m.ID = Skld.Loc WHERE (((Skld.Loc)="+Convert.ToInt32(comboBox1.SelectedValue.ToString())+"))"

2. Запрос на формирование данных по всем местоположениям

SELECT Skld.ID, Waybill_content.Nomer, Dictionary_m.Name_m, Waybill_content.Serial, Waybill_content.Inventory, Waybill_content.SK, Materials_types.Types, Waybill_content.Shelf_time, Skld.Quantity, Skld.Loc, Locations_m.Name_l, Locations_m.Adres, Locations_m.tel, Locations_m.indexes1, Loc_t.Types_l FROM (Loc_t INNER JOIN Locations_m ON Loc_t.ID = Locations_m.Type_l) INNER JOIN ((Materials_types INNER JOIN (Dictionary_m INNER JOIN Waybill_content ON Dictionary_m.ID = Waybill_content.Name_m) ON Materials_types.ID = Waybill_content.Type_m) INNER JOIN Skld ON Waybill_content.ID = Skld.ID_m) ON Locations_m.ID = Skld.Loc

Полный код представлен в листинге 2.3. приложения 4.

2.3.2. Тестирование работы ИС на данных контрольного примера

Порядок установки и запуска системы

Для установки приложение ИС - Информационный склад Лихославльского почтамта, необходимо запустить установочный файл Setup из дистрибутива программы и следовать инструкции программы. Процесс установки продемонстрирован на рисунке 2.1. приложения 5.

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

Именно с этого ярлыка осуществляется запуск ИС. После того, как пользователь запустит первый раз программу, перед ним появится окно представленное на рисунке 2.5.

Рисуно 2.5. Окно входа в программу

Условные обозначения кнопок:

1. Поле для ввода имени пользователя

2. Поле для ввода пароля пользователя

3. Кнопка для выбора базы данных

4. Строка подключения к БД

5. Кнопка входа в программу

6. Кнопка выхода из программы

7. Знак отображения готовности к подключению.

8. Кнопка для отображения символов

Во время запуска может понадобиться настройка программы, как правило, это выбор БД. По умолчанию программа настроена на базу данных находящуюся в папке программы, если необходимо поменять месторасположение БД, то необходимо нажать на кнопку 3, после чего появится диалог выбора БД. Если база выбранная пользователем удовлетворяет условию, то в строке состояния отобразится строка подключения и значок кнопки 7 будет зеленным, как на рисунке 2.5., а если база выбранная пользователем не верна, то строка подключения будет иметь вид, представленный на рисунке 2.6.

Рисунок 2.6. Вид окна входа при неверной БД

Если база выбрана и готова к работе, то пользователь может вводить свой логин и пароль. Для обеспечения удобства при вводе пароля, кнопка 8 может включить отображение символов ввода, или же наоборот скрыть их от посторонних глаз. После ввода имени пользователя и пароля необходимо нажать клавишу «Вход» для перехода в основное меню программы. Если Имя пользователя и пароль неверен, то появится предупреждение, о том, что доступ невозможен. Если же будут введены верные данные, то программа покажет диалоговое окно со служебной информацией представленное на рисунке 2.2. приложения 5. Пароль для доступа по умолчанию: Имя пользователя «Администратор» Пароль «1».

Рисунок 2.7. Основное меню

Главное меню

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

Описание меню:

1. Накладные - предоставляет возможность просмотра накладных.

Состоит из:

2. Заявки - дает доступ пользователю создавать и закрывать заявки в УФПС и составлять дефектные ведомости. Состоит из:

3. Учетная работа - данное меню позволяет вести основную работу по формированию различных видов накладных, состоит из:

4. Настройки - данное меню позволяет работать со справочниками, добавлять пользователей, добавлять наименование материалов или техники, их тип, вести справочники подразделений и их типов. Состоит из:

5. Отчеты - данное меню позволяет формировать отчеты. Состоит из:

Работа со справочниками

Работа со справочниками предусматривает работу с подменю «Настройки» описанные в главе 2.3.2.2. Для того, что бы добавить новое наименование нужно выбрать Настройки-Справочники-Наименования перед пользователем появится окно изображенное на рисунке 2.8.

Рисунок 2.8. Форма справочника наименования

Описание справочника «наименование техники»:

1. Поле для ввода нового наименования.

2. Кнопка добавить позволяет добавить новое наименование.

3. Поле, отображающее уже добавленные наименования, отображая их уникальный номер в БД, а также их имя.

Для того что бы добавить новое название необходимо ввести в поле 1 наименование и нажать кнопку добавить. После добавления, поле 3 обновится и отобразится добавляемое имя. Если название уже существует, программа выдаст сообщение об ошибке Рисунок 2.3 приложения 5, если названия нет в БД, то наименование будет добавлено и пользователь получит сообщение, что все добавлено Рисунок 2.4. приложения 5.

Следующий справочник - это справочник Типов техники или материалов он находится в меню Настройки-Справочники - Тип. После открытия справочника, пользователь увидит форму, представленную на рисунке 2.9.

Рисунок 2.9. Справочник типа техники

Описание справочника «Типа техники или материала»:

1. Поле для ввода нового типа.

2. Кнопка добавить позволяет добавить новый тип.

3. Поле, отображающее уже добавленные типы, отображая их уникальный номер в БД, а также их имя.

Для того что бы добавить новый тип, необходимо ввести в поле 1 наименование типа и нажать кнопку добавить. После добавления, поле 3 обновится и отобразится добавляемый тип. Если тип уже существует, программа выдаст сообщение об ошибке, если типа нет в БД, то тип будет добавлен и пользователь получит сообщение, что все добавлено.

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

Рисунок 2.10. Справочник подразделений

Описание справочника «Подразделение»:

1. Поле для добавления наименования подразделения

2. Поле для добавления почтового индекса отделения

3. Поле для добавления адреса подразделения

4. Поле для добавления телефона подразделения

5. Выбор типа подразделения

6. Кнопка для добавления нового типа подразделения, если нет нужного в списке, данная кнопка так же перезагружает список.

7. Кнопка добавить позволяет ввести новое подразделение.

8. Лист для отображения всех подразделений и полной информации о них.

Для того, что бы добавить новое подразделение необходимо заполнить всю информацию для полей 1, 2, 3, 4, 5. Если не все поля заполнены, после нажатия на кнопку добавить, программа выдаст сообщение об ошибке, и незаполненные поля будут выкрашены в другой цвет, пример на рисунке 2.5. приложения 5. После верного заполнения, добавляемое подразделение запишется в БД и список с подразделениями обновится, Рисунок 2.6. приложения 5. В случае отсутствия нужного типа подразделения, пользователю необходимо добавить тип, нажав на кнопку 6. Перед пользователем появится окно Рисунок 2.7. приложения 5. После того, как пользователь введет название типа, и нажмет кнопку добавить, программа запишет новый тип, или вернет сообщение об ошибке, что данный тип уже существует. Если новый тип будет добавлен, то список 5 будет перезагружен и новый тип появятся в списке.

Рисунок 2.14 Справочник пользователей

Справочник для работы с пользователем представляет собой окно изображенное на рисунке 2.11. и необходимо для добавления нового пользователя. Открыть данное окно можно выбрав Настройки - Пользователи из главного меню. Данное окно предназначено в основном для администратора БД.

Описание справочника:

1. Лист для отображения пользователей

2. Поле для ввода имени пользователя использующего для входа

3. Поле ввода пароля пользователя

4. Кнопка добавления нового пользователя

5. Уровень доступа(пока не используется т.к. программа предназначена для одного пользователя)

6. Кнопка удалить - имеет быструю клавишу Del. Удаляет Выбранного пользователя из списка и БД.

После открытия данного справочника, пользователю отображаются все пользователи, введенные в базу. Пароль пользователя не отображается не кому, и имеет шифрацию MD5. Так же для безопасности Пользователь с ID = 1 не отображается не кому. Если есть необходимость добавить нового пользователя, то пользователь должен заполнить поля 1, 2, 5. В качестве уровня доступа желательно ставить число>1. После нажать на кнопку добавить, если добавляемый пользователь уже существует, то программа выдаст ошибку. Если же часть данных не введена, то поля 1,2, 5 выкрасятся в цвет аналогичный в справочнике «подразделении» при аналогичной ошибке. Что бы удалить пользователя необходимо выделить пользователя в лист 1 и нажать клавишу Del или щелкнуть правой клавишей в лист выбрать клавишу удалить.

Ввод данных с входных документов

Входной документ для склада почтамта является накладная из УФПС - это ТОРГ 13. По данной накладной на склад поступает все материалы и техника. Для того, что бы данные из накладной попали в программу, необходимо, что бы заведующий склада завел полноту информации по данной накладной в программу и сформировал накладную о приеме. Для этой операции заведующий склада должен открыть форму для формирования накладной по приему. Из главного меню он должен перейти «Учетная работа» - «прием». Перед глазами пользователя появится форма, изображенная на рисунке 2.12.

Рисунок 2.12. Форма принятия накладной

Описание формы принятия накладной:

1. Поле для ввода номера накладной

2. Лист для отображения содержания накладной

3. Дата принятия накладной

4. Кнопка, вызываемая при помощи правой кнопки мыши щелкнув по листу 2, так же можно выделить объект из содержания и нажать Del

5. Кнопка открывает форму для добавления информации по материалу или техники.

6. Кнопка формирует накладную и отправляет все принятое на склад почтамта.

Для того, что бы сформировать накладную о приеме, заведующий должен щелкнуть правой клавишей по элементу 2 и выбрать «добавить» или же нажать сочетание клавиш “CTRL + A”. После того, как пользователь нажал кнопку, перед его глазами появится новое окно для добавления информации о техники или материалу изображенная на рисунке 2.13.

Рисунок 2.13. Окно добавления техники или материала

Описание формы добавления материалы или техники:

1. Кнопка справочника наименований.

2. Кнопка для добавления типа техники или материала

3. Поле наименования

4. Список типов

5. Поле для ввода количества

6. Дата гарантии или срок годности техники или материала

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

8. Поле для ввода серийного номера

9. Поле для ввода инвентарного номера

10. Поле для ввода штрих кода

11. Поле для ввода примечания

12. Кнопка для добавления материала или техники к форме о принятии накладной.

13. Выход из формы

Заведующий может начинать ввод информации с любого поля. При вводе наименования пользователю разрешается вводить имя вручную, при добавлении программа сама проверит наличие такого наименования в БД, если не найдет, то она его добавит. Так же пользователь для простаты может использовать справочник, щелкнув на элемент 1. Перед его глазами появится форма, изображенная на рисунке 2.14.

Рисунок 2.14. Справочник наименований

Пользователю достаточно выбрать одно из наименований щелкнув по нему левой кнопкой мыши, например «Acer - V193» присутствующий в списке. После чего в форму добавления в поле «Наименование» добавится выбранное наименование. Далее пользователь должен выбрать тип из списка элемента 4. Если необходимый тип отсутствует, то пользователь должен выбрать элемент формы 2, после чего появится окно для добавления нового типа, рисунок 2.15.

В данной форме пользователю предлагается ввести новый тип, например «монитор» и нажать клавишу «ОК». В случае если тип уже существует, программа выдаст сообщение об ошибке. После чего пользователь попадает в форму добавления техники и материала. Для простаты использования списка, предусмотрен фильтр, например полный список на данный момент представляет собой рисунок 2.8 приложения 5. Если ввести начальную букву то список изменится, например, при вводе первой буквы «Б», список отобразит все типы, начинающие на эту букву рисунок 2.9. приложения 5. После полного заполнения формы, пользователь нажимает клавишу «ОК» и элемент попадает в форму для создания накладной, рисунок 2.10. приложения 5.

Рисунок 2.15. Добавление нового типа

Данная операция повторяется, пока все данные не будут внесены. В случае, если пользователь ввел случайно одинаковый добавляемый объект, то программа выдаст сообщение с ошибкой. После заполнения окно формы добавления материалы и техники можно закрыть, и на форме формирования накладной проверить все ли верно, если найден лишний объект можно выделить и удалить клавишей Del. Если все верно нужно нажать на клавишу «Сохранить». После чего сформируется накладная о приеме рисунок 2.11. приложения 5. В случае неверного заполнения номера пользователю программа покажет сообщение об ошибке, что такая накладная существует.

Распределение входной информации

Для того, что бы распределить или просмотреть входящую информацию, пользователю необходимо выбрать из главного меню «Учетная работа» - «распределение». Пользователю покажется форма для распределения имеющая вид рисунок 2.16.

Рисунок 2.16. Форма распределения

Описание формы распределения:

1. Поле для ввода номера накладной по распределению

2. Дата накладной по распределению

3. Место для передачи

4. Тип передачи

5. Группа элементов для сортировки(фильтра)

6. Лист для отображения техники или материала находящихся на складе

7. Поле для ввода необходимого количества для передачи.

8. Кнопка добавляет количество выбранного объекта из элемента 6 и количество из элемента 7

9. Лист для отображения объектов распределения

10. Кнопка, формирующая данные и сохраняющая все в БД

11. Кнопка позволяющая применить фильтр

Для распределения объектов учета, пользователь должен ввести в элемент 1 номер накладной, выбрать из элемента 2 дату формирования накладной, из элемента 3 выбрать место куда будет передаваться объекты(так же, как и в форме добавления техники, в данном элементе по аналогии можно применить фильтр), из элемента 4 выбрать тип накладной. Если необходимо применить фильтр, то из группы элементов выбрать(поставить галочку) необходимое и нажать применить, например фильтр по типу «Системный блок» изображен на Рисунке 2.12 приложения 5. Далее выбрав необходимый объект из элемента 6, ввести нужное количество и нажать кнопку «добавить». Если введенное количество превышает количество имеющегося на складе, то программа выдаст сообщение об ошибке и изменит поле количество на максимально возможное рисунок 2.13 приложения 5. Если все соответствует условию, то объект будет добавлен в элемент 9. После заполнения данной формы, пользователь нажимает кнопку «Сформировать», после чего формируется накладная о распределении рисунок 2.14. приложения 5. Если номер накладной уже будет присутствовать в БД, то программа выдаст сообщение об ошибке, что данный номер существует.

Создание накладной о внутреннем перемещении

Для перемещения материалов или техники с одного подразделение в другое, необходимо из главного меню выбрать «Учетная работа» - «Перемещение». После чего пользователю будет доступна форма для перемещения, представленная на рисунке 2.17.

Описание формы распределения:

1. Место откуда передается техника или материал

2. Место куда передается техника или материал

3. Информация о месте, откуда передается

4. Информация о месте, куда передается

5. Лист о техники и материале находящихся в месте откуда передается

6. Поле для заполнения номера накладной

7. Дата накладной

8. Лист для объектов распределения

9. Кнопка для формирования

10.

Рисунок 2.17. Форма для распределения

Пользователю необходимо при помощи элементов 1 и 2 выбрать место откуда и куда передается техника или материал. После выбора месторасположения из элемента 1, пользователю будут доступны объекты находящиеся в выбранном месте(если действительно есть, и были распределены). На рисунке 2.17 видно, что в подразделении «Барановка» Находятся два объекта - это принтер и системный блок. Что бы их передать в Информационный отдел, необходимо выбрать нужный объект из элемента 5 и щелкнуть дважды по объекту. После операции выбранный объект исчезнет из листа 5 и добавится в элемент 8. После того как все данные будут введены, пользователь нажимает кнопку сформировать и получает накладную о внутреннем перемещении рисунок 2.17 приложения 5, если такая накладная есть, то пользователь получает сообщение о ошибке, что такая накладная существует.

Накладная на возврат

Для того, что бы вернуть необходимый объект учета, пользователю необходимо из главного меню перейти в «Учетная работа» - «Возврат на склад» после чего, ему будет доступна форма для возврата рисунок 2.18.

Рисунок 2.18. Форма возврата на склад

Описание формы возврата на склад:

1. Поле номера накладной

2. Поле даты накладной

3. Список месторасположения(возможен фильтр по вводу первой буквы)

4. Панель сортировки

5. Лист для отображения техники и материалов в выбранном месторасположении

6. Кнопка для применения выбранных фильтров

7. Поле для ввода причины возврата

8. Кнопка для возврата выбранного объекта из элемента 5

9. Лист для отображения объектов возврата

10. Кнопка для формирования накладной для возврата

Как и в других формах, пользователю требуется ввести номер накладной и дату, если при формировании накладной, номер введенный пользователей будет уже существовать, то программа выдаст сообщение об ошибке. Выбрав местоположения техники или материала с помощью элемента 3, пользователю отобразятся в элементе 5, вся техника и материалы, находящиеся в выбранном мест, аналогичной метод заполнения используется и в форме перемещения. После пользователю необходимо кликом левой мыши выбрать возвращаемый элемент(если список очень большой, то можно применить фильтр, который аналогичен фильтру из раздела 2.3.2.2.1.) и указать причины возврата и щелкнуть кнопку «возвратить». После проделанной операции в элемент 9, добавится объект для возврата. Как все данные будут добавлены, пользователь нажимает на кнопку «сформировать» и получает накладную о возврате рисунок 2.18. приложения 5.

Акт о списании

Для формирования акта о списании по каким либо причинам, пользователю необходимо перейти из главного меню «Учетная работа» - «Списание», после чего пользователю будет доступна форма списания рисунок 2.19.

Описание формы списания:

1. Поле для ввода номера накладной

2. Выбор даты накладной

3. Группа элементов для сортировки

4. Кнопка для применения выбранных элементов сортировки

5. Лист для отображения объектов учета

6. Поле для ввода причины списания

7. Добавить выбранный объект в лист для списания

8. Лист объектов для списания

9. Кнопка, формирующая Акт о списании

Рисунок 2.19. Форма Списания

Как и в других формах, пользователю требуется ввести номер накладной и дату, если при формировании акта о списании, номер, введенный пользователем будет уже существовать, то программа выдаст сообщение об ошибке. Элементы для сортировки работают аналогично, как и другие элементы описанные выше. Особенность данной формы является, то, что необходимо, что бы объект учета был возвращен на склад. После того, как пользователь выбрал объект учета, он должен ввести причины списания и щелкнуть кнопку «списать», пример заполненной формы перед формированием Акта о списании рисунок 2.19 приложения 5. После клика по кнопке сформировать, пользователю формируется акт о списании рисунок 2.20 приложения 5.

Формирование отчетов

Формирование отчетов происходит в модуле «Отчеты» доступный из главного меню.

Отчет «остатки на складе»

Для того, что бы сформировать отчет «остатки на складе» необходимо выбрать из главного меню «отчеты»-«остатки на складе». Перед пользователем появится окно для формирования данного отчета рисунок 2.20.

Рисунок 2.20. Окно формирования отчета

Пользователю предлагается выбрать условия для сортировки. Это нужно для формирования отчета по конкретным видам материалов и техники. Если такой необходимости нет, то оставить все элементы сортировки пустыми и нажать кнопку применить, получим отчет изображенный на рисунке 2.21. приложения 5. Пример отчета с включенной сортировкой по Типу «Монитор» изображен в приложении 5 рисунок 2.22.

2.3.2.2.1. Отчет о сроке годности

Для того, что бы сформировать отчет о сроке годности, пользователю необходимо выбрать из главного меню «Отчеты» - «О сроке годности». После чего пользователю будет доступна форма изображенная на рисунке 2.21.

Рисунок 2.21. Форма для отчета о сроке годности

В этой форме пользователю предлагается выбрать условия для формирования отчета, если выбрать «истекшие» то отчет будет вида рисунок 2.23 приложения 5., с примененным фильтром «все» рисунок 2.24. приложения 5, а «на гарантии» отображен отчет на рисунке, 2.25 приложения 5.

Отчет о поступлениях

Для формирования отчета о поступлениях, пользователю необходимо выбрать из главного меню «Отчеты» - «поступления». После чего пользователю откроется форма рисунок 2.22.

Рисунок 2.22. Форма для формирования отчета о поступлении

Что бы сформировать отчет, пользователь должен выбрать начальный период и конечный, и нажать кнопку сформировать, пример формирования отчета от 8 июня 2013, до 12 июня 2013 рисунок 2.26. приложения 5.

Отчет о местонахождении

Для формирования отчета о местонахождении, пользователь должен перейти из главного меню в «отчеты» - «Местоположение». После чего отобразится форма для формирования отчета рисунок 2.23.

Рисунок 2.23. Форма для отчета о местоположении

Для того, что бы отобразить отчет без отбора по всем подразделения, то галочку напротив «Выберите отделение» не нужно ставить и сразу нажать клавишу сформировать рисунок 2.27 приложения 5. Для того, что бы отобразить отчет без отбора по всем подразделения, то галочку напротив «Выберите отделение» не нужно ставить и сразу нажать клавишу сформировать рисунок 2.28 приложения 5.

2.4. Расчет надежности информационной системы

Блок схема работы программы представлена на рисунке 3.1.50. Блок схема построена на движении одного конкретного объекта учета. При таком подходе легче составить схему спроектированной ИС.

Рисунок 2.24. Блок схема работы ИС

Тестирование программы проводилось в течении 20 часов, результаты тестирование указаны в таблице 2.4.

Таблица 2.4. Показатели тестирования разработанной ИС

Модуль

Время

Отказ

Причина

Прием

-

-

-

Накладная о приеме

-

-

-

О приеме

-

-

-

Распределение

-

-

-

Перемещение

-

-

-

Накладная о перемещении

-

-

-

Списание

6

1

Аппаратная ошибка

Акт о списании

6

1

Аппаратная ошибка

Возврат на склад

-

-

-

Накладная о возврате

-

-

-

Оставшиеся отчеты

6

1

Аппаратная ошибка

Вероятность безотказной работы (ВБР) будем рассчитывать как деление объектов исправно работающих в промежутке времени на число объектов в начале испытаний.

P=l-лt (1.1.)

Q(t) = 1-P(t) (1.2.)

(1,3)

(1.4)

3. Обоснование экономической эффективности

3.1 Выбор и обоснование методики расчёта экономической эффективности

ОСП Лихославльский почтамт осуществляет почтовые услуги на территории Тверской области, а именно в Лихославльском районе включая в себя 24 отделения почтовой связи. Основные функции, которого полностью расписано в 1 главе дипломного проекта.

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.