Файл: Диплом ИС учета заказов на выполнение работ и формированию отчетной документации БТИ.doc
Добавлен: 15.11.2018
Просмотров: 2777
Скачиваний: 31
Таблица 2 - Описание таблицы «Квитанция» (Kvit)
№ п/п |
Имя |
Тип |
Размер |
Описание |
1 |
Codz |
Длинное целое |
4 |
Код заказа |
2 |
Codk |
Целое |
2 |
Код квитанции |
3 |
Data |
Дата/время |
8 |
Дата выписки |
4 |
Sum |
Двойное с плавающей |
8 |
Сумма |
5 |
Dataop |
Дата/время |
8 |
Дата оплаты |
6 |
Vidop |
Текстовый |
6 |
Тип оплаты |
Таблица 3 -Описание таблицы «Протокол» (prot)
№ п/п |
Имя |
Тип |
Размер |
Описание |
1 |
CODZ |
Двойное с плавающей |
8 |
Код заказа |
2 |
DATAZ |
Дата/время |
8 |
Дата заказа |
3 |
DATA |
Дата/время |
8 |
Дата операции |
4 |
TIM |
Дата/время |
8 |
Время операции |
5 |
PRIM |
Текстовый |
20 |
Примечание |
Таблица 4 -Описание таблицы «Услуги в заказе» (RabInZak)
№ п/п |
Имя |
Тип |
Размер |
Описание |
1 |
Codz |
Длинное целое |
4 |
Код заказа |
2 |
Nn |
Целое |
2 |
№ п/п |
3 |
CodRab |
Целое |
2 |
Код услуги |
4 |
SumAv |
Двойное с плавающей |
8 |
Сумма услуги |
5 |
Ispoln |
Текстовый |
20 |
ФИО исполнителя |
6 |
Dataz |
Дата/время |
8 |
Дата заказа услуги |
7 |
Data |
Дата/время |
8 |
Дат выполнения услуги |
8 |
Codk |
Целое |
2 |
Код квитанции |
Таблица 5 - Описание таблицы «Работники» (Rabotnik)
№ п/п |
Имя |
Тип |
Размер |
Описание |
1 |
FIORabotnika |
Текстовый |
30 |
ФИО работника |
Таблица 6 - Описание таблицы «Услуги» (RabV)
№ п/п |
Имя |
Тип |
Размер |
Описание |
|
CODR |
Целое |
2 |
Код услуги |
|
NAMR |
Текстовый |
30 |
Наименование услуги |
|
SUM_A |
Двойное с плавающей |
8 |
Сумма услуги |
2.1.4 Характеристика результатной информации
2.1.4.1 Описание результатной информации
Важнейшей формой вывода сводных данных для пользователя по-прежнему остаются бумажные носители, получаемые на печатных устройствах. В нашем случае разрабатываемая АИС отдела приема заказов формирует ряд бумажных документов, необходимых для деятельности БТИ. С учетом формализации задач можно выделить следующие документы:
1. Одним из основных документов является бланк заказа, который является юридическим документом, определяющим отношения заказчика и БТИ. Данный документ включает в себя основные реквизиты заказа и услуг в заказе (табл. 7)
Таблица 7 - Описание документа «Заказ»
Раздел отчета |
Название реквизита |
Значение |
Шапка отчета
|
Название |
«Заказ № ____» |
Наименование предприятия |
МУП Сергиево Посадское БТИ |
|
Дата |
Таблица «Заказ» |
|
ФИО |
Таблица «Заказ» |
|
Документ |
Таблица «Заказ» |
|
Населенный пункт |
Таблица «Заказ» |
|
Сельский округ |
Таблица «Заказ» |
|
Улица |
Таблица «Заказ» |
|
Дом |
Таблица «Заказ» |
|
Корпус |
Таблица «Заказ» |
|
Квартира |
Таблица «Заказ» |
|
Сумма заказа |
Таблица «Заказ» |
|
|
|
|
Табличная часть
|
№ п/п |
Таблица «Услуга в заказе» |
Наименование услуги |
Таблица «Услуга в заказе» |
|
Стоимость |
Таблица «Услуга в заказе» |
|
Итоговая часть |
Всего сумма |
Таблица «Заказ» |
Принял заказ |
Таблица «Заказ» |
2. В целях обеспечения анализа работы БТИ необходимо знание сумм и количества услуг, по каждому виду услуг. Отчет формируется только после оформление заказа и оплаты его клиентом, также данный отчет может выполняться для прошедших месяцев (табл. 8).
Таблица 8 - Описание отчета
Раздел отчета |
Название реквизита |
Значение |
Шапка отчета
|
Название |
«Ведомость по заказанным услугам» |
Период |
Задает пользователь |
|
Начало групп |
Заголовок группы 1 уровня |
Название услуги (таблица «услуги») |
Табличная часть |
№ п/п |
Номер по порядку (формируется для каждой группы) |
Название услуги |
«Наименование услуги» |
|
Количество |
Количество услуг |
|
Сумма |
Сумма в рублях |
|
Завершение групп |
Сумма по услугам
|
Сумма по виду услуг |
Итоговая часть |
Суммарные значения табличных показателей |
|
|
Менеджер |
Фамилия менеджера, дата составления отчета |
4. Отчет по выполненным услугам работниками.
Период отчета – календарный месяц. Отчет выполняется по работникам. В основе отчета находятся таблицы «Заказ», «Услуга в заказе», «Работник» . Структура отчета приведена в (табл. 11)..
Таблица 11 - Описание отчета
Раздел отчета |
Название реквизита |
Значение |
Шапка отчета
|
Название |
«Итоговый отчет за (период)» |
Табличная часть
|
№ п/п |
Номер по порядку (формируется для каждой группы) |
Название услуги |
«Наименование услуги» |
|
Количество |
Значение тарифа (таблица «Тарифы») |
|
Сумма |
Сумма в рублях |
|
Итоговая часть |
|
Дата составления |
2.1.5. Используемые классификаторы
Работа бухгалтера по начислению платы за жилье и коммунальные услуги не связана с использованием общегосударственных классификаторов.
Вместе с тем, для обеспечения реализации запросов к нескольким таблицам и взаимоувязывания данных необходимо кодирование внутренней информации. В соответствии с инфологической и даталогической моделью АИС должна включать следующие коды:
CODZ – номер заказа, формируется автоматически;
CODR – код услуги, формируется автоматически;
Codk – код квитанции, формируется автоматически;
Формирование данных кодов обусловлено возможностью присвоения типу поля – счетчик, после чего Access будет присваивать уникальное значение полю при добавлении новой записи.
2.2. Программная реализация комплекса задач
2.2.1. Схема взаимосвязи программных модулей и ее описание
Программное обеспечение должно обеспечить автоматизированное решение выявленных задач сектора оплаты за жилье и коммунальные услуги. С учетом выбранной технологии – использования диалогового интерфейса программа должна состоять из основных функциональных блоков, обеспечивающих решение задач. Следовательно, программа должна включать следующие компоненты:
Блок работы с информацией о заказе – основная задача – ввод, просмотр и корректировка данных о заказе. Для обеспечения удобной работы данная форма должна вызываться несколькими способами:
а) на основании номера;
б) на основании фамилии.
Данной формы может вызываться в режиме просмотра (редактирования) имеющегося заказа или в режиме ввода нового. При работе с формой должна обеспечиваться возможности распечатки заказа и квитанций.
Другим важным блоком программы является блок составления отчетов. В соответствии с общепринятым интерфейсом данный блок должен представлять группу команд меню, содержащую команды для вызова соответствующих отчетов. Для каждого отчета могут задаваться свои параметры, по умолчанию отчет выполняется за текущий рабочий месяц.
Важным блок любой информационной программы, оперирующей с базами данных, является использование разнообразных справочников. Компонент работы со справочниками в общем должен обеспечивать следующие функции: удобный просмотр, поиск нужной информации; корректировка данных.
Следующим функциональным блоком является блок, содержащий сервисные функции. В данный блок должны входить следующие процедуры:
установка рабочего периода;
архивирование/восстановление БД;
переиндексация данных.
С учетом, что разрабатываемая система является частью содержи важную экономическую информацию предприятия, а также личные данные граждан, следовательно необходимо наличие средств защиты от несанкционированного доступа. К данным средства относятся меры как организационного характера (контроль за доступом к компьютеру, контроль за копированием информации), так и необходимо наличие программных средств защиты. В общем случае эта задача решается необходимостью ввода пароля при загрузке программы. Также, целесообразным является ведение протокола работы программы. В данный протокол заносится информация об изменения информационной базы. В последующем ответственный за информацию может просматривать сделанные изменения.
Общая структура программы можно описать следующими основными блоками см. рис. 7.
Основным связующим элементом разрабатываемой АИС является система меню, состоящего из главного меню и подменю.
Главное меню:
ОПЕРАЦИИ
Ввод нового заказа.
Просмотр заказов.
Поиск заказов.
Рисунок 7 - Укрупненная блок-схема программы
СПРАВОЧНИКИ
Услуги.
Работники.
ОТЧЕТЫ
Отчет по услугам.
Отчет по работникам.
СЕРВИС
Архивировать базу
Восстановить базу
Переиндексировать
ВЫХОД
Данные команды меню вызывают соответствующие процедуры выполнения целевых задач.
2.2.2 Описание основных модулей
1. Модуль работы с заказами.
В целях обеспечения решения всех задач при работе с заказами указанный были разработаны следующие формы:
«Журнал заказов» - форма обеспечивающая просмотр списка заказов. Построена на основе таблице заказ, имеет ленточный тип (рис. 8).
Рисунок 8 – Форма «Журнал заказов»
Для обеспечения работы с конкретным заказом разработана сложная (с подчиненной частью) форма, основой которой является таблица «Заказ». Подчиненная часть строится на основе запроса обеспечивающего вывод информации из таблиц «Услуга» и «Услуга в заказе». Использование запроса обеспечивает возможность автоматического ввода стоимости услуги при выборе соответствующего названия. Ниже приведена SQL форма указанного запроса:
SELECT RabInZak.Codz, RabInZak.Nn, RabInZak.CodRab, RabInZak.SumAv, RabInZak.Ispoln, RabInZak.Dataz, RabInZak.Data, RabInZak.Codk, RabV.SUM_A
FROM RabV INNER JOIN RabInZak ON RabV.CODR = RabInZak.CodRab;
Для поля «код услуги» таблицы «Услуга в заказе» используется механизм постановки, реализуемый средствами Access. Настройки подстановки приведены на рисунке 9.
Рисунок 9 – Настройки подстановки
Для обеспечения автоматического ввода стоимости услуги для поля «Код услуги» определена процедура обработки события «После обновления», содержащее следующий код:
Private Sub CodRab_AfterUpdate()
SumAv = SUM_A
End Sub
Внешний вид формы заказ приведен на рис. 10.
Рисунок 10 – Внешний вид формы для работы с заказом
Для обеспечения автоматического пересчета стоимости заказа реализован набор запросов:
1. Запрос на создание таблицы, обеспечивающий суммирование стоимости услуг, SQL форма:
SELECT RabInZak.Codz, Sum(RabInZak.SumAv) AS SumZak INTO Temp
FROM RabInZak
GROUP BY RabInZak.Codz
HAVING (((RabInZak.Codz)=[Forms]![ZakazDoc]![CODZ]));
2. Запрос на обновление, выполняющий обновление суммы заказа из временной таблицы, SQL форма:
UPDATE Temp INNER JOIN Zakaz ON Temp.Codz = Zakaz.CODZ SET Zakaz.SUM_Z = [SumZak];
Указанные запросы выполняются в рамках макроса «RashSumZak», структура которого приведена в таблице 12.
Таблица 12
Макрокоманда |
Аргумент |
Значение |
SetWarnings |
Включить сообщения: |
Нет |
OpenQuery |
Имя запроса: |
RashSumZak |
Режим: |
Таблица |
|
Режим данных: |
Изменение |
|
OpenQuery |
Имя запроса: |
ObnovlSumZak |
Режим: |
Таблица |
|
Режим данных: |
Изменение |
|
SetWarnings |
Включить сообщения: |
Да |
Для обеспечения возможности распечатки заказа средствами Microsoft Access разработан отчет, основой которого является запрос, обеспечивающий выборку только тех записей, которые связаны с просматриваемым в данный момент заказом:
SELECT Zakaz.CODZ, Zakaz.DATA, Zakaz.DOC, Zakaz.FIO, Zakaz.NASPU, Zakaz.S_OKR, Zakaz.YL, Zakaz.DOM, Zakaz.KOR, Zakaz.KV, Zakaz.PRIN, Zakaz.SUM_Z, RabInZak.Nn, RabInZak.CodRab, RabInZak.SumAv, RabInZak.Dataz
FROM Zakaz INNER JOIN RabInZak ON Zakaz.CODZ = RabInZak.Codz
WHERE (((Zakaz.CODZ)=[Forms]![ZakazDoc]![CODZ]));
2. Модуль для работы со справочниками.
Работа со справочниками предусматривает использование формы списка с ленточным типом вывода информации, с которой обеспечивается переход к одиночной формой, реализующей работу с отдельной записью.
На рисунке 11 представлена форма для работы со списком услуг. Указанная форма разработана на основе мастера Access. В примечании формы размещены кнопки, обеспечивающие переход по записям, добавление, удаление записей, поиск информации. Указанные функции реализованы также с использованием мастеров Access.
Рисунок 11 – Форма «Справочник услуг»
Аналогичным образом реализована работа со справочником работников.
3. Модуль формирования отчетов
Алгоритм решения задачи по формированию всех отчетов в общем является однотипным (рис. 12). Для активизации режима формирования отчета используется соответствующая команда меню ОТЧЕТЫ.
При выборе команды меню ОТЧЕТЫ пользователю предлагается выбрать вид отчета, определить исходные параметры и нажать на кнопку формирования отчета, при этом активизируется определенный отчет БД Access, который в свою очередь открывает необходимые запросы, производится подсчет соответствующих значений и вывод их на экран или на принтер.
Рисунок 12 - Обобщенный алгоритм формирования отчетов
Для обеспечения возможности выбора периода отсчета создана форма, содержащая два поля ввода, настроенные для ввода значений типа дата, т.е. в свойстве маска ввода установлено значение - 00.00.0000;0;_. Для формирования отчета по услугам создан соответствующий запрос на выборку:
SELECT RabInZak.CodRab, Count(Zakaz.CODZ) AS Количество, Sum(Zakaz.SUM_Z) AS Сумма
FROM Zakaz INNER JOIN RabInZak ON Zakaz.CODZ = RabInZak.Codz
WHERE (((Zakaz.DATA) Between [Forms]![FormOthet]![DatNah] And [Forms]![FormOthet]![DataKon]))
GROUP BY RabInZak.CodRab
ORDER BY RabInZak.CodRab;
В указанном запросе обеспечение возможности выбора данных за определенный период обеспечивается оператором: Between [Forms]![FormOthet]![DatNah] And [Forms]![FormOthet]![DataKon])), где DatNah – ссылка на поле для ввода даты начала периода, DatKon – ссылка на поле для ввода даты окончания периода выбора.
Для формирования отчета по работникам разработаны два запрос, одни для вывода сводной информации:
SELECT RabInZak.Ispoln, Count(Zakaz.CODZ) AS Количество, Sum(Zakaz.SUM_Z) AS Сумма
FROM Zakaz INNER JOIN RabInZak ON Zakaz.CODZ = RabInZak.Codz
WHERE (((Zakaz.DATA) Between [Forms]![FormOthet]![DatNah] And [Forms]![FormOthet]![DataKon]))
GROUP BY RabInZak.Ispoln
ORDER BY RabInZak.Ispoln;
Второй отчет обеспечивает вывод развернутой информации по работникам и услугам:
SELECT RabInZak.Ispoln, RabInZak.CodRab, Count(Zakaz.CODZ) AS Количество, Sum(Zakaz.SUM_Z) AS Сумма