Ім'я файлу: курсовой.docx
Розширення: docx
Розмір: 337кб.
Дата: 27.09.2021
скачати

ЗМІС

ВСТУП 5

1ТЕОРЕТИЧНА ЧАСТИНА 6

2ПОСТАНОВКА ЗАДАЧІ 8

3ОПИС СТРУКТУРИ БД 10

4 ОПИС ПРОГРАММИ 14

5 ІНСТРУКЦІЯ КОРИСТУВАЧА 15

6 ВИСНОВКИ 16

ДОДАТОК Д 17

ДОДАТОК А 20

ДОДАТОК Б 30

1ТЕОРЕТИЧНА ЧАСТИНА………………………………………………………………………….. 6

2ПОСТАНОВКА ЗАДАЧІ…………………………………………………………………………….. 7

4ОПИС СТРУКТУРИ БД……………………………………………………………………………... 8

4 ОПИС ПРОГРАММИ……………………………………………………………………………… 11

5 ІНСТРУКЦІЯ КОРИСТУВАЧА…………………………………………………………………... 12

6 ВИСНОВКИ………………………………………………………………………………………… 13

ДОДАТОК Д………………………………………………………………………………………….. 14

ДОДАТОК А………………………………………………………………………………………….. 17

ДОДАТОК Б………………………………………………………………………………………….. 27

ВСТУП


Базою даних є представлена ​​в об'єктивній формі сукупність самостійних матеріалів (статей, розрахунків, нормативних актів, судових рішенні та інших подібних матеріалів), систематизованих таким чином, щоб ці матеріали могли бути знайдені і оброблені за допомогою електронної обчислювальної машини.

Термін база даних увійшов у вжиток наприкінці 60-х-іачале 70-х років минулого століття. І той же час з'явилися і роботи, і яких обговорювалися різні моделі даних, аналізувалися принципи і особливості організації баз даних. ДО 1972 году Е.Ф.Кодд запропонував використовувати для їх опису обчислення відносин і розробив на його основі спеціальна мова маніпулювання даними. Це значно прискорило розвиток реляційної моделі, а бази даних з однойменною назвою міцно зайняли провідне місце серед інструментів зберігання та подання інформації.

Кожна база даних, як правило, зачіпає певну предметну область. Предметна область - частина реального світу, що підлягає вивченню з метою організації управління і, в кінцевому рахунку, автоматизації. Предметна область представляється безліччю фрагментів, наприклад, підприємство - цехами, дирекцією, бухгалтерією і т.д. Кожен фрагмент предметної області характеризується безліччю об'єктів і процесів, що використовують об'єкти, а також безліччю користувачів, якi характеризуються різними поглядами на предметну область.

Відмінною рисою баз даних слід вважати те, що дані зберігаються спільно з їх описом, а в прикладних програмах опис даних не міститься. Незалежні від програм користувача дані зазвичай називаються метаданими. У ряді сучасних систем метадані, що містять також інформацію про користувачів, формати відображення, статистику звернення до даних і ін. Відомості, зберігаються в словнику бази даних.

Для того щоб використовувати базу даних використовують системи управління базами даних. СУБД - як правило, програмна система, яка дозволить організувати додавання, видалення, обробку даних з однієї пли більше баз даних.

  1. ТЕОРЕТИЧНА ЧАСТИНА



Цілісність баз даних – властивість даних, що визначає повноту і правильність інформації, яка вміщується в БД. Підтримка цілісності даних включає такі складові:

− структурна цілісність;

− обмеження реальних значень даних;

− посилкова цілісність.

Структурна цілісність передбачає виконання таких умов:

− наявність тільки однорідних структур даних типу "реляційне відношення";

− відсутність дублікатів кортежів;

− обов'язкова наявність у кожному відношенні первинного ключа;

− обмеження доменів, яке передбачає визначення кожного атрибуту на своєму домені;

− можливість застосування невизначених значень NULL (позначає відсутність будь-якого значення атрибуту).

