Помощь в написании студенческих работ
Антистрессовый сервис

Заключение договоров с поставщиками оптового склада

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Кроме того, Delphi позволяет решать множество задач, в частности: создавать законченные приложения для Windows самой различной направленности, быстро создавать профессионально выглядящий оконный интерфейс для любых приложений, написанных на любом языке; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена на компьютере пользователя… Читать ещё >

Заключение договоров с поставщиками оптового склада (реферат, курсовая, диплом, контрольная)

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Государственное образовательное учреждение высшего

профессионального образования

«Тольяттинский государственный университет сервиса»

Кафедра «Прикладная информатика в экономике»

Курсовой проект

по дисциплине «Базы данных»

на тему: «Оптовый склад.

Заключение

договоров с поставщиками".

Выполнил:

ст. гр. И-202

Рябинина Е.В.

Проверил:

ст. преподаватель Киреева О.А.

Тольятти, 2007

  • Введение 3
  • 1. Аналитическая часть 4
    • 1.1 Анализ предметной области. 4
    • 1.2 Анализ информационной структуры 5
    • 1.3 Описание технологии функционирования ИС 6
    • 1.4 Исследование по выбору операционной среды н программного обеспечения. 7
  • Глава 2. Проектная часть 10
    • 2.1 Информационная модель базы данных 10
    • 2.2 Физическая модель базы данных. 12
  • Глава 3. Разработка системы управления проектируемой базы данных 17
    • 3.1 Разработка функциональной модели СУБД 17
    • 3.2 Разработка экранных форм ввода, вывода и отчетов 19
    • 3.3 Разработка функциональных модулей 23
  • Заключение 26
  • Список литературы 27
  • Приложение 28

На сегодняшний день невозможно представить себе жизнь без компьютера. Компьютеры прочно вошли в нашу жизнь, для того чтобы упростить её и помочь нам не растеряться в огромном потоке окружающей нас информации. Почти каждое рабочее место оборудовано по последнему слову техники и программного обеспечения. И нам остаётся только совершенствовать то, что уже нам дано.

Любая учётная работа это большой труд, поэтому её необходимо автоматизировать. Так например, оптовый склад — это сложная система, автоматизация которой крайне необходима. Вся информация, касающаяся поставщиков, товаров, оплаты должна быть представлена лаконично в системе управления.

Также автоматизированные системы управления позволяют избавиться от бумажной волокиты и исключить либо максимально уменьшить возможность ошибок, связанных с человеческим фактором, являющимся причиной дополнительных неудобств и материальных затрат. Поэтому с уверенностью можно сказать, что автоматизация оптового склада, да и не только, — это актуальная на сегодняшний день тема, которую необходимо развивать.

В соответствии с этим, целью данной работы является автоматизация работы по заключению договоров с поставщиками товара на оптовый склад, создание базы данных и приложения базы данных.

Выделим основные задачи данной работы:

1. Анализ предметной области, т. е. области автоматизации рабочего места администратора на оптовом складе.

2. Анализ информационной структуры оптового склада.

3. Анализ и описание функционирования автоматизированной системы оптового склада.

4. Исследование по выбору программного обеспечения для создания приложения.

5. Проектирование информационной модели базы данных оптового склада.

6. Проектирование реляционной модели.

7. Разработка функциональной модели.

8. Разработка форм приложения.

9. Разработка функциональных модулей программы.

10. Непосредственное создание и компиляция приложения.

1. Аналитическая часть

1.1 Анализ предметной области

В данной работе необходимо разработать информационную систему для автоматизации заключения договоров с поставщиками товаров на склад. В данной системе должны храниться данные о заключенных договорах, поставщиках, товарах; причем должна иметься возможность обновления этих данных. Также в системе должны осуществляться поиск договоров и поставщиков по определенным параметрам.

Можно конкретизировать, что в нашем случае предметом фирмы является — поставляемый товар. Следовательно, при проектировании необходимо учесть основные свойства данной категории:

— цена,

— единица измерения,

— производителя,

— страна производителя.

Объектом анализа является сам склад, на котором заключаются договора, субъектом — поставщики товара.

Каждый договор имеет номер, дату, количество товара. По нему определяется и сам документ, и его актуальность. Обязательно в каждом договоре указывается информация о самой поставке.

