Курсовая создание магазина АИС в Делфи. Переработанная курсовая АИС компьютерный магазин в делфи 25марта. Курсовая работа по теме Создание модуля Автоматизированной ис для магазина по продаже компьютерной техники
Скачать 1.45 Mb.
|
2.4.Структура входящей информацииВ разделе Нормативно-справочная информация размещаются справочники, которые необходимы для проведения учетных операций в компании. В справочниках сохраняется информация для многократного использования, так же предусмотрена вероятность дополнения, удаления и редактирования хранящихся данных. Справочники можем разделить на главные, которые используются при оформлении бизнес операций, и дополнительные, которые призваны для ускорения и облегчения ввода информации. В этих дополнительных справочниках находятся базовые классификаторы, которые содержат информацию по общероссийским классификаторам. Произведем описание справочников. Справочник сотрудники предназначен для хранения информации о сотрудниках предприятия. Справочник состоит из следующих реквизитов: КодСотрудника; Наименование; Пометка/Удаление. Справочник клиенты предназначен для хранения информации о всех клиентах которые сотрудничают с предприятием. Справочник состоит из следующих реквизитов: КодКлиента; Наименование клиента; ИНН; Адрес; Телефон; Почта; Пометка/Удаление. Справочник номенклатура хранит все данные о характеристиках номенклатуры. Справочник состоит из следующих реквизитов: Код; Наименование; ЭтоГруппа; Руководитель; Пометка/Удаление. В программе предусмотрен сервис обновления данных в базовых классификаторах из внешних источников. Основные справочники системы описывают структуру торгового предприятия и реализуемой номенклатуры. 2.5.Структура выходных данныхВыходная информация - это информация, полученная на основе входной информации. Выходная документация включает сводные данные, полученные в результате автоматизированной обработки. Третий этап технологического процесса обработки информации - Основной этап - является завершающим этапом работы с программой и связан с получением полной достоверно сформированной информацией.[8] Отчеты предназначены для вывода информации из базы данных. Состав отчета: У любого отчета в системе есть экранная форма - Диалог, который пользователь видит на экране. В диалоге пользователь обычно задает параметры формирования отчета, например, период времени. Также у отчета обычно есть одна или несколько бумажных форм - Таблиц. С помощью таблиц отчет печатается на бумаге. Алгоритм формирования отчета записывается в модуле отчета на встроенном языке. 2.6. Проектирование базы данныхДля построения базы данных была выбрана СУБД MS Access, т.к. в компании уже используют Microsoft Office, а использование другого ПО приведет к дополнительным расходам. MS Access – это полнофункциональное приложение с оптимизированной структурой данных и полным набором необходимых таблиц, форм, запросов и отчетов. Схема данных разработана в Access 2003 (рисунке 12). Рисунок 12 Структура базы данных Рисунок 13 Разработка таблицы поставщики Рисунок 14 Разработка таблицы Поступление товаров Рисунок 15 Разработка таблицы Продажа товаров Рисунок 16 Разработка таблицы Сотрудники Рисунок 17 Разработка таблицы Товары 2.7. Разработка программыРисунок 18 Разработка программы Исходный код программы: «Данная часть кода производит Оглавление системных модулей» unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids, DBCtrls, RpCon, RpConDS, RpDefine, RpRave; Type «Данная часть кода производит Оглавление глобальных переменных программы» TForm1 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; PanelTovari: TGroupBox; Panel1: TPanel; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADOTable1: TADOTable; DataSource1: TDataSource; ADOTable2DSDesigner: TAutoIncField; ADOTable2DSDesigner2: TWideStringField; ADOTable2DSDesigner3: TWideStringField; ADOTable2DSDesigner4: TWideStringField; ADOTable4DSDesigner: TAutoIncField; ADOTable4DSDesigner2: TIntegerField; ADOTable4DSDesigner3: TIntegerField; ADOTable4DSDesigner4: TIntegerField; ADOTable4DSDesigner5: TIntegerField; ADOTable4DSDesigner6: TIntegerField; ADOTable4_: TStringField; ADOTable4_2: TStringField; ADOTable4_3: TStringField; DataSource5: TDataSource; ADOTable5: TADOTable; PanelProdaza: TGroupBox; Panel5: TPanel; Button3: TButton; Button4: TButton; DBGrid5: TDBGrid; ADOTable5DSDesigner: TAutoIncField; ADOTable5DSDesigner2: TIntegerField; ADOTable5DSDesigner3: TIntegerField; ADOTable5DSDesigner4: TIntegerField; ADOTable5DSDesigner5: TIntegerField; ADOTable5_: TStringField; ADOTable5_2: TStringField; RvProject1: TRvProject; RvDataSetConnection1: TRvDataSetConnection; ADOTable1DSDesigner: TAutoIncField; RvProject2: TRvProject; RvDataSetConnection2: TRvDataSetConnection; RvProject3: TRvProject; RvDataSetConnection3: TRvDataSetConnection; ADOTable4DSDesigner7: TDateTimeField; ADOTable5DSDesigner6: TDateTimeField; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2, Unit3; {$R *.dfm} procedure TForm1.N2Click(Sender: TObject); begin PanelTovari.BringToFront; end; procedure TForm1.N3Click(Sender: TObject); begin PanelSotrudniki.BringToFront; end; procedure TForm1.FormCreate(Sender: TObject); begin PanelTovari.BringToFront; «Данная часть кода производит открытие таблиц базы данных» ADOConnection1.Open; ADOTable1.Open; ADOTable2.Open; ADOTable3.Open; ADOTable4.Open; ADOTable5.Open; end; procedure TForm1.N4Click(Sender: TObject); begin PanelPostavhiki.BringToFront; end; procedure TForm1.N6Click(Sender: TObject); begin PanelPostuplenie.BringToFront; end; procedure TForm1.Button1Click(Sender: TObject); begin Form2.ShowModal; end; procedure TForm1.Button2Click(Sender: TObject); begin if MessageDlg('Удалить документ?', mtConfirmation, mbOKCancel, 0) = mrOk then begin «Данная часть кода производит подключение к базе данных» ADOTable1.Locate('Код', ADOTable4.FieldByName('Товар').AsInteger, [loCaseInsensitive, loPartialKey]); ADOTable1.Edit; ADOTable1.FieldByName('Количество приход').AsInteger:= ADOTable1.FieldByName('Количество приход').AsInteger-ADOTable4.FieldByName('Количество').AsInteger; ADOTable1.FieldByName('Остаток').AsInteger:= ADOTable1.FieldByName('Остаток').AsInteger-ADOTable4.FieldByName('Количество').AsInteger; ADOTable1.Post; ADOTable4.Delete; end; end; procedure TForm1.Button3Click(Sender: TObject); begin Form3.ShowModal; end; procedure TForm1.Button4Click(Sender: TObject); begin «Данная часть кода производит обработку базы данных» if MessageDlg('Удалить документ?', mtConfirmation, mbOKCancel, 0) = mrOk then begin ADOTable1.Locate('Код', ADOTable5.FieldByName('Товар').AsInteger, [loCaseInsensitive, loPartialKey]); ADOTable1.Edit; ADOTable1.FieldByName('Количество расход').AsInteger:= ADOTable1.FieldByName('Количество расход').AsInteger-ADOTable5.FieldByName('Количество').AsInteger; ADOTable1.FieldByName('Остаток').AsInteger:= ADOTable1.FieldByName('Остаток').AsInteger+ADOTable5.FieldByName('Количество').AsInteger; ADOTable1.Post; ADOTable5.Delete; end; end; procedure TForm1.N7Click(Sender: TObject); begin PanelProdaza.BringToFront; end; procedure TForm1.N12Click(Sender: TObject); begin Close; end; procedure TForm1.N9Click(Sender: TObject); begin RvProject1.Execute; end; procedure TForm1.N10Click(Sender: TObject); begin RvProject2.Execute; end; procedure TForm1.N11Click(Sender: TObject); begin RvProject3.Execute; end; end. |