Невизначене NULL значення розглядається, як значення невідоме на даний момент часу. Це значення при появі додаткової інформації може бути замінено на деяке конкретне значення. Введення NULL викликало необхідність застосування замість двозначної логіки тризначної логіки. У цьому випадку передбачаються реляційні операції з невизначеними значеннями.

Обмеження реальних значень даних вимагають, щоби значення поля належали деякому діапазону значень, або задовольняли певному арифметичному співвідношенню між значеннями різних полів. Обмеження значень можуть включати також визначення певних форматів для полів, задоволення значень полів певним статистичним умовам, бізнес правилам предметної області і т.ін.

Посилкова цілісність означає, що зміни в таблицях повинні виконуватися синхронно, а зміст двох пов'язаних таблиць має відповідати таким правилам:

− кожному запису основної таблиці відповідає нуль або більше записів підлеглої таблиці;

− в підлеглій таблиці немає записів, які не мають батьківських записів в основній таблиці; − кожний запис підлеглої таблиці має тільки один батьківський запис основної таблиці.

Умови цілісності даних визначають, які дані можуть бути записані в БД у результаті додавання або оновлення даних.

Також можливо виконання правила NONE – не виконуються ніякі дії і правила NULL ALLOWED – дозволяються невизначені значення.

При введенні нових рядків (INSERT) необхідно дотримуватися такої послідовності введення: спочатку дані вводяться в батьківську таблицю, а потім − в підлеглу.

Також можливо виконання правила NONE – не виконуються ніякі дії і правила NULL ALLOWED – дозволяються невизначені значення.

При введенні нових рядків (INSERT) необхідно дотримуватися такої послідовності введення: спочатку дані вводяться в батьківську таблицю, а потім − в підлеглу.




 

  1. ПОСТАНОВКА ЗАДАЧІ




Оптовий склад приймає партії товарів від постачальників і відпускає його клієнтам дрібними партіями. Потрібно вести облік товарів, що надходять і відпускаються, постачальників і клієнтів, формувати прибуткові та витратні накладні. Також необхідно формувати звіти про надходження та відпуск товарів на складі за довільний період. На складі відбувається рух матеріальних та інформаційних потоків. Перші представлені рухом товару від постачальників на склад або зі складу покупцям, а інформаційні потоки представлені документацією, необхідною для цих операцій. Склад приймає і складує готову продукцію, ця операція супроводжується формуванням прибуткової накладної. Вона складається з двох частин: загальної (до якої входять номер накладної, найменування постачальника і дата здачі продукції на склад) і специфікації (до неї входять найменування і кількість переданої продукції).


З наведеного опису можна зробити висновок, що база даних повинна містити такі сутності:
* Клієнт;
* Постачалєць;
* Приход Товару;
* Проданий товар;
Вони призначені для зберігання систематизованої інформації про роботу оптового складу. Користувачу повинні бути надані зручні засоби для відбору даних за запитами. Проаналізувавши основні операції на оптовому складі, можна зробити висновок, що потрібно виконання наступних запитів: визначити дату продажу товару, визначити дату поставки товару, вибрати товари за певною ціною, сума податку поставлених товарів, вибрати кількість товарів в наявність. Для вирішення поставленої мети, було вирішено створити спеціалізовану програму, розраховану на вирішення певного і обмеженого кола завдань і управління заздалегідь визначеною структурою інформації. Розробляється база даних повинна видавати однозначні вимоги на поставлені запити користувачів, повинна мати читабельний і зручний інтерфейс. Кінцевими користувачами інформаційної системи є менеджери, студенти, технологи, які відносяться до категорії користувачів не досвідчених у питаннях ведення, адміністрування баз даних і підтримання їх в актуальному стані.








  1. ОПИС СТРУКТУРИ БД