В данной информационной системе склад указываться не будет, поскольку для всех договоров он одинаковый — наш оптовый склад. Также с одним и тем же поставщиком можно заключить несколько договоров, один и тот же код поставщика может использоваться в нескольких договорах.

Поставщики могут иметь одинаковые названия, но они различаются по своему коду, который уникален. Обязательной информацией является:

— наименование,

— юридический адрес,

— телефон,

— реквизиты (ИНН, КПП).

Каждому заключению присваивается уникальный код, так чтобы достаточно большой объем информации о поставках мог быть кратко представлен в договоре. Здесь пустым не может быть не одно из полей.

В данной информационной системе должны работать работники администрации оптового склада.

1) Ведущие учет о заключенных договорах.

2) Сведения о поставщиках и договорах

Администрация должна иметь возможность получать:

1) сведения о заключенных договорах, то есть его номер, дату для определения срока давности.

2) Данные о товарах, поставляемых на оптовый склад от разных производителей и их количество.

3) сведения о поставщиках: наименование организации, адрес, телефон на случай связи с поставщиком (на случай нарушения обязательств);

4) общую суму поставки.

Выходными документами, которые должны создаваться в системе, являются непосредственные договора, а также итоговые отчеты для администрации оптового склада.

1.2 Анализ информационной структуры

В обобщенном виде заключение договоров о поставке можно представить в виде схемы (рис. 1).

Рис. 1.

Заключение

договоров с поставщиками на оптовый склад

Оптовый склад работает с договором (он осуществляет контакт с поставщиками посредством договора).

1.3 Описание технологии функционирования ИС

В первую очередь необходимо осуществить договор с поставщиком товара. Эта операция непосредственно отражается в заключаемых договорах с поставщиками. Данная документ содержит информацию о поставщиках, осуществляемых доставку товара на предприятие и непосредственно вид поставляемого товара. Учет поступления товаров на склад ведётся работником фирмы, данные берутся непосредственно накладной по товару и из договоров заключённых с поставщиками. Содержатся сведения о количестве прибывшего товара, о дате прихода и непосредственно все данные о поставщике выполняющего заказы. Журнал договоров является одним из основных документов, благодаря информации содержащейся в нем, осуществляются такие операции на фирме, как: учёт многолетних поставок товаров на оптовый склад и отслеживание более выгодных сделок, а так же задолженности по ним. Все выше изложенные данные необходимы также для того, чтобы можно было вести учёт, а затем делать прогнозы на более выгодную поставку товаров. Впоследствии в эти таблицы могут вноситься соответствующие изменения и дополнения на основании обновленной информации, полученной от поставщиков и администрации оптового склада.

1.4 Исследование по выбору операционной среды н программного обеспечения

Выбор в качестве операционной среды для функционирования АРМа платформы Win32 (ей соответствуют операционные системы Windows95, Windows98, NT, Me, XP) обусловлен следующими ее особенностями:

— ориентация заказчика на эту платформу;

— развитые средства создания пользовательского интерфейса;

— достаточная масштабируемость, т. е. способность работать на широком диапазоне компьютерного оборудования;

— наличие драйверов для поддержки широкого спектра периферийных устройств (видеоадаптеров, сетевых адаптеров, принтеров, дисководов CD-ROM и пр.);

— чрезвычайно широкое распространение этой платформы;

— приемлемая для задач такого уровня надежность н производительность программ, работающих с использованием механизма вытесняющей многозадачности.

Из недостатков данной платформы, существенных для предлагаемой разработки, стоит отметить следующие:

— отсутствие в операционных системах Windows95 и Windows98 средств обеспечения безопасности н защиты от несанкционированного доступа, что вынуждает разрабатывать собственные или использовать сторонние модули для этого.;

— высокая требовательность к аппаратным ресурсам компьютера, что вынуждает использовать более мощные аппаратные платформы.

В настоящее время на персональных компьютерах под Windows существует несколько великолепных объектно-ориентированных программных средств: Visual C++, Visual Object, MS Access, Power Builder. Все они обладают своими достоинствами и недостатками, но среди них занимают исключительное место программные продукты фирмы Borland Inc.-лидера объектно-ориентированных технологий, которая со своими новейшими разработками вновь вышла на арену ожесточенной конкурентной борьбы. По своей сути Delphi — это компилятор языка Pascal. Delphi 7 является очередным шагом в эволюции компиляторов Pascal. В чем же основные преимущества Delphi по сравнению с другими аналогичными продуктами?

