Автор: Пользователь скрыл имя, 06 Апреля 2013 в 09:44, курсовая работа
При создании СУБД нужно четко знать:
- Задачи склада?
Склад занимается поставками товара различных фирм в торговые точки или фирменные магазины.
- Откуда берется товар?
Весь товар хранится на складе, куда его периодически завозят фирмы-производители.
- Кто покупает и реализует товар, полученный со склада?
Существуют клиенты – магазины или люди, которые реализуют товар за определенную цену (её клиент устанавливает в зависимости от дефицита товара или спроса на товар).
- Кто на складе занимается договорами?
Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Технический проект . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Программирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Руководство пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Руководство программиста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Список использованой литератури . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
FormSklad.QueryContract.Open;
pay:=FormSklad.QueryContract.
delivery:=FormSklad.
kol:=FormSklad.QueryContract.
goods:=FormSklad.
ShowContract;
if pay then {если товар уже оплачен, нельзя отменить заказ}
begin
MessageDlg('Невозможно
exit;
end;
if delivery then {если
товар доставлен, нельзя
begin
MessageDlg('Невозможно
отменить заказ, так как он уже отгружен!',mtWarning,[mbOK],0)
exit;
end;
if MessageDlg('Вы
уверены, что желаете отменить
заказ?',mtWarning,[mbOK,
{Отмена заказа}
FormSklad.QueryContract.Close;
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.
{Сохраняем сколько
данного товара в данный
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
{Изменяем количество товара на складе, т.е. возвращаем заказанный товар на склад}
FormSklad.QueryGeneralSklad.
kol:=IntToStr(StrToInt(kol)+
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.ShowGeneralSklad;
ShowContract;
end;
procedure TFormContract.BitBtn2Click(
begin
FormEditContract.ShowModal;
end;
procedure TFormContract.
begin
nowID:=FormSklad.
end;
procedure TFormContract.
Shift: TShiftState);
begin
nowID:=FormSklad.
end;
procedure TFormContract.BitBtn3Click(
begin
fDeliver:=' and c.Delivery=False';{Включаем фильтрацию по не доставленным товарам}
ShowContract;
end;
procedure TFormContract.BitBtn4Click(
begin
fPay:=' and c.Pay=False';{Включаем фильтрацию по не оплаченным товарам}
ShowContract;
end;
procedure TFormContract.BitBtn5Click(
begin
fPay:='';
fDeliver:='';
fClient:='';
ShowContract;
BitBtn6.Enabled:=true;
end;
procedure TFormContract.BitBtn6Click(
begin
BitBtn6.Enabled:=false;{
end;
procedure TFormContract.ComboBox1Change(
begin
if BitBtn6.Enabled then exit;{если
признак фильтрации по
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
fClient:=' and Client='+FormSklad.
{Включение фильра по заданному клиенту}
ShowContract;
end;
procedure TFormContract.FormClose(
var Action: TCloseAction);
begin
FormSklad.ShowGeneralSklad;
end;
end.
Переменные и процедуры модуля
unit UnitAddContract;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, UnitSklad, UnitContract;
type
TFormAddContract = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Edit1: TEdit;
ComboBox3: TComboBox;
Edit2: TEdit;
ComboBox4: TComboBox;
procedure ShowEnterprise;
procedure ShowNameGoods;
procedure ShowSection;
procedure ShowManufacture;
procedure FormActivate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormAddContract: TFormAddContract;
Manuf,Sect:string;
implementation
{$R *.dfm}
{Процедура отображения таблицы <<Enterprise>>}
procedure TFormAddContract.
begin
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
ComboBox1.Clear;
FormSklad.QueryClients.First;
while not FormSklad.QueryClients.Eof do
begin
ComboBox1.Items.Add(FormSklad.
FormSklad.QueryClients.Next;
end;
ComboBox1.Text:=FormSklad.
Edit2.Text:=FormSklad.
end;
{Процедура отображения таблицы <<Manufacture>>}
procedure TFormAddContract.
begin
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
ComboBox4.Clear;
if not FormSklad.QueryManufacture.
begin
FormSklad.QueryManufacture.
while not FormSklad.QueryManufacture.Eof do
begin
ComboBox4.Items.Add(FormSklad.
FormSklad.QueryManufacture.
end;
ComboBox4.Text:=FormSklad.
Manuf:=FormSklad.
end;
end;
{Процедура чтения таблицы "Разделы" в список,
считывая те разделы товара, которые есть у производителя Manuf}
procedure TFormAddContract.ShowSection;
begin
FormSklad.QuerySection.Close;
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.Open;
ComboBox3.Clear;
if not FormSklad.QuerySection.IsEmpty then
begin
FormSklad.QuerySection.First;
while not FormSklad.QuerySection.Eof do
begin
ComboBox3.Items.Add(FormSklad.
FormSklad.QuerySection.Next;
end;
ComboBox3.Text:=FormSklad.
Sect:=FormSklad.QuerySection.
end;
end;
{Процедура отображения наименований товара в список.
Только тех наименований, которые есть на складе по производителю Manuf
и разделу Sect}
procedure TFormAddContract.
begin
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
ComboBox2.Clear;
if not FormSklad.QueryGeneralSklad.
begin
FormSklad.QueryGeneralSklad.
while not FormSklad.QueryGeneralSklad.
begin
ComboBox2.Items.Add(FormSklad.
FormSklad.QueryGeneralSklad.
end;
ComboBox2.Text:=FormSklad.
end;
FormSklad.ShowGeneralSklad;
end;
procedure TFormAddContract.FormActivate(
begin
ShowEnterprise;
ShowNameGoods;
ShowManufacture;
ShowSection;
end;
{Процедура автоматического отображения магазина,
соответствующего выбранному предпринимателю}
procedure TFormAddContract.
var Enterpr:string;
begin
Enterpr:=ComboBox1.Items[
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
Edit2.Text:=FormSklad.
end;
procedure TFormAddContract.BitBtn1Click(
var manuf,sec,client,goods:string;
kol:integer;
begin
if (Edit1.Text='')or(Edit2.Text='
begin
MessageDlg('Не все данные введены!',mtWarning,[mbOK],0);
exit;
end;
{Сохранение кода выбранного раздела}
FormSklad.QuerySection.Close;
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.SQL.
FormSklad.QuerySection.Open;
sec:=FormSklad.QuerySection.
{Сохранение кода выбранного производителя}
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
manuf:=FormSklad.
{Сохранение кода выбранного клиента}
FormSklad.QueryClientS.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
client:=FormSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
if FormSklad.QueryGeneralSklad.
begin {ПРоверка наличия выбранного товара на складе}
MessageDlg('Недостаточно
данного товара на складе!',
FormSklad.ShowGeneralSklad;
exit;
end;
if not FormSklad.QueryGeneralSklad.
goods:=FormSklad.
kol:=FormSklad.
FormSklad.QueryContract.Close;
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.
{Создание нового заказа}
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
FormSklad.QueryGeneralSklad.
MessageDlg('Заказ оформлен!',mtInformation ,[
Close;
FormSklad.ShowGeneralSklad;
end;
procedure TFormAddContract.BitBtn2Click(
begin
FormAddContract.Close;
end;
{Процедура автоматического отображения списка разделов и наименований товара
по выбранному производителю}
procedure TFormAddContract.
begin
Manuf:=ComboBox4.Items[
ShowSection;
ShowNameGoods;
end;
{Процедура автоматического
отображения списка
по выбранному производителю и разделу}
procedure TFormAddContract.
begin
Sect:=ComboBox3.Items[
ShowNameGoods;
end;
end.
Переменные и процедуры модуля
unit UnitEditContract;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, UnitSklad, UnitContract;
type
TFormEditContract = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
ComboBox6: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit2: TEdit;
Label8: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure ShowNowData;
procedure ShowEnterprise;
procedure ShowNameGoods;
procedure ShowSection;
procedure ShowManufacture;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormEditContract: TFormEditContract;
Predpr, Magazin, Naimenov, Razdel, Proizvodit, Kolvo, Oplacheno, Otgrugeno:string;
implementation
{$R *.dfm}
procedure TFormEditContract.ShowNowData;
begin
FormSklad.QueryContract.Close;
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.SQL.
FormSklad.QueryContract.Open;
Predpr:=FormSklad.
Magazin:=FormSklad.
Naimenov:=FormSklad.
Razdel:=FormSklad.
Proizvodit:=FormSklad.
Kolvo:=FormSklad.
Oplacheno:=FormSklad.
Otgrugeno:=FormSklad.
end;
procedure TFormEditContract.
begin
FormSklad.QueryClients.Close;
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.SQL.
FormSklad.QueryClients.Open;
ComboBox1.Clear;
FormSklad.QueryClients.First;
while not FormSklad.QueryClients.Eof do
begin
ComboBox1.Items.Add(FormSklad.
FormSklad.QueryClients.Next;
end;
ComboBox1.Text:=Predpr;
Edit2.Text:=Magazin;
end;
procedure TFormEditContract.
begin
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
FormSklad.QueryManufacture.
ComboBox4.Clear;
if not FormSklad.QueryManufacture.
begin
FormSklad.QueryManufacture.
while not FormSklad.QueryManufacture.Eof do
begin
ComboBox4.Items.Add(FormSklad.
FormSklad.QueryManufacture.
end;
ComboBox4.Text:=Proizvodit;
end;
end;
procedure TFormEditContract.ShowSection;