Концептуальне проектування бази даних - процес створення моделі використовуваної на підприємстві інформації, що не залежить від будь-яких фізичних аспектів її подання. Перша фаза процесу проектування бази даних називається концептуальним проектуванням бази даних. Вона полягає у створенні концептуальної моделі даних для аналізованої частини підприємства. Ця модель даних створюється на основі інформації, записаної в специфікаціях вимог користувачів. Концептуальне проектування бази даних абсолютно не залежить від таких подробиць її реалізації, як тип обраної цільової СУБД, набір створюваних прикладних програм, що використовуються мови програмування тип обраної обчислювальної платформи, а також від будь-яких інших особливостей фізичної реалізації. При розробці концептуальна модель даних постійно піддається тестуванню і перевірці на відповідність вимогам користувачів. Створена концептуальна модель даних підприємства є джерелом інформації для фази логічного проектування бази даних. Побудова концептуальної моделі являє собою процес моделювання смислового наповнення бази даних. Концептуальна модель складається з наступних трьох основних компонентів: Сутності - це елементи реального світу, які можуть існувати незалежно. Атрибут. Атрибути описують сутність. Зв'язок являє собою взаємодію між сутностями. У процесі концептуального проектування слід визначити найменування таблиць і типи даних для полів. База даних представлена п’ятьома таблицями. Розглянемо структуру кожної більш докладно. У таблиці 1 представлені поля і їх типи реляційного ставлення "постачальники". Таблиця 1 - «Постачальники» У таблиці 2 представлені поля та їх типи реляційного відношення «Клієнти». Таблиця 2 - «Клієнти» Таблиця 3 - «Приход Товарів»
У таблиці 4 представлені поля та їх типи реляційного відношення «Товар». Таблиця 4 - «Товар» " Таблиця 5 - "Расход Товар"







4 ОПИС ПРОГРАММИ


Цей додаток розраховано на роботу в середовищі Windows. При відкритті програми з'являється форма " Оптовый склад "(малюнок 2):

Малюнок 2 -Додаток «Оптовый склад»




«Утворити»

Дана вкладка являє собою форму вставки даних у таблиці (так як їх кілька, і вони вибираються у верхній вкладці, то для кожної таблиці існує певний набір атрибутів). Після натискання кнопки "Зберегти" дані заносяться в СУБД.

«Видалення» (Створити)

У цій вкладці здійснюється видалення рядка з бази даних. Знову ж таки, дані залежать від вибраної таблиці.

«Пошук»

Пошук реалізований побуквенно. Тобто додаток виводить всі рядки, де існує дана літера. Для більш точного пошуку необхідно або написати все слово цілком, або написати хоча б склад.

«Звіт»

Кнопка дозволяє створювати звіти і друкувати їх на папір.

«Вихід»

Вихід в середу Windows відбувається при натисканні на червоний хрестик в правому верхньому куті, або поєднанням клавіш Alt+F4.

Або ж через Файл-Вихід.
5 ІНСТРУКЦІЯ КОРИСТУВАЧА



Для запуску програми відкриваємо «Оптовый склад»
Для перегляду складу натискаємо кнопку «Склад»


Для того щоб здійснити пошук вводимо ключові слова у строку пошуку.
Наприклад вводимо «Сардельки»

Потрібний нам товар позначається чорною міткою.
Для того щоб створити нового клієнта натискаємо кнопку «Создать» клієнта

Усі аналогічні дії зв’язані з створенням і видаленням робляться по аналогії з попередніми інструкціями.


6 ВИСНОВКИ


У курсовій роботі була спроектована, розроблена база даних в додатку Microsoft Access. Сам додаток до бази даних написано на Delphi 10.1 Berlin.

В результаті роботи створено програмне забезпечення, що дозволяє автоматизувати рутинні операції торгового складу з оформлення прибуткових і товарно-транспортних накладних. Також розроблена автоматизована система забезпечує простий і зручний доступ до інформації про наявні на складі товари, до даних постачальників і покупців.

В ході виконання курсової роботи були отримані навички проектування баз даних, складання SQL запитів, вивчені основні прийоми роботи з засобом розробки баз даних Access і Borland Delphi 10.1

Розроблена база даних може розглядатися як модуль інформаційної системи, яка підтримує роботу оптового складу. Вона буде корисна працівникам оптової торгівлі.

База має зручний інтерфейс, головне меню, дозволяє додавати, видаляти, шукати і сортувати дані, робити звіти.

ДОДАТОК Д