1. Скорость компиляции. Компиляция Windows приложений производится со скоростью 350 000 строк в минуту. Встроенная МАКЕ-утнлита позволяет быть уверенным, что ре компилируются только измененные модули, а встроенный ассемблер оптимизирует программный код для перевода его в ЕХЕ-файл с целью максимальной эффективности исполнения. В результате готовые программы, построенные с помощью Delphi, выполняются в 10−20 раз быстрее, чем аналогичные модули на базе интерпретирующего p-code (MS Visual Basic, Power Builder н другие). В этом смысле Delphi представляет собой подлинный, истинный компилятор.

2. Borland-продукты всегда пользовались заслуженной популярностью благодаря своим великолепным отладочным средствам в отличие, скажем, от пренебрежительного отношения к нуждам программистов со стороны фирмы Microsoft. В этом смысле Delphi не представляет исключения. Вдобавок он обогащен дополнительными отладочными средствами:

— великолепный GUI Debugger с возможностями установки контрольных точек прерывания, точек контроля прохождения, стэк-монитора, пошагового выполнения и режима трассировки;

— Win Sight-утилита, позволяющая осуществлять непрерывный контроль потока Windows-сообщений;

— WinSpector-модуль, обеспечивающий пользователей дальней диагностикой.

3. Если пользователь предпочитает работать с разнообразными программными средствами, Delphi позволяет создавать многократно используемые библиотеки, которые можно вызывать из Visual C++, Visual Object, MS Access, Power Builder и других популярных программных средств. Кроме того, модно использовать повторно используемые графические компоненты и коммерческие, которые легко прибавляются к конфигурируемой палитре компонентов Delphi.

4. Delphi-приложения, разработанные в среде Windows 3.1, будут работать и под Windows 95 и под Windows NT. Если же все-таки нужно перевести их в 32- битовый режим выполнения, нужно будет просто ре компилировать их в Windows 95 версии Delphi. Переписывать при этом исходный код нет никакой необходимости.

Кроме того, Delphi позволяет решать множество задач, в частности: создавать законченные приложения для Windows самой различной направленности, быстро создавать профессионально выглядящий оконный интерфейс для любых приложений, написанных на любом языке; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена на компьютере пользователя, создавать мощные системы работы с локальными н удаленными базами данных любых типов, создавать многозвенные распределенные приложения, основанные на различных технологиях, создавать кросс платформенные приложения.

В Delphi 7 введена новая технология доступа к базам данных — dbExpress. Это драйверы, обеспечивающие доступ к серверам SQL на основе единого интерфейса.

Все вышеперечисленное превращают Delphi 7 в наилучшее средство для разработки приложения.

Глава 2. Проектная часть

2.1 Информационная модель базы данных

Информационная модель проектируемой базы данных «Оптовый склад» выполнена в Platinum ERWIN в стандарте IDEF1X.

Поставщики Договор Товары Реквизиты

Рис. 2 Информационная модель базы данных «Оптовый склад»

Проектируемая база данных включает в себя четыре таблицы, связанных между собою. Связь осуществляется по ключевым полям и имеет тип «один-ко-многим». Между собою связаны следующие таблицы:

— таблицы «Реквизиты», «Поставщики», связь по полю «Код реквизитов»;

— таблицы «Поставщики», «Договор», связь по полю «Код поставщика»;

— таблицы «Договор» и «Товар» по полю «Код товара»;

Сущность «Товары» отражает виды товаров и является справочником. В неё входят атрибуты: «Код товара» (ключевой атрибут), «Наименование», «Единица измерения», «Производитель» «Страна производителя», «Срок годности» и «Цена».

Сущность «Поставщики» отражает поставщиков товара на склад. Она содержит ключевой атрибут «Код поставщика», а также атрибуты «Наименование организации», «Юридический адрес», «Телефон» и «Реквизиты».

Сущность «Договор» отражает поставки на склад. Ключевым является атрибут «Код договора». Атрибуты «Код товара» и «Код товара» являются внешними ключами, т.к. отражают поставленный товар и поставщика этого товара. Также в эту сущность входят атрибуты «Количество» и «Дата».

