2. Проектирование задачи
2.1 Организация данных
В курсовом проекте используется база данных состоящая из четырёх таблиц:
- “Product” – перечень ассортимента продукции фирмы
- “Distributions” – информация о сотрудниках фирмы
- “Sclad” – сведения о наличии товара на складе
- “Tovar_dvijenie” – сведения об отгрузке товара
Структуры таблиц приведены в таблицах 1.1, 1.2, 1.3, 1.4
Таблица 1.1 - «Product»
PKod – код продукта
PNaimenovanie – название продукта
POb’em – объем продукта
PCena – цена продукта в рублях
Таблица 1.3 - «Sclad»
SKod – код продукта
SNaimenovanie – название продукта
SDataPolych – дата получения продукта на склад
SGoden_do – срок истечения годности продукта
SKolichestvo – количество единиц прибывшего продукта
SCena – цена продукта в рублях
SSymma – общая сумма по данному продукту
Таблица 1.2 - «Distributions»
DID – личный номер сотрудника
DFamiliya – фамилия
DImya - имя
DOtchestvo - отчество
DDataRojd – дата рождения
DStrana - страна
DIndex - индекс
DGorod = город
DAdres - адрес
DDomTel домашний телефон
DRabTel – рабочий телефон
DE-mail – электронная почта
DDataDog – дата подписания договора с компанией
Таблица 1.4 - «Tovar_dvijenie»
Kod – номер п/п
TID - личный номер сотрудника
TDataOtgr – дата отгрузки продукта
TKod - код продукта
TNaimenovanie - название продукта
TKolichestvo - количество
TCena – цена в рублях
2.2 Функции системы
В данном подразделе выбираются и кратко описываются функции данной базы данных, которые предполагается автоматизировать с использованием разрабатываемой информационной системы:
1) Учет информации об ассортименте продукции
Данная функция создает перечень продукции, которую можно заказать. Весь ассортимент должен своевременно пополняться и обновляться. Таким образом есть возможность своевременно представлять весь ассортимент продукции покупателям и дистебьютерам и давать краткую информацию о продукте.
2) Учет сведений о дистебьютерах фирмы
Данная функция позволяет вести кадровый учет сотрудников. Все анкеты с необходимой информацией и личными номерами дистебьютеров хранятся в таблице.
3) Учет принятых товаров
Данная функция позволяет обновлять сведения о продукции, хранящейся на складе.
4) Учет хранения товаров и его движения
Данная функция позволяет отслеживать движение товара, его отгрузку со склада и его хранение по сроку годности. Функция осуществляет своеобразный контроль за товаром и дает данные для обновления других функций.
2.3 Алгоритм работы
2.4 Выходные документы
Выходными документами в данной программе являются отчёты, построенные на основе SQL запросов. Предусмотренные в программе отчёты приведены в приложении 2.
3 Применение
3.1 Назначение программыРазработанная мной база данных служит для ведения хозяйственной деятельности фирмы, являющейся посредником между косметической компанией и дистебьютерами. Она несет специфический характер и может использоваться только для данной сферы деятельности фирмы.
3.2 Инструкция пользователю
Для того чтобы начать работу с программой, необходимо запустить файл Baza.exe. После этого запуститься главная форма. Для того, чтобы начать работу с данными таблиц, необходимо нажать на кнопку «Таблицы» и на появившемся окне выбрать нужную таблицу. Далее таблицы можно редактировать, вносить изменения, качающиеся только входной и выходной информации. Для удобного изменения и обновления данных таблиц на нижней панели форм расположен навигатор (рис. 1).
Рис. 1 - Навигатор
Для того, чтобы им управлять, необходимо ознакомиться с его функциями (табл. 1).
Кнопка | Обозначение | Действие | |||
К первой | nbFirst | Указатель текущей записи перемещается к первой записи файла данных | |||
К предыдущей | nbPrior | Указатель текущей записи перемещается к предыдущей записи файла данных | |||
К следующей | nbNext | Указатель текущей записи перемещается к следующей записи файла данных | |||
К последней | nbLast | Указатель текущей записи перемещается к последней записи файла данных | |||
Добавить | nblnsert | В файл данных добавляется новая запись | |||
Удалить | nbDelete | Удаляется текущая запись файла данных | |||
Редактирование | nbEdit | Устанавливает режим редактирования текущей записи | |||
Сохранить | nbPost | Изменения, внесенные в текущую запись, записываются в файл данных | |||
Отменить | Cancel | Отменяет внесенные в текущую запись изменения | |||
Обновить | nbRefresh | Записывает внесенные изменения в файл |
Там же, на нижней панели вы найдете все необходимые для управления базой данных кнопки (запросы с параметрами, отчеты).
Чтобы узнать о наличии данного продукта на складе, необходимо воспользоваться отчетом. Рядом с надписью «Поиск товара» нажмите на кнопку «ОК». Выскочит диалоговое окно, где нужно ввести название интересующего товара. После чего появится форма с отчетом о наличии товара на складе.
Для выхода из программы нажмите кнопку «Close».
Заключение
В ходе выполнения работы были закреплены знания по созданию и проектированию баз данных в среде Borland Delphi 7, а также приобретены практические навыки в создании программных приложений на данном языке программирования.
Результатом проделанной работы является база данных «Baza» выполняющая все необходимые задачи данного курсового проекта.
Список используемой литературы
1. В.В. Фараонов Delphi. Программирование на языке высокого уровня. – СПб: Питер, 2004.
2. ERwin — современное средство проектирования баз данных - http://www.interface.ru
3. Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. –СПб.: Питер, 1997.
4. Шкрыль А.А. Разработка клиент-серверных приложений в Delphi. – СПб.: БХВ-Петербург, 2006.
Приложение 1
unit Glavnaya;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
BitBtn1: TBitBtn;
Image1: TImage;
Image2: TImage;
Image3: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Product, Vibor_tabl;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form4.show;
end;
end.
unit Product;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls, DB,
DBTables;
type
TForm2 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses DM1, Zapros_tovar;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form3.Query1.Close;
Form3.Query1.Params[0].AsString:=InputBox('Zapros', 'Введите название товара','0');
Form3.Query1.Open;
Form3.Show;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
RvProject1.Execute
end;
end.
unit Vibor_tabl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Buttons;
type
TForm4 = class(TForm)
Button1: TButton;
Button2: TButton;
BitBtn1: TBitBtn;
Image1: TImage;
Image2: TImage;
Image3: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Product, Distributions;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
Form2.show;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
Form5.show;
end;
end.
unit Zapros_tovar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, ExtCtrls, StdCtrls, Buttons;
type
TForm3 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
Query1: TQuery;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
end.
unit Distributions;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls;
type
TForm5 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
end.
unit DM1;
interface
uses
SysUtils, Classes, DB, DBTables, RpCon, RpConDS, RpConBDE, RpBase,
RpSystem, RpDefine, RpRave;
type
TD1 = class(TDataModule)
Database1: TDatabase;
Product: TTable;
Sclad: TTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
ProductPKod: TAutoIncField;
ProductPNaimenovanie: TStringField;
ProductPObem: TStringField;
ProductPCena: TCurrencyField;
ScladSKod: TIntegerField;
ScladSNaimenovanie: TStringField;
ScladSDataPolych: TDateField;
ScladSGoden_do: TDateField;
ScladSKolichestvo: TSmallintField;
ScladSCena: TCurrencyField;
ScladSSymma: TCurrencyField;
RvProject1: TRvProject;
RvSystem1: TRvSystem;
RvTableConnection1: TRvTableConnection;
private
Private declarations }
public
{ Public declarations }
end;
var
D1: TD1;
implementation
{$R *.dfm}
end.
unit DM2;
interface
uses
SysUtils, Classes, DB, DBTables;
type
TD2 = class(TDataModule)
Database1: TDatabase;
Distributions: TTable;
Tovar_dvijenie: TTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
DistributionsDID: TAutoIncField;
DistributionsDFamiliya: TStringField;
DistributionsDImya: TStringField;
DistributionsDOtchestvo: TStringField;
DistributionsDDataRojd: TDateField;
DistributionsDStrana: TStringField;
DistributionsDIndex: TStringField;
DistributionsDGorod: TStringField;
DistributionsDAdres: TStringField;
DistributionsDDomTel: TStringField;
DistributionsDRabTel: TStringField;
DistributionsDEmail: TStringField;
DistributionsDDataDog: TDateField;
Tovar_dvijenieKod: TIntegerField;
Tovar_dvijenieTKod: TIntegerField;
Tovar_dvijenieTID: TIntegerField;
Tovar_dvijenieTDataOtgr: TDateField;
Tovar_dvijenieTNaimeovanie: TStringField;
Tovar_dvijenieTKolichestvo: TSmallintField;
Tovar_dvijenieTCena: TCurrencyField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
D2: TD2;
implementation
{$R *.dfm}
end.
Приложение 2
... были выявлены нарушения в оформлении расходных кассовых ордеров, приходных кассовых ордеров. 3. Разработка основных направлений совершенствования действующей на предприятии системы учета и аудита движения денежных средств Каждая бухгалтерская программа из рассмотренных, решая в общем одну и ту же задачу имеет свои особенности, исходя ...
... готовой продукции отражают в учете и отчетности того месяца, в котором была закончена инвентаризация, а годовой инвентаризации – в годовом бухгалтерском отчете.2. Аудит готовой продукции. 2.1 Аудит операций по учету готовой продукции. В рыночной экономике особую актуальность представляют вопросы правильности и своевременности отражения в учете поступления готовой продукции и обеспечения ее ...
... случаев выпуска и реализации неучтенной продукции. Для установления факта выпуска неучтенной продукции пользуются разными способами анализа и проверки документов. В процессе аудит учета отгрузки и реализации готовой продукции (работ, услуг) аудитору необходимо проверить: - заключены ли договоры на поставку готовой продукции и правильность их оформления; - правильно ли оформлены документы ...
... как 100 ед. продукции или 50 нормо-ч (100 xl/2 ч) выпуска. Дополнительные ресурсы предприятие может получить, используя следующие пути снижения себестоимости продукции (работ, услуг) основанные на анализе некоторых отклонений в рамках применения нормативного метода: 1. При анализе отклонений по цене используемых материалов : Необходимо повышение эффективности работы отдела снабжения, так как ...
0 комментариев