Основна
  1. Бондарев В.М., Рублінецький В.І., Качко О. Г. Основи програмування. – М.: Наука, 2011. – 406 с.
  2. Буч Г. Об'єктно-орієнтований аналіз та проєктування з прикладами додатків на Delphi. – М.: "Видавництво БІНОМ", СПб: "Невський діалект", 2011. – 311 с.
  3. Міліченко B.C. Мова запитів SQL. – Харків: Фоліо, 2011. – 176 с.
  4. Мова Delphi. Книга відповідей. – М.: Фінанси і статистика, 2010. – 327 с.
  5. Піддубний Г. І. InterBase сервер. – Харків: Фоліо, 2010. – 298 с.
  6. Піддубний Г. І. Створення серверних баз даних. – М.: Світ, 2011. – 445 с.
  7. Подбельський В. В., Фомін С. С. Програмування на мові Delphi. – М.: Фінанси і статистика, 2011. – 578 с.
  8. Пол А. Об'єктно-орієнтоване програмування з використанням Delphi. – К.: НІПФ ДиаСофт Лтд, 2010. – 405 с.
  9. Фаронов В.В. Программирование баз данных в Delphi 7. – СПб.: Питер, 2006. – 457 с.
  10. Фаронов В.М. Створення серверних баз даних. – К.: НМК ВО, 2010. – 482 с.


Допоміжна

  1. Бейлі Л. Вивчаємо SQL. – СПб.: Пітер, 2012. - 592 с.
  2. Глушаков С.В., Ломотько Д.В. Бази даних: Навчальний курс - Харків: Фоліо; М.: ACT, 2010.-504 с.
  3. Дейт К. Дж. SQL і реляційна теорія. Як грамотно писати код на SQL Символ- Плюс, 2010. - 480 с.
  4. Кляйн К.Е., Кляйн Д., Хант Б. SQL. Довідник. К.: Символ-Плюс, 2010. – 656 с.
  5. Козлов В.А. Відкриті інформаційні системи. ­– М.: Фінанси і статистика, 2011. – 223 с.
  6. Лобелія Л., Браста Е. Дж., Форте С. Розробка додатків на основі Microsoft SQL Server 2008. Російська Редакція. – СПб.: БХВ-Петербург, 2010. - 1024 с.
  7. Мамаев Є., Шкаріна Л. Microsoft SQL Server для професіоналів СПб.: Питер, 2011. -1088 с.
  8. Молінаро Е. SQL. Збірник рецептів. – К.: Символ-Плюс, 2011. - 672 с.
  9. Нільсен П. SQL Server. Біблія користувача. – М.: Вільямс, 2011. – 1232 с.
  10. Райан С., Плю Р. SQL. – М.: БІНОМ, 2010. - 400 с.
  11. Селко Д. SQL для професіоналів. Програмування. – Лорі, 2010. - 464 с.
  12. Уолтерс Р., Коулс Р., Феррачаті Ф.К., Рей Р., Фармер Р. SQL Server. Прискорений курс для професіоналів. – Вільямс, 2010. - 768 с.
  13. Ханс Г., Ханс Дж. Бази даних: розробка і управління. – М.: Біном, 2010. – 704 с.


Інформаційні ресурси
1. Документація: Pascal, Delphi, C++ Builder [Електронний ресурс] : http://www.delphiplus.org/

2. CodeNet - все для програміста [Електронний ресурс] : http://www.codenet.ru/

3. Development і Делфі - програмування в Delphi [Електронний ресурс] : http://delphid.dax.ru/

4. "SNK Software" - комп'ютерна література [Електронний ресурс] : http://www.snkev.net/

5. Форум за темою "Delphi і бази даних" [Електронний ресурс] : http://www.cvberforurn.ru/delphi-database/

6. Сервер інформаційних технологій [Електронний ресурс] : http://citforum.ru/

7. Infocity - віртуальне місто комп'ютерної документації [Електронний ресурс] : http://infocitv.kiev.ua

8. Інтернет-Університет Інформаційних Технологій [Електронний ресурс] : http://www.intuit.ru

9. Delphi : Бази даних [Електронний ресурс] : http://forum.sources.ru/index. php?showforum=13