Сущность «Реквизиты» содержит реквизиты организации, поставляемой товар на оптовый склад. «Код реквизитов» является ключевым атрибутом. Дополнительные атрибуты — «ИНН» и «КПП».

Сущности «Товары», «Поставщики» и «Реквизиты» являются справочными, «Договор» — операционной.

2.2 Физическая модель базы данных

В соответствии с проведенными нами системным анализом предметной области и спроектированной инфологической моделью, база данных данного курсового проекта состоит из четырех таблиц: «Поставщики», «Реквизиты», «Договор», «Товар». Поля для обязательного заполнения указаны в соответствии с ограничениями на информацию, указанными в системном анализе предметной области

Таблица «Реквизиты». (Req)

Смысл

Название

Тип

Длина

Код реквизитов

Kod_req

Автоинкремент

ИНН

INN

строка

КПП

KPP

строка

Рис. 3. Таблица «Реквизиты». (Req)

программа база данные договор

Таблица «Поставщики». (Post)

Смысл

Название

Тип

Длина

Код поставщика

Kod_post

Автоинкремент

Наименование

Name_post

Строка

Юр. адрес

Adres

Строка

Телефон

Telefon

Целочисленные значения

Код реквизитов

Kod_req

Целочисленные значения

Рис. 4. Таблица «Клиенты». (Klienti)

Таблица «Договор». (Dog)

Смысл

Название

Тип

Длина

№ договора

N_dog

Автоинкремент

Код товара

Kod_tov

Целочисленные значения

Код поставщика

Kod_post

Целочисленные значения

Количество

Kol_vo

Целочисленные значения

Дата

Date

Дата

Рис. 5. «Договор» (Dog)

Таблица «Товары». (Tov)

Смысл

Название

Тип

Длина

Код товара

Kod_tov

Автоинкремент

Наименование товара

Name_tov

Строка

Производитель

Proiz

Строка

Страна производителя

Strana

Строка

Срок годности

Srok_god

Целочисленные значения

Цена

Zena

Целочисленные значения

При создании данной базы данных мною были определены следующие индексы:

1) в таблице «Договор»

a. код поставщика

b. код товара

c. количество

d. номер договора

2) в таблице «Поставщики»

a. код реквизитов

b. код поставщика

c. наименование поставщика

3) в таблице «Товары»

a. код товара

b. наименование товара

c. цена

4) в таблице «Реквизиты»

a. код реквизитов

Глава 3. Разработка системы управления проектируемой базы данных

3.1 Разработка функциональной модели СУБД

Разрабатываемую систему управления базой данных можно представить в виде схемы (выполнена в BPWin), (рис.9).

Рис. 9. Схема СУБД «

Заключение

договоров с поставщиками товара на оптовый склад"

Таким образом, из данной схемы видно, что разрабатываемая система должна выполнять следующие функции: ввод новой информации в БД, обновление и удаление раннее введенной информации, поиск, сортировка и фильтрация необходимых данных.

Для этого предназначены следующие модули:

1. Модули, обеспечивающие доступ к другим модулям приложения.

2. Модули, обеспечивающие доступ к таблицам БД и позволяющие вводить новую информацию, обновлять и удалять введенную ранее информацию.

3. Модули, обеспечивающие доступ к таблицам БД и позволяющие осуществлять просмотр данных, их поиск, сортировку и фильтрацию.

4. Модуль, осуществляющий запрос по информации из других таблиц.

5. Модуль, отвечающий за своевременное функционирование механизмов устранения транзакций.

3.2 Разработка экранных форм ввода, вывода и отчетов

При разработке СУБД «Склад» были разработаны экранные формы ввода/вывода исходных данных и результатов обработки, а также печатаемых отчётов. Они представлены на следующих рисунках…

Форма позволяет осуществить выбор модуля посредством нажатия на одну из кнопок.

При нажатии на кнопку «Поставщики» появляется форма «Поставщики», в которой происходит редактирование соответствующей таблицы:

