Курсовая создание магазина АИС в Делфи. Переработанная курсовая АИС компьютерный магазин в делфи 25марта. Курсовая работа по теме Создание модуля Автоматизированной ис для магазина по продаже компьютерной техники
![]()
|
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. |