10. Робота з базами даних засобами Delphi [Електронний ресурс] : http://delphiworld.narod.ru/ db .html

ДОДАТОК А

unit GlavnUnit1;

interface

/

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, Mask, ComCtrls, Grids, DBGrids, Menus,

ExtCtrls, FileCtrl, IdBaseComponent, IdNetworkCalculator, Data.DB;

type

TGlavn = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

PageControl1: TPageControl;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

Label10: TLabel;

DBEdit39: TDBEdit;

Label45: TLabel;

Label44: TLabel;

Label43: TLabel;

DBEdit37: TDBEdit;

Label6: TLabel;

Label47: TLabel;

DBEdit43: TDBEdit;

DBEdit5: TDBEdit;

Button2: TButton;

Button1: TButton;

Label7: TLabel;

DBLookupComboBox8: TDBLookupComboBox;

Label11: TLabel;

Label9: TLabel;

Label41: TLabel;

Label42: TLabel;

DBEdit20: TDBEdit;

DBEdit9: TDBEdit;

Button11: TButton;

Button3: TButton;

DBGrid7: TDBGrid;

DBEdit12: TDBEdit;

DBEdit11: TDBEdit;

DBEdit10: TDBEdit;

DBEdit8: TDBEdit;

TabSheet1: TTabSheet;

DBGrid1: TDBGrid;

DBLookupComboBox1: TDBLookupComboBox;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Label12: TLabel;

Label13: TLabel;

DBEdit15: TDBEdit;

Label14: TLabel;

DBEdit16: TDBEdit;

DBLookupComboBox2: TDBLookupComboBox;

DBEdit19: TDBEdit;

Label16: TLabel;

Label18: TLabel;

Label19: TLabel;

DBEdit21: TDBEdit;

Label20: TLabel;

DBEdit22: TDBEdit;

Label21: TLabel;

Button7: TButton;

DBEdit23: TDBEdit;

DBEdit24: TDBEdit;

DBEdit25: TDBEdit;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

Button8: TButton;

Button9: TButton;

DBEdit26: TDBEdit;

Label22: TLabel;

DBEdit27: TDBEdit;

Label23: TLabel;

Button13: TButton;

DBEdit4: TDBEdit;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Button15: TButton;

DateTimePicker3: TDateTimePicker;

DBText1: TDBText;

Label8: TLabel;

Label27: TLabel;

DBText2: TDBText;

DBEdit6: TDBEdit;

Label30: TLabel;

N18: TMenuItem;

DBGrid4: TDBGrid;

N19: TMenuItem;

DateTimePicker1: TDateTimePicker;

DBEdit7: TDBEdit;

Label29: TLabel;

N21: TMenuItem;

Button4: TButton;

N2: TMenuItem;

Edit1: TEdit;

Button5: TButton;

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N12Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N19Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure DBLookupComboBox8Click(Sender: TObject);