Навигатор позволяет оперировать таблицей, группа — редактировать текущую запись. Радио-группа осуществляет сортировку таблицы. GroupBox осуществляет фильтрацию по различным полям. Нажатием на кнопку осуществляется поиск по наименованию и по двум полям (наименование, адрес), осуществляется легкое перемещение по полям таблицы. При нажатии на «Печать» на печать выдается договор о поставке товара на оптовый склад.

При нажатии на кнопку «Реквизиты» меню «Переход на другую форму» появляется форма «Реквизиты», в которой происходит редактирование реквизитов предприятия, выступающего в роли поставщика на склад:

При нажатии на кнопку «Договор» в меню «Переход на другую форму» открывается форма «Договор», позволяющая редактировать таблицу «Договор»:

Эта форма аналогична форме «Постывщики».

При нажатии на кнопку «Товары» появляется форма «Товары», позволяющая вносить и редактировать данные о товарах:

При выборе в меню функции «Рассчитать сумму» появляется возможность рассчитать общую сумму поставки товаров на склад.

При выборе кнопки «Выход» закрывается соответствующая форма.

Кнопки «Поиск», «Фильтр», «Сортировать» позволяют оперировать таблицей. Радио-группы осуществляет сортировку и поиск по таблице. Навигатор позволяет оперировать таблицей. При добавлении новой записи можно воспользоваться выпадающими списками.

3.3 Разработка функциональных модулей

Исходя из вышесказанного, можно сделать вывод, что для успешного функционирования программы необходимо и достаточно создание следующих модулей:

1. Модуль «Главная форма» — Модуль управления «Главная форма»

2. Модуль «Договора» — Модуль управления «Договора»

3. Модуль «Поставщики» — Модуль управления «Поставщики»

4. Модуль «Товары» — Модуль управления «Товары»

5. Модуль «Реквизиты» — Модуль управления «Реквизиты»

Из каждого из этих модулей имеется возможность перехода на любой другой модуль.

Каждому из вышеперечисленных модулей соответствуют экранные формы.

Модулю «Главная форма» соответствует экранная форма «Главная форма».

Форма содержит:

— кнопки перехода ко всем экранным формам;

— кнопку закрытия экранной формы;

— Модулю «Договора» соответствует экранная форма «Договора».

— На ней расположены:

— группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;

— поле для ввода информации о коде товара и коде поставщика с выпадающим списком

— кнопка закрытия экранной формы;

— кнопка, обеспечивающая фильтрацию информации о договорах по различным параметрам;

— кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;

— навигатор, позволяющий оперировать таблицей;

— кнопка, обеспечивающая сортировку информации по номеру договора и по количеству товара.

— Модулю «Поставщики» соответствует экранная форма «поставщики».

— На ней расположены следующие объекты:

— кнопки перехода к экранным формам;

— поле для ввода информации с выпадающим списком кодов реквизитов;

— группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;

— кнопка закрытия экранной формы;

— кнопка, обеспечивающая поиск по различным параметрам;

— кнопку печать, позволяющую выводить на печать соответствующий отчёт;

— кнопка, обеспечивающая фильтрацию информации по различным параметрам;

— кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;

— навигатор, позволяющий оперировать таблицей;

— кнопки для быстрого перехода по записям таблицы.

— Модулю «Товары» соответствует экранная форма «Товары».

— На ней расположены следующие объекты:

— группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;

— кнопка закрытия экранной формы;

— кнопка, обеспечивающая поиск данных о товарах по их наименованию;

— кнопка, обеспечивающая фильтрацию информации по различным параметрам;

— кнопка, позволяющая восстановить все записи в таблице, скрытые в результате фильтрации;

— группу полей, отображающих текущие значения ячеек таблицы и обеспечивающих ввод новой информации в таблицу;

— навигатор, позволяющий оперировать таблицей.

Модулю «Реквизиты» соответствует экранная форма «Реквизиты».

На ней расположены:

— кнопки перехода к экранным формам;

— кнопка закрытия экранной формы;

— навигатор, позволяющий оперировать таблицей.

Заключение

Результатом данного курсового проекта является создание приложения для работы с базой данных «Заключение договоров с поставщиками товара ни оптовый склад». Оно автоматизирует доступ к базе данных, а также оптимизирует работу сотрудников и руководителей оптового склада.

Разработанное приложение может быть использовано оптовым складом, не зависимо от того, на каком товаре он специализируется. Данная программа обеспечивает надежное хранение информации, а также существенную экономию времени, затрачиваемого на работу с имеющимися данными.

При создании данного приложения были реализованы следующие задачи:

1. была проанализирована предметная область — область автоматизации учета оказанных услуг в компьютерном сервисном центре;

2. было проведено исследование по выбору программного обеспечения для создания базы данных и приложения, выбор был сделан в пользу Borland Delphi;

3. была спроектирована информационная модель базы данных в ERWIN в стандарте IDEF1X, в соответствии с предметной областью;

4. была разработана физическая модель базы данных заключения договоров с поставщиками товаров на оптовый склад;

5. было создано приложения для работы с базой данных;

6. приложение было протестировано и отлажено;

Таким образом, задачи курсового проекта выполнены, а значит, цель достигнута.

В будущем планируется усовершенствование данного приложения, а именно:

1. разработка модулей, позволяющих устанавливать ограничения на доступ к данным для различных категорий пользователей

2. расширение базы данных, за счет добавления дополнительных справочных таблиц.

На данном этапе разработки созданное приложение для работы с базой данных «Заключение договоров с поставщиками товара на оптовый склад» выполняет свои функции, а значит, готово к использованию.

1. Архангельский А. Я. Программирование в Delphi 5 — 2-е изд., переработ. И дополн. — М.: ЗАО «Издательство БИНОМ», 2000 г.

2. http:\www.delphiworld.narod.ru

3. Дейт, К., Дж.

Введение

в системы баз данных, 6-е издание: Пер. с англ. — К.; М.; СПб.: Издательский дом «Вильямс», 2000. — 848 с.: Парал. тит. англ., уч. пос.

4. Дж. Ульман, Дж. Видом.

Введение

в системы баз данных. М.: Лори.-2000.

5. К. Дейт.

Введение

в системы баз данных. 7-е изд., М.; СПб.: Вильямс.-2002.

Приложение

Листинг программы

Модуль «Поставщики»

unit Unit1;

interface

uses

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

Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ExtCtrls, Mask, DBCtrls,

Menus, Buttons;

type

TForm1 = class (TForm)

DataSource1: TDataSource;

Table1: TTable;

Button2: TButton;

Edit1: TEdit;

Button4: TButton;

Edit2: TEdit;

RadioGroup1: TRadioGroup;

Button1: TButton;

Label1: TLabel;

Button6: TButton;

Button7: TButton;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

DBGrid1: TDBGrid;

N6: TMenuItem;

N7: TMenuItem;

DBLookupComboBox1: TDBLookupComboBox;

Query1: TQuery;

DataSource2: TDataSource;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Edit4: TEdit;

Button3: TButton;

Button5: TButton;

N8: TMenuItem;

Label3: TLabel;

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button5Click (Sender: TObject);

procedure Button6Click (Sender: TObject);

procedure Button7Click (Sender: TObject);

procedure Button9Click (Sender: TObject);

procedure Button10Click (Sender: TObject);

procedure Button8Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure N7Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N8Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;

{$R *.dfm}

procedure TForm1. Button2Click (Sender: TObject);

begin

Table1.Locate ('Name_post', edit1. Text, [loCaseInsensitive, loPartialKey]) ;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

try

if RadioButton1. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Name_post='''+edit4.Text+''')';

end;

if RadioButton2. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Adres='''+edit4.Text+''')';

end;

if RadioButton3. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Kod_req='''+edit4.Text+''')';

end;

except

ShowMessage (' некорректно введены условия фильтра! ');

end;

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

if Table1. Locate ('Name_post;Adres',

VarArrayOf ([edit1.Text, edit2. Text]),

[loCaseInsensitive, loPartialKey])=false then

ShowMessage (' Запись не найдена! ') ;

end;

procedure TForm1. Button1Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: Table1. IndexName:= 'Sort_kod_post';

1: Table1. IndexName:= 'Sort_name_post';

End;

end;

procedure TForm1. Button5Click (Sender: TObject);

begin

Table1.Filtered:=False;

end;

procedure TForm1. Button6Click (Sender: TObject);

begin

Table1.First;

end;

procedure TForm1. Button7Click (Sender: TObject);

begin

Table1.Last

end;

procedure TForm1. Button9Click (Sender: TObject);

begin

Table1.Filtered:=False;