procedure DBEdit39Change(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure DBEdit15Change(Sender: TObject);

procedure DBEdit27Change(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure Button15Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure N13Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Glavn: TGlavn;

implementation

uses DataModule1, TablUnit1, O_progeUnit1, PoiskUnit1, NewKlientUnit1,

TprixodUnit1, TrasxodUnit1, PribilUnit1, OprixodtovarovUnit1,

OrasxodTovarovUnit1, pe4atRasxodUnit1, Postav4ikUnit1, PrixodTovUnit2,

TrasxodTovUnit2, NewTovarUnit1, NewPostav4ikUnit1, TklientiUnit1;

{$R *.dfm}

//мюню выход

procedure TGlavn.N4Click(Sender: TObject);

begin

close;

end;

//меню о программе

procedure TGlavn.N3Click(Sender: TObject);

begin

oproge.showmodal;

end;

//Меню создать -> клиент

procedure TGlavn.N8Click(Sender: TObject);

begin

newklient.ShowModal;

end;

//Меню создать -> товар

//Меню создать -> поставщик

procedure TGlavn.N10Click(Sender: TObject);

begin

NewPostav4ik.ShowModal;

end;

//вставка новой строки в табл приход вкладки приход товара

procedure TGlavn.Button1Click(Sender: TObject);

begin

DataModule2.Prixod.Sort:='НомерДокумента';

DataModule2.Prixod.Insert;

DateTimePicker3.Visible:=true;label44.Visible:=true;

label10.Visible:=true;button1.Visible:=False;button2.Visible:=true;

label30.Visible:=true;dbedit6.Visible:=true;

button3.Visible:=false;button11.Visible:=false;

DBLookupComboBox8.Visible:=false;label7.Visible:=false;label11.Visible:=false;

label9.Visible:=false;label41.Visible:=false;label42.Visible:=false;

dbedit8.Visible:=false;dbedit9.Visible:=false;dbedit20.Visible:=false;

end;
//кнопка сохранить изменения вкладки расход товара

//Списывает выбранное количество товара со склада..

procedure TGlavn.Button7Click(Sender: TObject);

var a,koltov,kolras,symras,symtov,cenatov,cenaras:Currency;

begin

koltov:=strToCurr(DBEdit23.Text);

kolras:=strTocurr(DBEdit19.Text);

if koltov>=kolras then begin

if DataModule2.RasxodTov.Modified then

begin

DataModule2.Tovar.edit;

DBEdit22.Text:=DBedit15.text;

koltov:=strToCurr(DBEdit23.Text);

cenatov:=strToCurr(DBEdit25.Text);

kolras:=strTocurr(DBEdit19.Text);

cenaras:=strTocurr(DBEdit16.Text);

symras:=cenaras*kolras;

a:=koltov-kolras;

symtov:=a*cenatov;

DBEdit24.Text:=CurrToStr(symtov);

DBEdit21.Text:=CurrToStr(symras);

DBEdit23.Text:=CurrToStr(a);DataModule2.Tovar.Post;

DataModule2.RasxodTov.post;

DataModule2.RasxodTovSQL.Active:=false;

DataModule2.RasxodTovSQL.Active:=true;

end;

button7.Visible:=false;

button13.Visible:=true;

label16.Visible:=false;

label8.Visible:=false;

label18.Visible:=false;

label27.Visible:=false;

label19.Visible:=false;

label20.Visible:=false;DBLookupComboBox2.Visible:=false;

dbtext1.Visible:=false;

dbtext2.Visible:=false;

dbedit19.Visible:=false;

dbedit16.Visible:=false;

dbedit21.Visible:=false;

end

else

ShowMessage('Не хватает товара');

end;

//Добавление записи в таблицу Расход вкладки расход товара

procedure TGlavn.Button8Click(Sender: TObject);

begin

DataModule2.rasxod.Sort:='НомерДокумента';

DataModule2.rasxod.Insert;

button9.Visible:=true;

button8.Visible:=false;

DBLookupComboBox1.Visible:=true;

label25.Visible:=true;

label3.Visible:=true;

label4.Visible:=true;

label12.Visible:=true;

label13.Visible:=true;

dbedit2.Visible:=true;

dbedit3.Visible:=true;

dbedit13.Visible:=true;

dbedit14.Visible:=true;

label26.Visible:=true;

label29.Visible:=true;

dbedit7.Visible:=true;

DateTimePicker1.Visible:=true;

label16.Visible:=false;

label8.Visible:=false;

label27.Visible:=false;

label19.Visible:=false;

label20.Visible:=false;

DBLookupComboBox2.Visible:=false;

dbtext1.Visible:=false;

dbtext2.Visible:=false;

dbedit19.Visible:=false;

dbedit16.Visible:=false;

dbedit21.Visible:=false;

button13.Visible:=false;

button7.Visible:=false;

end;

//Сохранение записи в таблицу Расход вкладки расход товара

procedure TGlavn.Button9Click(Sender: TObject);

begin

DataModule2.Rasxod.Fields.FieldByName('ДатаОперации').Value:=DateTimePicker1.Date;

DataModule2.Rasxod.Post;

label26.Visible:=false;

label29.Visible:=false;

dbedit7.Visible:=false;

DateTimePicker1.Visible:=false;

label25.Visible:=false;

label3.Visible:=false;

label4.Visible:=false;

label12.Visible:=false;

label13.Visible:=false;

dbedit2.Visible:=false;

dbedit3.Visible:=false;

dbedit13.Visible:=false;

dbedit14.Visible:=false;

DBLookupComboBox1.Visible:=false;

button13.Visible:=true;

button9.Visible:=false;

button8.Visible:=true;

end;

//Удаление записи из таблицу Приход вкладки приход товара

procedure TGlavn.Button10Click(Sender: TObject);

begin

DataModule2.prixod.delete;

end;

//кнопка сохранить изменения вкладки приход товара

//Расчитывает при разном кол-ве и цене одного и

// того же товара, среднюю цену. Добавляет введённое кол-во

// товара на склад

procedure TGlavn.Button11Click(Sender: TObject);

var a,b,d,z,c,k,m,symma:Currency;

begin

if DataModule2.PrixodTov.Modified then

begin

button3.Visible:=true;button11.Visible:=false;

//поля для заполнения невидимы

Label7.Visible:=false;Label11.Visible:=false;Label9.Visible:=false;

Label41.Visible:=false;Label42.Visible:=false;

DBLookupComboBox8.Visible:=false;dbedit8.Visible:=false;

dbedit9.Visible:=false;dbedit20.Visible:=false;

DataModule2.Tovar.edit;

DBEdit37.Text:=DBedit39.text;

d:=strToCurr(DBEdit11.Text);

c:=strToCurr(DBEdit9.Text);

b:=strTocurr(DBEdit10.Text);

a:=strTocurr(DBEdit8.Text);

m:=c*a;

k:=a+b;

z:=(m+b*d)/k;

symma:=z*k;

DBEdit11.Text:=CurrToStr(z);

DBEdit20.Text:=CurrToStr(m);

DBEdit10.Text:=CurrToStr(k);

DBEdit12.Text:=currtostr(symma);

DataModule2.Tovar.Post;

DataModule2.PrixodTov.post;

DataModule2.prixodTovSQL.Active:=false;

DataModule2.prixodTovSQL.Active:=true;

end;

end;

//Удаления записи из таблицы Расход вкладки расход товара

procedure TGlavn.Button12Click(Sender: TObject);

begin

DataModule2.Rasxod.Delete;

end;

//Сохранение записи в таблице Приход вкладки приход товара

procedure TGlavn.Button2Click(Sender: TObject);

begin

DataModule2.prixod.Fields.FieldByName('ДатаОперации').Value:=DateTimePicker3.Date;

DataModule2.Prixod.Post;

button1.Visible:=true;button2.Visible:=False;

DateTimePicker3.Visible:=false;label44.Visible:=false;

label10.Visible:=false;label45.Visible:=false;dbedit39.Visible:=false;

button3.Visible:=true;label30.Visible:=false;dbedit6.Visible:=false;

end;

//Новая запись в таблице ПриходТов вкладки приход товара

procedure TGlavn.Button3Click(Sender: TObject);

begin

DataModule2.prixodtov.insert;

//появление полей для заполнения

button3.Visible:=false;button11.Visible:=true;DBLookupComboBox8.Visible:=true;

label7.Visible:=true;label11.Visible:=true;label9.Visible:=true;

label41.Visible:=true;label42.Visible:=false;dbedit8.Visible:=true;

dbedit9.Visible:=true;dbedit20.Visible:=false;

end;

//Печать отчета "Прайс лист" вкладки "товары"
//Новая запись в таблице РасходТов вкладки расход товара

procedure TGlavn.Button13Click(Sender: TObject);

begin

DataModule2.rasxodtov.Insert;

button13.Visible:=false;

button7.Visible:=true;

label16.Visible:=true;

label8.Visible:=true;

label18.Visible:=true;

label27.Visible:=true;

label19.Visible:=true;

DBLookupComboBox2.Visible:=true;

dbtext1.Visible:=true;

dbtext2.Visible:=true;

dbedit19.Visible:=true;

dbedit16.Visible:=true;

end;

procedure TGlavn.DBLookupComboBox8Click(Sender: TObject);

begin

DBEdit43.Text:=DBedit5.text;

end;

procedure TGlavn.DBEdit39Change(Sender: TObject);

begin

DBEdit37.Text:=DBedit39.text;

DataModule2.PrixodtovSQL.Active:=False;

DataModule2.PrixodtovSQL.Parameters.ParamByName('kodPrixoda').Value:=DBedit39.text;

DataModule2.PrixodtovSQL.Active:=active;

end;

procedure TGlavn.Button6Click(Sender: TObject);

begin

DataModule2.PrixodTovSQL.Refresh;

//DataModule2.SymmaTovarovNaSklade.Refresh;

DataModule2.PrixodTov.Refresh;

DataModule2.Prixod.Refresh;

DataModule2.Tovar.Refresh;

end;

procedure TGlavn.DBEdit15Change(Sender: TObject);

begin

DataModule2.RasxodtovSQL.Active:=False;

DataModule2.RasxodtovSQL.Parameters.ParamByName('nomDok').Value:=DBedit15.text;

DataModule2.RasxodtovSQL.Active:=active;

end;

procedure TGlavn.DBEdit27Change(Sender: TObject);

begin

dbedit26.text:=dbedit27.text;

end;

//Удалить строку из табл РасходТов вкладки расход товара

procedure TGlavn.Button14Click(Sender: TObject);

begin

DataModule2.RasxodTovSQL.Delete;

end;

//Кнопка обновить вкладки "Товары", обновляет общую сумму

// находящихся на складе товаров

procedure TGlavn.Button15Click(Sender: TObject);

begin

DataModule2.SymmaTovarovNaSklade.Active:=False;

DataModule2.SymmaTovarovNaSklade.Open;

DataModule2.SymmaTovarovNaSklade.SQL.Clear;

DataModule2.SymmaTovarovNaSklade.SQL.Text:='SELECT Sum([Товары]![Сумма]) AS Сумма FROM Товары;';

DataModule2.SymmaTovarovNaSklade.Close;

DataModule2.SymmaTovarovNaSklade.Active:=True;

end;

//Просмотр табл. клиенты

procedure TGlavn.N12Click(Sender: TObject);

begin

TKlienti.ShowModal;

end;

//Просмотр табл. товары

procedure TGlavn.N11Click(Sender: TObject);

begin

TTovari.ShowModal;

end;

//Просмотр табл. приход

procedure TGlavn.N14Click(Sender: TObject);

begin

TPrixod.ShowModal;

end;

//меню -> поиск Открытие формы поиска

procedure TGlavn.N20Click(Sender: TObject);

begin

poisk.ShowModal;

end;

//меню -> отчёты -> приход товаров

procedure TGlavn.N19Click(Sender: TObject);

begin

Oprixodtovarov.ShowModal;

end;

//меню -> отчёты -> расход товаров

procedure TGlavn.N21Click(Sender: TObject);

begin

ORasxodTovarov.ShowModal;

end;

procedure TGlavn.N13Click(Sender: TObject);

begin

Form1.ShowModal;

end;

procedure TGlavn.N15Click(Sender: TObject);

begin

TPrixodTov.ShowModal;

end;

procedure TGlavn.N16Click(Sender: TObject);

begin

TRasxod.ShowModal;

end;

procedure TGlavn.N17Click(Sender: TObject);

begin

TrasxodTov.ShowModal;

end;

procedure TGlavn.N6Click(Sender: TObject);

begin

poisk.ShowModal;

end;

procedure TGlavn.Button5Click(Sender: TObject);

var

poiskk:string;

iii:integer;

begin

iii:=0;

DataModule2.Tovar.First;

while not DataModule2.Tovar.eof do

begin

poiskk:='';

poiskk:=edit1.text;

if DataModule2.Tovar.Fields.FieldByName('НаименТовара').AsString=poiskk

then iii:=1

else if iii=0 then DataModule2.Tovar.next;

if iii=1 then break;

end;

if iii=0 then ShowMessage('Товар не найден');

end;

end.

ДОДАТОК Б
















скачати

© Усі права захищені
написати до нас