end;

procedure TForm1. Button10Click (Sender: TObject);

begin

Table1.Filtered:=True;

Table1.Filter:=edit4.text;

end;

procedure TForm1. Button8Click (Sender: TObject);

begin

Form2.Show

end;

procedure TForm1. N2Click (Sender: TObject);

begin

close

end;

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: Table1. IndexName:= 'Sort_Naimenovanie';

1: Table1. IndexName:= 'Sort_Telephone';

end;

end;

procedure TForm1. N4Click (Sender: TObject);

begin

Form3.Show

end;

procedure TForm1. N5Click (Sender: TObject);

begin

Form2.Show

end;

procedure TForm1. N6Click (Sender: TObject);

begin

Form4.Show;

end;

procedure TForm1. N7Click (Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1. N3Click (Sender: TObject);

begin

Form6.QuickRep1.Preview;

end;

procedure TForm1. N8Click (Sender: TObject);

begin

form7.show;

end;

end.

Модуль «Товары»

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, Mask, DBCtrls, DB, DBTables, Grids, DBGrids, ExtCtrls,

Menus;

type

TForm2 = class (TForm)

DataSource1: TDataSource;

Table1: TTable;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label2: TLabel;

Label3: TLabel;

Button1: TButton;

Button2: TButton;

RadioGroup1: TRadioGroup;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

DBGrid1: TDBGrid;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

RadioButton4: TRadioButton;

Button3: TButton;

Button4: TButton;

Edit1: TEdit;

Label4: TLabel;

Edit2: TEdit;

Button5: TButton;

Label5: TLabel;

Label6: TLabel;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure GroupBox1Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button5Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1, Unit3;

{$R *.dfm}

procedure TForm2. Button1Click (Sender: TObject);

begin

IF Table1. State = dsBrowse THEN

Table1.Insert;

end;

procedure TForm2. Button2Click (Sender: TObject);

begin

try

case RadioGroup1. ItemIndex of

0: Table1. IndexName:= 'Sort_kod_tov';

1: Table1. IndexName:= 'Sort_name_tov';

2: Table1. IndexName:= 'Sort_zena';

end;

except

ShowMessage ('ошибка! ');

end;

end;

procedure TForm2. N2Click (Sender: TObject);

begin

Form3.Show

end;

procedure TForm2. N3Click (Sender: TObject);

begin

Form1.Show

end;

procedure TForm2. N4Click (Sender: TObject);

begin

close

end;

procedure TForm2. Button3Click (Sender: TObject);

begin

try

if RadioButton1. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Name_tov='''+edit1.Text+''')';

end;

if RadioButton2. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Proiz='''+edit1.Text+''')';

end;

if RadioButton3. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Zena='''+edit1.Text+''')';

end;

if RadioButton4. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Srok_god='''+edit1.Text+''')';

end;

except

ShowMessage (' Некорректно введены условия фильтра! ');

end;

end;

procedure TForm2. GroupBox1Click (Sender: TObject);

begin

Form1.Show

end;

procedure TForm2. Button4Click (Sender: TObject);

begin

Table1.Filtered:=False;

end;

procedure TForm2. Button5Click (Sender: TObject);

begin

Table1.Locate ('Name_tov', edit2. Text, [loCaseInsensitive, loPartialKey]) ;

end;

procedure TForm2. FormCreate (Sender: TObject);

begin

end;

end.

Модуль «Договора»

unit Unit3;

interface

uses

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

Dialogs, DB, DBTables, Grids, DBGrids, Menus, StdCtrls, ExtCtrls, DBCtrls;

type

TForm3 = class (TForm)

DataSource1: TDataSource;

Table1: TTable;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

RadioGroup1: TRadioGroup;

DBGrid1: TDBGrid;

Button2: TButton;

N5: TMenuItem;

DBLookupComboBox1: TDBLookupComboBox;

DBLookupComboBox2: TDBLookupComboBox;

DBNavigator1: TDBNavigator;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Edit1: TEdit;

Button1: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

N6: TMenuItem;

Label1: TLabel;

Button6: TButton;

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button1Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure Button5Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure Button6Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Unit2, Unit1, Unit4, Unit7;

{$R *.dfm}

procedure TForm3. N2Click (Sender: TObject);

begin

Form2. show ;

end;

procedure TForm3. N3Click (Sender: TObject);

begin

Form1.Show ;

end;

procedure TForm3. N4Click (Sender: TObject);

begin

close ;

end;

procedure TForm3. Button2Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: Table1. IndexName:= 'Sort_N_dog';

1: Table1. IndexName:= 'Sort_kol_vo';

end;

end;

procedure TForm3. N5Click (Sender: TObject);

begin

Form4.Show;

end;

procedure TForm3. Button3Click (Sender: TObject);

begin

try

if RadioButton1. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Kod_tov='''+edit1.Text+''')';

end;

if RadioButton2. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Kod_post='''+edit1.Text+''')';

end;

if RadioButton3. Checked=True then

begin

Table1.Filtered:=true;

Table1.Filter:=' (Date='''+edit1.Text+''')';

end;

except

ShowMessage (' Некорректно введены условия фильтра! ');

end;

end;

procedure TForm3. Button1Click (Sender: TObject);

begin

Table1.Filtered:=False;

end;

procedure TForm3. Button4Click (Sender: TObject);

begin

Form2. show ;

end;

procedure TForm3. Button5Click (Sender: TObject);

begin

Form1.Show ;

end;

procedure TForm3. N6Click (Sender: TObject);

begin

Form7.Show ;

end;

procedure TForm3. Button6Click (Sender: TObject);

begin

Form7.Show ;

end;

procedure TForm3. FormCreate (Sender: TObject);

begin

end;

end.

Модуль «Реквизиты»

unit Unit4;

interface

uses

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

Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables;

type

TForm4 = class (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Table1: TTable;

DBNavigator1: TDBNavigator;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

procedure N2Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N5Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

Uses Unit1, Unit2, Unit3;

{$R *.dfm}

procedure TForm4. N2Click (Sender: TObject);

begin

Form1.Show;

end;

procedure TForm4. N3Click (Sender: TObject);

begin

Form1.Show;

end;

procedure TForm4. N4Click (Sender: TObject);

begin

Form3.Show;

end;

procedure TForm4. N5Click (Sender: TObject);

begin

close

end;

procedure TForm4. FormCreate (Sender: TObject);

begin

end;

end.

Модуль «Главная форма»

unit Unit5;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm5 = class (TForm)

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Image1: TImage;

procedure Button1Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Unit1, Unit3, Unit2;

{$R *.dfm}

procedure TForm5. Button1Click (Sender: TObject);

begin

Form1.Show;

end;

procedure TForm5. Button3Click (Sender: TObject);

begin

Form3.Show;

end;

procedure TForm5. Button2Click (Sender: TObject);

begin

Form2.Show;

end;

procedure TForm5. Button4Click (Sender: TObject);

begin

close

end;

procedure TForm5. FormCreate (Sender: TObject);

begin

end;

end.

Модуль «Рассчитать сумму»

unit Unit7;

interface

uses

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

Dialogs, Menus, DB, DBTables, Grids, DBGrids, StdCtrls;

type

TForm7 = class (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Query1: TQuery;

MainMenu1: TMainMenu;

N1: TMenuItem;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

N2: TMenuItem;

procedure N1Click (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7. N1Click (Sender: TObject);

var

sum, sum1, kol, zen: integer;

str: string;

begin

sum:=0;

with Query1 do

begin

First;

while not (eof) do

begin

kol:=fieldbyName ('Kol_vo').asInteger;

zen:=fieldbyName ('Zena').asInteger;

sum1:=kol*zen;

sum:=sum+sum1;

next;

end;

end;

str:=inttostr (sum);

label2.Caption:=str;

end;

procedure TForm7. N2Click (Sender: TObject);

begin

close

end;

procedure TForm7. FormCreate (Sender: TObject);

begin

end;

end.

Модуль «Отчет»

unit Unit6;

interface

uses

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

Dialogs, QuickRpt, QRCtrls, ExtCtrls;

type

TForm6 = class (TForm)

QuickRep1: TQuickRep;

QRBand1: TQRBand;

QRBand2: TQRBand;

QRBand3: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel5: TQRLabel;

QRLabel6: TQRLabel;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRDBText5: TQRDBText;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Unit1;

{$R *.dfm}

end.

Показать весь текст
Заполнить форму текущей работой