АРМ менеджера по продаже недвижимости

42



7











МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН



УСТЬ-КАМЕНОГОРСКИЙ КОЛЛЕДЖ ЭКОНОМИКИ И ФИНАНСОВ



Специальность «Программное обеспечение вычислительной техники и автоматизированных систем»











Пояснительная записка 

К ДИПЛОМНОМУ ПРОЕКТУ

		

		

		

		Руководитель:

			Преподаватель:

			__________________

			«____»____________2008 г.

		

			Студент:

			___________________Крутьева Е.А.

			«____»_____________2008 г.

			Специальность 3706002

			Группа ТП-41

	

	

	Усть-Каменогорск, 2008
ЗАДАНИЕ К ДИПЛОМНОМУ ПРОЕКТУ

	

			Разработать АРМ менеджера  по продаже недвижимости.

	

	Руководитель 	

	«______»_________________200__г.

	

	
РЕФЕРАТ

	

		Пояснительная записка изложена на 68 страницах, в нее входят: 

	17 – рисунков, 7 – таблиц, 3 – приложений, 10 – используемых литературных источников. Пояснительная записка состоит из трех разделов: введение, основная часть, заключение.

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

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

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

	

	

	

	

	

	
СОДЕРЖАНИЕ

		

	Введение	5

	Исследование автоматизации рынка недвижимости	6

			Системно-структурная характеристика предметной области	6

			Проектные решения по информационному обеспечению	9

			Проектные решения по программному обеспечению	10

	Разработка автоматизации рынка недвижимости	11

			Информационное обеспечение комплекса задач	11

	Инфологическая модель, схема данных и ее описание	11

	Используемые классификаторы и системы кодирования	14

	Характеристика входной, выходной и нормативно-справочной информации	15

			Внутримашинная реализация комплекса задач	16

	Формализация расчетов	16

	Структурная схема использования комплекса программ	19

	Технологическое обеспечение	19

	Организация технологии сбора, передачи, обработки и выдачи	19

	Схема технологического процесса сбора, передачи, обработки и выдачи информации	20

	Программное обеспечение комплекса задач	22

	Общие положения	22

	Структурная схема пакета	22

	Описание программных модулей	23

	Проектирование интерфейсов	23

	Схема  взаимосвязи  программных модулей и информационных файлов	24

	Выбор и обоснование технических средств	24

	Выбор методики обеспечивающей надежность и защищенность ИС	25

	Безопасность и экологичность	27

	Санитарные нормы использования ИС	27

	Электробезопасность и пожарная безопасность	31

	Заключение	36

	Список использованной литературы	37

	Приложение А – Входные и выходные документы

	Приложение В – Интерфейс приложения

	Приложение С – Листинг приложения


ВВЕДЕНИЕ



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

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

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

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

обеспечить сбор и обработку данных для формирования отчетов;

обеспечить контроль заполнения;

ускорить работу с большими объемами информации;

отслеживать средние ценовые расценки на рынке недвижимости;

производить анализ соотношения спроса и предложения;

организовать обработку входных и выходных данных;

организовать быстрый поиск требуемой информации.

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

	

	1. Исследование автоматизации рынка недвижимости

	

	1.1. Системно-структурная характеристика предметной области

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

		При работе с клиентурой агентство по недвижимости совершает следующие основные операции:

получает заявки на покупку или продажу квартиры;

заключает сделки по купле-продаже;

анализирует соотношения спроса и предложения;

делает прогнозирование цен в сфере недвижимости;

дает консультации по покупке или продаже квартир.

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



Таблица 1 - Множество атрибутов

№

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

Идентификатор

1

Код квартиры

ID_KV

2

РНН клиента

RNN_KL

3

Количество комнат

KOL_KOM

4

Улица

ULIZA

5

Дом 

DOM

	Продолжение Таблицы 1

№

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

Идентификатор

6

Квартира

KV

7

Лифт в подъезде (есть или нет)

LIFT

8

Балкон в квартире (есть или нет)

BALKON

9

Телефон квартиры (есть или нет)

TELEFON

10

Ремонт в квартире (есть или нет)

REMONT

11

Этаж квартиры

ETAG

12

Площадь квартиры

PLOSHAD

13

Стоимость квартиры

ZENA

14

Статус квартиры

STATUS

15

Дополнительная информация

DOP

16

ФИО клиента

FIO_KL

17

Адрес клиента

ADRES_KL

18

Домашний телефон

TELEFON_DOM

19

Сотовый телефон

TELEFON_SOT

20

РНН сотрудника

RNN_SOTR

21

ФИО сотрудника

FIO_SOTR

22

Адрес сотрудника

ADRES_SOTR

23

Код должности

ID_DOLGN

24

Должность

DOLGN

25

Зарплата

ZARPLATA

26

Фотография сотрудника

FOTO_SOTR

27

Код сделки

ID_SDELKY

28

Сумма сделки

SUMMA

29

Оплата услуг

OPLATA_USLUG

30

Дата сделки

DATA

31

Код статуса

ID_STATUS

	

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

		При определении инфологической модели необходимо принимать во внимание следующее:

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

База данных должна обеспечивать получение требуемых данных за приемлемое время, то есть отвечать заданным требованиям производительности.

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

База данных должна легко расширяться при реорганизации и расширении предметной области.

База данных должна легко изменяться при изменении программной и аппаратной среды.

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

		На основании обследования предметной области выделим следующие сущности с атрибутами (ключевые атрибуты выделены подчеркиванием)

		Сотрудники: (RNN_SOTR, FAM_SOTR, NAME_SOTR, OTH_SOTR, ADRES_SOTR, TELEFON_DOM, TELEFON_SOT, DOLGNOST, FOTO, DOP);

	Клиенты: (RNN_KL, FIO_KL, ADRES_KL, TELEFON_DOM, TELEFON_SOT);

	Предложения: (ID_KV, RNN_KL, KOL_KOM, ZENA, ULIZA, DOM, KV, ETAG, TELEFON, BALKON, LIFT, REMONT, PLOSHAD, STATUS, DOP);

	Сделки: (ID_SDELKY, RNN_POKUP, RNN_PROD, RNN_SOTR, SUMMA, OPLATA_USLUG, DATA);

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

	

КЛИЕНТЫ

	

Заключают

Оставляют







ПРЕДЛОЖЕНИЯ

СДЕЛКИ



Подбирают

Оформляют









СОТРУДНИКИ





	Рис.1 - Инфологическая модель предметной области

	1.2. Проектные решения по информационному обеспечению

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

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

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

	1.3. Проектные решения по программному обеспечению

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

		Программное приложение должно поддерживать русский интерфейс, быть приложением Windows.

		Данная разработка должна соответствовать следующим требованиям:

защита информации от несанкционированного доступа;

оперативность информационного обмена и управления;

рациональная организация информационных фондов;

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

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

	2. Разработка автоматизации рынка недвижимости

	

	2.1. Информационное обеспечение комплекса задач

	2.1.1. Инфологическая модель, схема данных и ее описание

		Для проектирования схемы данных, необходимо привести отношения к 3НФ необходимо провести анализ функциональных зависимостей между атрибутами в пределах каждого отношения.

Сотрудники: (RNN_SOTR, FIO_SOTR, ADRES_SOTR, TELEFON_DOM, TELEFON_SOT, DOLGNOST, FOTO, DOP).

		Учет сотрудников ведется с помощью РНН сотрудника. Атрибут RNN_SOTR – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ. 

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

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

Клиенты: (RNN_KL, FIO_KL, ADRES_KL, TELEFON_DOM, TELEFON_SOT).

		Учет клиентов ведется с помощью РНН клиентов. Атрибут RNN_KL – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ. 

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

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

Предложения: (ID_KV, RNN_KL, KOL_KOM, ZENA, ULIZA, DOM, KV, ETAG, TELEFON, BALKON, LIFT, REMONT, PLOSHAD, STATUS, DOP).

		Учет поступающих предложений ведется по коду квартиры. Атрибут ID_KV – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ. 

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

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

Сделки: (ID_SDELKY, RNN_POKUP, RNN_PROD, RNN_SOTR, SUMMA, OPLATA_USLUG, DATA).

Учет совершаемых сделок ведется по коду сделки. Атрибут ID_SDELKY – уникален и является первичным ключом. Все атрибуты являются атомарными, следовательно, отношения находятся в 1НФ. 

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

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

	Таким образом, в результате приведения отношений к 3НФ получили следующие отношения КЛИЕНТЫ, СОТРУДНИКИ, СДЕЛКИ, ПРЕДЛОЖЕНИЯ. На Рис.2 представлена схема данных после нормализации отношений.




			

КЛИЕНТЫ

RNN_KL

FIO_KL

ADRES_KL

TELEFON_DOM

TELEFON_SOT



			

			

ПРЕДЛОЖЕНИЯ

ID_KV

RNN_KL

KOL_KOM

ZENA

ULIZA

DOM

KV

PLOSHAD

ETAG

LIFT

REMONT

BALKON

TELEFON

STATUS

DOP



			

			

			

			

СДЕЛКИ

ID_SDELKY

RNN_POKUP

RNN_PROD

RNN_SOTR

SUMMA

OPLATA_USLUG

DATA



			

			

			

			

			

			

			

			

СОТРУДНИКИ 

RNN_SOTR

FIO_SOTR

ADRES

TELEFON_DOM

TELEFON_SOT

DOLGNOST

FOTO

DOP



			

			

			

			

			

			

			

			

			

			

			Рис.2- Схема данных предметной области после нормализации

	
2.1.2. Используемые классификаторы и системы кодирования

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

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

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

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

		В таких справочниках как, «Справочник о сотрудниках» и «Справочник о клиентах» используется единый казахстанский классификатор Регистрационных Номеров Налогоплательщиков (РНН). Этот класификатор является стандартным и относится к разряду серийных классификаторов. 

	
2.1.3. Характеристика входной, выходной и нормативно-справочной информации

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

				Входная информация представлена в виде документа «Заявка на оказание услуг». В этом документе указываются такие данные как: РНН клиента, Ф.И.О. клиента, телефон домашний, телефон сотовый, адрес клиента, количество комнат, адрес квартиры, этаж, цена квартиры. Указывается статус заявки (покупка или продажа), если заявка на продажу квартиры указывается, есть ли наличие лифта, балкона, телефона и ремонта.

				Нормативно-справочной информацией являются следующие справочники: 

				Справочник «Статус продаж», содержит информацию о том, какой статус имеет квартира (продается, покупается, продано).

				Справочник «Должность сотрудника», содержит информацию о том, какую должность занимает сотрудник.

				Справочник «Сотрудники», содержит информацию о сотрудниках.

				Справочник «Клиенты», содержит информацию о клиентах.

				Выходная информация представлена в виде документа «Договор на оказание посреднических услуг». В этом документе указываются такие данные как: дата составления, Ф.И.О. сотрудника, Ф.И.О. клиента, РНН клиента, количество комнат, адрес квартиры, этаж. Указывается, есть ли наличие лифта, балкона, телефона и ремонта. Так же указывается стоимость квартиры и размер оплаты услуг агентства. 

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

				Так же выходная информация будет содержать отчет о квартирах, стоимость которых  ниже средней цены;

	
2.2. Внутримашинная реализация комплекса задач

	2.2.1. Формализация расчетов

		Исходные данные представлены в виде таблиц. Организация таблиц в программном приложении происходит в формате СУБД Paradox.

	Таблица 2 – «Сотрудники»

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	RNN_sotr

	Alpha

	12

	Уникальный идентификатор

	FIO_sotr

	Alpha

	60

	Содержит Ф.И.О. сотрудника

	Adres

	Alpha

	100

	Содержит адрес сотрудника

	Telefon_dom

	Alpha

	8

	Содержит домашний телефон сотрудника

	Telefon_sot

	Alpha

	15

	Содержит сотовый телефон сотрудника

	Dolgnost

	Long Integer

	-2147483648 .. +2147483647

	Содержит код должности сотрудника

	Foto

	Graphic

	0-240

	Содержит фотографию сотрудника

	Dop

	Memo

	1-240

	Содержит дополнительную информацию о сотруднике



Таблица 3 – «Клиенты»

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	RNN_kl

	Alpha

	12

	Уникальный идентификатор




Продолжение Таблицы 3

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	FIO_kl

	Alpha

	60

	Содержит Ф.И.О. клиента

	Adres _kl

	Alpha

	100

	Содержит адрес клиента

	Telefon_dom

	Alpha

	8

	Содержит домашний телефон клиента

	Telefon_sot

	Alpha

	15

	Содержит сотовый телефон клиента



Таблица 4 – «Предложения»

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	ID_kv

	Autoincrement

	-

	Уникальный идентификатор

	RNN_kl

	Alpha

	12

	Содержит РНН клиента

	Kol_kom

	Long Integer

	-2147483648 .. +2147483647

	Содержит сколько комнат в квартире

	Zena

	Long Integer

	-2147483648 .. +2147483647

	Содержит стоимость квартиры

	Uliza

	Alpha

	70

	Содержит название улицы

	Dom

	Alpha

	10

	Содержит номер дома

	Kv

	Long Integer

	-2147483648 .. +2147483647

	Содержит номер квартиры

	Ploshad

	Number

	-10307 .. +10307

	Содержит общую площадь квартиры

	Etag

	Long Integer

	-2147483648 .. +2147483647

	Содержит этаж квартиры

	Lift

	Logical

	-

	Указывает наличие лифта



Продолжение Таблицы 4

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	Remont

	Logical

	-

	Указывает наличие ремонта

	Balkon

	Logical

	-

	Указывает наличие балкона

	Telefon

	Logical

	-

	Указывает наличие телефона

	Status

	Long Integer

	-2147483648 .. +2147483647

	Содержит статус квартиры

	Dop

	Memo

	1-240

	Содержит дополнительную информацию



Таблица 5 – «Должность»

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	ID_dolgn

	Autoincrement

	-

	Уникальный идентификатор

	Dolgnost

	Alpha

	40

	Содержит данные о должности сотрудника

	Zarplata

	Long Integer

	-2147483648 .. +2147483647

	Содержит данные о зарплате сотрудника



Таблица 6 – «Статус»

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	ID_status

	Autoincrement

	-

	Уникальный идентификатор

	Status

	Alpha

	15

	Содержит данные о статусе квартиры

	

	

Таблица 7 – «Сделки »

	Имя реквизита

	Тип данных

	Размерность

	Назначение

	ID_sdelky

	Autoincrement

	-

	Уникальный идентификатор

	RNN_prod

	Alpha

	12

	Содержит РНН продавца

	RNN_pokup

	Alpha

	12

	Содержит РНН покупателя

	RNN_sotr

	Alpha

	12

	Содержит РНН сотрудника

	Summa

	Long Integer

	-2147483648 .. +2147483647

	Содержит стоимость квартиры

	Oplata_uslug

	Long Integer

	-2147483648 .. +2147483647

	Содержит оплату услуг



	2.2.2. Структурная схема использования комплекса программ

				Структурная схема использования комплекса программ представлена на Рис.3.

			

Главная форма

			

Регистрация входной информации

Справочник о сотрудниках

Запросы

Справочник о клиентах

Отчеты

Архив предложений

Архив сделок

			

			

			

Справочник – Должность сотрудника

			

			

			

Справочник – Статус квартиры

			

			

			

			

	Рис.3 – Структурная схема использования комплекса программ

	2.3. Технологическое обеспечение

	2.3.1. Организация технологии сбора, передачи, обработки и выдачи информации

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

		Информационная технология связана с процедурами сбора и преобразования информации.

		Построение технологического процесса определяется следующими факторами:

	особенностями обрабатываемой информации;

	объемом информации;

требованиями к точности и срочности обработки.

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

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

	2.3.2. Схема технологического процесса сбора, передачи, обработки и выдачи информации

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

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



Клиент подает в агентство заявку на оказание услуг

Регистрация заявки в агентстве

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

Поиск и подбор потенциальных вариантов 

Требования удовлетворены

С клиентом заключается сделка

Договор между агентством и клиентом расторгается

Да

Нет

























Регистрация документа «Отчет Агента»





Рис.4 - Схема технологического процесса сбора, передачи, обработки

	выдачи информации

		После регистрации заявки, на основании полученных данных организуется обработка информации, она предполагает поиск и подбор вариантов, удовлетворяющих заявленным требованиям клиента. С клиентом заключается договор на оказание услуг, в нем отражаются права и обязанности обеих сторон. Один экземпляр договора остается у «Исполнителя», а другой у «Заказчика». Дальнейшая обработка, поиск информации в постоянно изменяющемся архиве предложений влечет к выявлению потенциальных вариантов. Если интересы клиента будут удовлетворены в полном объеме, по заявленным требованиям, то заключается сделка между клиентом и представителем от агентства, производится оплата услуг. После совершения сделки, агент заполняет документ «Отчет агента», в котором указывает необходимую информацию о состоявшейся сделке. После чего эта информация регистрируется в архиве сделок. 

	2.4. Программное обеспечение комплекса задач

	2.4.1. Общие положения

		Так как для проектирования приложения была выбрана реляционная модель данных, то приложение для обработки БД будет разработано в среде объектно-ориентированного программирования Delphi.. Среда Delphi включает в себя полный набор визуальных средств, для разработки приложений, поддерживающих создание пользовательских интерфейсов. Организация таблиц в программном приложении происходит в формате СУБД Paradox. Поскольку таблицы Paradox поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за правильностью вводимых в поля данных, выбирать данные из другой таблицы, защищать таблицу от несанкционированного доступа. 

		Таким образом, при помощи системы Delphi организация работы с СУБД может реализовать требования, поставленные при разработке программного приложения. К ним относятся организация защиты от несанкционированного доступа, оперативность информационного обмена и управления, рациональная организация информационных фондов, организация быстрого поиска нужной информации, организация дружественного интерфейса. 

	2.4.2. Структурная схема пакета

		При разработке приложения в системе Delphi были созданы модули (Unit). Каждый модуль имеет жестко заданную структуру, которая автоматически генерируется системой Delphi при его создании. Структурная схема пакета представлена на Рис.5.

	

Unit3 – Главная форма

	

	

Unit8 – Форма для регистрации данных в архиве предложений

Unit4 – Форма для ввода и просмотра данных о сотрудниках

	

	

	

	

Unit5 – Справочник о сотрудниках

Unit10 – Справочник «Статус квартиры»

	

	

	

Unit11 – Справочник «Должность сотрудника»

Unit9 – Табличные данные архива предложений

	

	

	

Unit6 – Форма для ввода и просмотра данных о клиентах

	

	

	

	

Unit7 –Справочник о клиентах

	

	

	Рис.5 - Структурная схема пакета

	2.4.4. Проектирование интерфейсов

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

	2.5. Схема взаимосвязи программных модулей и информационных файлов

		Система Delphi использует механизм Borland Database Engine (BDE), он представляет собой программную прослойку между приложением и БД. Запрос из приложения передается внутрь механизма BDE, который использует специализированные системные программы для непосредственной работы с БД.

		На Рис.6 представлена схема взаимосвязи программных модулей и информационных файлов.

	

Система Delphi

	

	

BDE

	

	

БД

	

Таблицы



	Рис.6 - Схема взаимосвязи программных модулей и информационных файлов

	2.6. Выбор и обоснование технических средств

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

	Pentium II – 400 MHz, и выше;

	Не менее 128Мб оперативной памяти;

	Дисковое пространство – в зависимости от количества информации содержащейся в базе данных (не менее 100 Мб).

		Также данное приложения требует наличие программного обеспечения Windows 95 и выше. 

	2.7. Выбор методики, обеспечивающей надежность и защищенность ИС

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

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

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

	
3. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ

	3.1. Санитарные нормы использования ИС

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

располагать рабочие места, оснащенные ПЭВМ и УВО, таким образом, чтобы естественный свет падал сбоку (с левой или правой стороны) в зависимости от расположения столов, оборудования и оконных проемов;

не допускать расположение рабочих мест с ПЭВМ и УВО в подвальных помещениях;

учитывать, что площадь на одно рабочее место с ПЭВМ и УВО должна составлять не менее 6,0 м2 , а объем – не менее 20,0 м3.

		Не рекомендуется располагать рабочие места, оснащенные ПЭВМ и УВО, друг за другом. Задняя стенка монитора одного рабочего места не должна быть направлена на пользователя ПК, сидящего за другим рабочим местом.

		Рабочий стол пользователя должен обеспечивать оптимальное расстояние элементов ПЭВМ. С этой целью столешница изготавливается как две раздельно регулируемые по высоте плоскости: одна – для размещения УВО, вторая – для размещения клавиатуры, пюпитра. Оптимальные размеры рабочей поверхности столешницы 1600 х 900 мм. С целью оптимального размещения ПЭВМ и УВО на рабочем месте можно рекомендовать увеличение площади столешницы за счет присоединения друг к другу двух столов или между двумя рабочими столами установить третий, более узкий. Это даст возможность оптимального размещения процессора, монитора и клавиатуры.

		При периодическом наблюдении за экраном рекомендуется располагать элементы оборудования так, чтобы экран находился справа, клавиатура – напротив правого плеча, а документы - в центре угла обзора. 	При постоянной работе экран должен быть расположен в центре поля обзора, документы – слева на столе или на специальной подставке. Клавиатура должна располагаться отдельно от экрана, что обеспечивает выбор оптимального положения всех составляющих оборудование рабочего места пользователя ПЭВМ и УВО.

		Рабочий стул (кресло) должен снабжаться подъемно-поворотным устройством, обеспечивающим регулировку высоты сиденья и спинки, его конструкция должна также предусматривать изменение угла наклона спинки. Рабочее кресло должно иметь подлокотники. Регулировка каждого параметра должна осуществляться легко, быть независимой и иметь надежную фиксацию. Высота поверхности сидения должна регулироваться в пределах 400-500 мм. Ширина и глубина сиденья должны составлять не менее 400 мм. 

		На рабочем месте необходимо предусматривать подставку для ног. Ее длина должна составлять 400 мм, ширина - 350 мм.

		С целью улучшения зрительной работоспособности и условий освещения на рабочих местах целесообразно соблюдать следующее:

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

в качестве источников общего освещения использовать люминесцентные лампы типа ЛБ с индексом цветопередачи не менее 70 (R > 70);

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

светильники общего освещения располагать над рабочими поверхностями в равномерно-прямоугольном порядке;

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

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

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

пульсация освещенности используемых люминесцентных ламп не должна превышать 5%. При естественном освещении следует применять средства солнцезащиты;

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

		Мероприятия по оптимизации микроклимата на рабочих местах, оснащенных ПЭВМ и УВО, достигаются уменьшением тепловыделений от самого источника теплоты – монитора ПЭВМ.

		Кондиционирование воздуха должно обеспечивать автоматическое поддержание параметров микроклимата в необходимых пределах в течении всех сезонов года, очистку воздуха от пыли и вредных веществ. Необходимо также предусмотреть возможность индивидуальной регулировки подачи воздуха в отдельных помещениях. Температура воздуха, подаваемая в помещения с ПЭВМ и УВО, должна быть не ниже 19о С.

		Мероприятия по снижению шума на рабочих местах, оснащенных ПЭВМ и УВО, должны включать организационные, строительно-акустические и другие мероприятия: устройство подвесных потолков, облицовка стен, ковровые покрытия. Звукопоглощающие материалы должны быть с максимальным коэффициентом звукопоглощения в диапазоне частот 63-8000 Гц.

		Мероприятия по оптимизации интенсивности электромагнитных излучений на рабочих местах, оснащенных ПЭВМ и УВО, должны включать организационно-технические мероприятия, состоящие из рационального размещения рабочих мест и применения экранов и фильтров:

	ПЭВМ и УВО следует располагать при однорядном их размещении на расстоянии не менее 1 м от стен; рабочие места с мониторами должны располагаться между собой на расстоянии не менее 1,5 м;

	минимальная ширина проходов с передней стороны пультов и панелей управления оборудованием ПЭВМ и УВО при однорядном его расположении должна быть не менее 1 м, при двухрядном – не менее 1,2 м ;

	расстояние между рабочими столами с видеомониторами должно быть не менее 2 м, а расстояние между боковыми поверхностями – не менее 1,2 м;

	экран монитора ПЭВМ и УВО располагают на расстоянии 600-700 мм от пользователя, но не ближе 500 мм, с учетом размеров цифровых знаков и символов.

	
3.2. Электробезопасность и пожарная безопасность

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

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

		Во время работы оператору запрещается:

касаться одновременно экрана монитора и клавиатуры; прикасаться к задней панели системного блока при включенном питании;

переключать разъемы интерфейсных кабелей периферийных устройств, при включенном питании;

загромождать верхние панели устройств посторонними предметами;

производить отключение питания во время выполнения активной задачи;

производить частые переключения питания;

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

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

		Оператору запрещается приступать к работе при обнаружении любой неисправности оборудования до ее устранения.

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

	Образующиеся заряды статического электричества устраняют чаще всего путем заземления электропроводных частей производственного оборудования. Сопротивление такого заземления должно быть не более 100 Ом. При невозможности устройства заземления практикуется повышение относительной влажности воздуха в помещении. Можно увеличить объемную проводимость диэлектрика, для чего в него вносят графит, ацетиленовую сажу, алюминиевую пудру, а в жидкие диэлектрики — специальные добавки. Для ряда машин и агрегатов нашли применение нейтрализаторы статического электричества (коронного разряда, радиоизотопные, аэродинамические и комбинированные). Во всех типах этих устройств путем ионизации воздуха вблизи элемента конструкции, накапливающего заряд статического электричества, образуются ионы, в то числе со знаком, противоположным знаку заряда, что и вызывает его нейтрализацию.

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

		Электрические установки, к которым относится практически все оборудование ЭВМ, представляют для человека большую потенциальную опасность, так как в процессе эксплуатации или проведении профилактических работ человек может коснуться частей, находящихся под напряжением. Специфическая опасность электроустановок: токоведущие проводники, корпуса стоек ЭВМ и прочего оборудования, оказавшегося под напряжением в результате повреждения (пробоя) изоляции, не подают каких-либо сигналов, которые предупреждают человека об опасности. Реакция человека на электрический ток возникает лишь при протекании последнего через тело человека. Исключительно важное значение для предотвращения электротравматизма имеет правильная организация обслуживания действующих электроустановок ВЦ, проведения ремонтных, монтажных и профилактических работ. 

		Под правильной организацией понимается строгое выполнение ряда организационных и технических мероприятий. А так же средств, установленных действующими ПТЭ (правилами технической эксплуатации), ПТБ (правилами техники безопасности) и ПУЭ (правила установки электроустановок). 

		В зависимости от категории помещения необходимо принять определенные меры, обеспечивающие достаточную электробезопасность при эксплуатации и ремонте электрооборудования. Так, в помещениях с повышенной опасностью электроинструменты, переносные светильники должны быть выполнены с двойной изоляцией или напряжение питания их не должно превышать 42В. В ВЦ к таким помещениям могут быть отнесены помещения машинного зала, помещения для размещения сервисной и периферийной аппаратуры. В особо опасных же помещениях напряжение питания переносных светильников не должно превышать 12В, а работа с электротранспортируемым напряжением не выше 42В разрешается только с применением СИЗ (диэлектрических перчаток, ковриков и т.п.). Работы без снятия напряжения на токоведущих частях и вблизи них, работы, проводимые непосредственно на этих частях или при приближении к ним на расстояние менее установленного ПЭУ. К этим работам можно отнести работы по наладке отдельных узлов, блоков. При выполнении такого рода работ в электроустановках до 1000В необходимо применение определенных технических и организационных мер. Таких как, ограждения расположенные вблизи рабочего места и других токоведущих частей, к которым возможно случайное прикосновение; работа в диэлектрических перчатках или стоя на диэлектрическом коврике; применение инструмента с изолирующими рукоятками, при отсутствии такого инструмента следует пользоваться диэлектрическими перчатками. Работы этого вида должны выполняться не менее чем двумя работниками. 

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

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

С целью предупреждения пожара в помещениях и в здании в целом существует ряд правил запрещающих 

Пользоваться нагревательными электроприборами для отопления помещений, приготовления и разогрева пищи вне специально отведённых мест и помещений, согласованных с Государственной противопожарной службой;

Пользоваться электроприборами, потребляемая мощность которых превышает допустимую потребляемую мощность электросети, а также включать в электросеть одновременно несколько электроприборов, суммарная потребляемая мощность которых превышает допустимую;

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

Подключать электроприборы без стандартных штепсельных подключающих устройств;

Подключать к электросети неисправные электроприборы;

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

Закрывать на трудно открываемые запоры двери эвакуационных выходов в период нахождения людей в здании;

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

	При обнаружении пожара или его признаков (дым, запах гари и др.), каждый человек обязан немедленно:

Сообщить об этом в городскую пожарную охрану по телефону 01;

Оповестить о пожаре или его признаках людей, находящихся  поблизости, и принять необходимые меры для эвакуации всех людей из здания  (из опасной зоны);

При появлении опасных факторов пожара (дым, потеря видимости, высокая температура, токсичные пары горения) немедленно эвакуироваться в безопасную зону;

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

	

	
ЗАКЛЮЧЕНИЕ

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

		В результате разработки программного приложения – автоматизированного рабочего места менеджера по продажам недвижимости были выполнены следующие поставленные задачи:

была обеспечена целостность структуры данных;

была выбрана наиболее эффективная модель данных;

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

была проведена организация контроля заполнения;

для ускорения работы с большими объемами информации был выбран механизм BDE;

по средства возможностей системы Delphi была организована обработка входных и выходных данных;

при помощи языка SQL в приложении был организован быстрый поиск требуемой информации.

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

	
Список использованной Литературы

	Бобровский С.И., «Delphi 7» - СПб.: Питер, 2005. – 736 с.: ил.

	Фаронов В.В., «Программирование баз данных в Delphi 7. Учебный курс» - СПб.: Питер, 2005 – 459 с.: ил. 

	Нуржасарова М.А., Рыскулова Б.Р., Тургумбаева Х.Х, «Охрана труда»: Учебное пособие – Астана: Фолиант, 2007 – 224 с.

	Девисилов В.А., «Охрана труда»: Учебник – 2-е изд., испр. и доп. – М.: Форум: Инфра – М, 2005 – 448 с.: ил. – (Профессиональное образование).

	Райордан Р., «Основы реляционных баз данных», пер. с англ. – М.: Издательско-торговый дом и «Русская редакция», 2001 – 384 с.: ил.

	Гайдамакин Н.А., «Автоматизированные информационные системы, базы и банки данных. Вводный курс»: Учебное пособие – М.: Гелиос АРВ, 2002 – 368 с., ил.

	Яворский В.В., Томилова Н.И., «Технология разработки программного обеспечения»: Учебник - Астана: Фолиант, 2007 – 376 с.

	Культин Н.Б., «Основы программирования в Delphi 7» - СПб.: БХВ – Петербург, 2004 – 608 с.: ил.

	Дарахвелидзе П.Г., Марков Е.П., «Программирование в Delphi 7» - СПб.: БХВ – Петербург, 2004 – 784 с.: ил.

	Бабушкина И.А., «Практикум по объектно-ориентированному программированию»: Бабушкина И.А., Окулова С.М.: - М: Бином, Лаборатория знаний, 2004 – 366 с.: ил.

	
Приложение А – Входные и выходные документы

	Рис.7 - Договор на оказание услуг 

	



	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	Рис.8 – Отчет агента

	



	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	
Рис.9 – Заявка на оказание услуг

	



	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	
Приложение В – Интерфейс приложения

	Рис.10 – Главная форма

	



	Рис.11 – Справочник о клиентах

	

	
Рис.12 – Табличные данные о клиентах

	

	

	Рис.13 – Справочник о сотрудниках

	

	

	
Рис.14 –Табличные данные о сотрудниках

	

	

	Рис.15 –Архив предложений

	

	
Рис.16 –Табличные данные архива предложений

	



	Рис.17 – Поиск данных в архиве предложений

	

	
Приложение С – Листинг приложения

	unit Unit1;

	interface

	uses

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

	  Dialogs, StdCtrls;

	type

	  TForm1 = class(TForm)

	    Button1: TButton;

	    Button2: TButton;

	    procedure Button1Click(Sender: TObject);

	    procedure Button2Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	var

	  Form1: TForm1;

	implementation

	uses Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7,

	  Unit8, Unit9;

	{$R *.dfm}

	procedure TForm1.Button1Click(Sender: TObject);

	begin

	form3.Visible:=true;

	form1.Visible:=false;

	end;

	procedure TForm1.Button2Click(Sender: TObject);

	begin

	form2.Visible:=true;

	end;

	end.

	// форма для просмотра отчетов

	unit Unit2;

	interface

	uses

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

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

	  RpDefine, RpCon, RpConDS, RpConBDE, RpRave;

	type

	  TForm2 = class(TForm)

	    Image1: TImage;

	    Bevel1: TBevel;

	    Label1: TLabel;

	

	    RvTableConnection1: TRvTableConnection;

	    RvTableConnection2: TRvTableConnection;

	    RvProject1: TRvProject;

	    RvTableConnection3: TRvTableConnection;

	    RvProject2: TRvProject;

	    Label2: TLabel;

	    Label3: TLabel;

	    RvProject3: TRvProject;

	    procedure Label1Click(Sender: TObject);

	    procedure Label2Click(Sender: TObject);

	    procedure Label3Click(Sender: TObject);

	    procedure FormActivate(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	var

	  Form2: TForm2;

	implementation

	uses Unit1, Unit10, Unit11, Unit12, Unit3, Unit4, Unit5, Unit6, Unit7,

	  Unit8, Unit9;

	{$R *.dfm}

	procedure TForm2.Label1Click(Sender: TObject);

	begin

	rvProject1.Execute;

	end;

	

	procedure TForm2.Label2Click(Sender: TObject);

	begin

	rvProject2.Execute;

	end;

	

	procedure TForm2.Label3Click(Sender: TObject);

	begin

	rvProject3.Execute;

	end;

	

	procedure TForm2.FormActivate(Sender: TObject);

	begin

	form2.Width:=450;

	form2.Height:=202;

	end;

	

	end.

	

	

	

	// главная форма приложения

	unit Unit3;

	interface

	uses

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

	  Dialogs, StdCtrls, Menus, jpeg, ExtCtrls;

	type

	  TForm3 = class(TForm)

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N2: TMenuItem;

	    N3: TMenuItem;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    Image1: TImage;

	    Image2: TImage;

	    N8: TMenuItem;

	    N15: TMenuItem;

	    N16: TMenuItem;

	    N17: TMenuItem;

	    N18: TMenuItem;

	    N7: TMenuItem;

	    N9: TMenuItem;

	    N10: TMenuItem;

	    N11: TMenuItem;

	    N12: TMenuItem;

	    N13: TMenuItem;

	    procedure Button1Click(Sender: TObject);

	    procedure N3Click(Sender: TObject);

	    procedure N4Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormActivate(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure N10Click(Sender: TObject);

	    procedure N16Click(Sender: TObject);

	    procedure N11Click(Sender: TObject);

	    procedure N9Click(Sender: TObject);

	    procedure N18Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	var

	  Form3: TForm3;

	implementation

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit4, Unit5, Unit6, Unit7,

	  Unit8, Unit9, Unit13, Unit14, Unit15;

	{$R *.dfm}

	procedure TForm3.N16Click(Sender: TObject);

	begin

	form12.Visible:=true;

	end;

	procedure TForm3.N11Click(Sender: TObject);

	begin

	form12.Visible:=true;

	end;

	procedure TForm3.N9Click(Sender: TObject);

	begin

	form14.Visible:=true;

	end;

	procedure TForm3.N18Click(Sender: TObject);

	begin

	form2.Visible:=true;

	end;

	end.

	// справочник о сотрудниках

	unit Unit4;

	interface

	

	uses

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

	  Dialogs, Menus, ExtCtrls, DBCtrls, StdCtrls, Mask, jpeg, DB, DBTables;

	

	type

	  TForm4 = class(TForm)

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    thyenmcz1: TMenuItem;

	    DBEdit1: TDBEdit;

	    Label1: TLabel;

	    DBEdit2: TDBEdit;

	    Label2: TLabel;

	    DBImage1: TDBImage;

	    DBMemo1: TDBMemo;

	    Label3: TLabel;

	    DBEdit3: TDBEdit;

	    DBEdit4: TDBEdit;

	    Label4: TLabel;

	    Label5: TLabel;

	    DBEdit5: TDBEdit;

	    DBLookupComboBox1: TDBLookupComboBox;

	    Label6: TLabel;

	    DBLookupComboBox2: TDBLookupComboBox;

	    Label7: TLabel;

	    Label8: TLabel;

	    N7: TMenuItem;

	    N8: TMenuItem;

	    Image2: TImage;

	procedure TForm4.Image5Click(Sender: TObject);

	begin

	form5.Table1.Last;

	end;

	

	procedure TForm4.Image4Click(Sender: TObject);

	begin

	form5.Table1.First;

	end;

	

	procedure TForm4.Image2Click(Sender: TObject);

	begin

	form5.Table1.Next;

	end;

	

	procedure TForm4.Image3Click(Sender: TObject);

	begin

	form5.Table1.Prior;

	end;

	

	procedure TForm4.FormActivate(Sender: TObject);

	begin

	form4.Left:=195;

	form4.Top:=155;

	form4.AutoSize:=true;

	

	end;

	

	procedure TForm4.N16Click(Sender: TObject);

	begin

	form11.Visible:=true;

	end;

	

	procedure TForm4.N15Click(Sender: TObject);

	begin

	form5.Visible:=true;

	form4.Visible:=false;

	end;

	end.

	//табличные данные о сотрудниках

	unit Unit5;

	interface

	

	uses

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

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

	  StdCtrls, Buttons, ComCtrls;

	

	type

	  TForm5 = class(TForm)

	    MainMenu1: TMainMenu;

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit6, Unit7,

	  Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm5.N1Click(Sender: TObject);

	begin

	form4.Visible:=true;

	form5.Visible:=false;

	end;

	

	procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form5.Visible:=false;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	

	procedure TForm5.FormActivate(Sender: TObject);

	begin

	form5.Height:=325;

	form5.Width:=650;

	form5.Left:=190;

	form5.Top:=211;

	form5.Table1.Active:=true;

	end;

	

	procedure TForm5.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	

	begin

	form5.DBGrid1.Height:=form5.Height-75;

	form5.DBGrid1.Width:=form5.Width-10;

	form5.Panel1.Left:=round(form5.Width/2)-150;

	form5.Panel1.Top:=form5.Height-75;

	end;

	

	procedure TForm5.N4Click(Sender: TObject);

	begin

	form5.Table1.Edit;

	end;

	

	procedure TForm5.N5Click(Sender: TObject);

	begin

	form5.Table1.Delete;

	end;

	

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N2: TMenuItem;

	    N4: TMenuItem;

	    DBEdit1: TDBEdit;

	    DBEdit2: TDBEdit;

	    DBEdit3: TDBEdit;

	    DBEdit4: TDBEdit;

	    DBEdit5: TDBEdit;

	    Label1: TLabel;

	    Label2: TLabel;

	    Label3: TLabel;

	    Label4: TLabel;

	    Label5: TLabel;

	    Image2: TImage;

	    Image3: TImage;

	    Image4: TImage;

	    Image5: TImage;

	    Label6: TLabel;

	    Panel1: TPanel;

	    N3: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    N7: TMenuItem;

	    N8: TMenuItem;

	    N9: TMenuItem;

	    N10: TMenuItem;

	    N11: TMenuItem;

	    procedure N3Click(Sender: TObject);

	    procedure N2Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure Jnrhsnm(Sender: TObject; var Action: TCloseAction);

	    procedure FormActivate(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image4Click(Sender: TObject);

	    procedure Image5Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N7Click(Sender: TObject);

	    procedure N8Click(Sender: TObject);

	    procedure N9Click(Sender: TObject);

	    procedure N10Click(Sender: TObject);

	    procedure N11Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form6: TForm6;

	procedure TForm6.Image4Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Next;

	end;

	

	procedure TForm6.Image5Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Last;

	end;

	

	procedure TForm6.N5Click(Sender: TObject);

	begin

	form7.Visible:=true;

	form6.Visible:=false;

	end;

	

	procedure TForm6.N7Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Insert;

	end;

	

	procedure TForm6.N8Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Delete;

	end;

	

	procedure TForm6.N9Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Edit;

	end;

	

	procedure TForm6.N10Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Post;

	end;

	

	procedure TForm6.N11Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Cancel;

	end;

	

	procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form6.Visible:=false;

	var

	  Form7: TForm7;

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6,

	  Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm7.N3Click(Sender: TObject);

	begin

	form7.Visible:=false;

	form6.Visible:=true;

	end;

	

	procedure TForm7.N2Click(Sender: TObject);

	begin

	form1.Close;

	end;

	

	procedure TForm7.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form3.Visible:=true;

	form7.Visible:=false;

	form3.Enabled:=true;

	end;

	

	procedure TForm7.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	begin

	form7.DBGrid1.Height:=form7.Height-75;

	form7.DBGrid1.Width:=form7.Width-10;

	form7.Panel1.Left:=round(form7.Width/2)-150;

	form7.Panel1.Top:=form7.Height-75;

	end;

	

	procedure TForm7.FormActivate(Sender: TObject);

	begin

	form7.Height:=325;

	form7.Width:=650;

	form7.Left:=190;

	form7.Top:=211;

	form9.Table3.Active:=true;

	end;

	

	procedure TForm7.N4Click(Sender: TObject);

	begin

	form9.Table3.Edit;

	end;

	type

	  TForm8 = class(TForm)

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N7: TMenuItem;

	    DBEdit1: TDBEdit;

	    DBEdit2: TDBEdit;

	    DBEdit3: TDBEdit;

	    DBEdit4: TDBEdit;

	    DBEdit5: TDBEdit;

	    DBEdit6: TDBEdit;

	    DBEdit7: TDBEdit;

	    DBEdit8: TDBEdit;

	    DBEdit9: TDBEdit;

	    DBMemo1: TDBMemo;

	    DBCheckBox1: TDBCheckBox;

	    DBCheckBox2: TDBCheckBox;

	    DBCheckBox3: TDBCheckBox;

	    DBCheckBox4: TDBCheckBox;

	    DBLookupComboBox1: TDBLookupComboBox;

	    Table1: TTable;

	    DataSource1: TDataSource;

	    Table1ID_kv: TAutoIncField;

	    Table1RNN_kl: TStringField;

	    Table1Kol_kom: TIntegerField;

	    Table1Zena: TIntegerField;

	    Table1Uliza: TStringField;

	    Table1Dom: TStringField;

	    Table1Kv: TIntegerField;

	    Table1Ploshad: TFloatField;

	    Table1Etag: TStringField;

	    Table1Lift: TBooleanField;

	    Table1Remont: TBooleanField;

	    Table1Balkon: TBooleanField;

	    Table1Telefon: TBooleanField;

	    Table1Status: TStringField;

	    Table1Dop: TMemoField;

	    Table2: TTable;

	    Table1st: TStringField;

	    Table3: TTable;

	    Table1FIO: TStringField;

	    DBLookupComboBox2: TDBLookupComboBox;

	    Label8: TLabel;

	    Bevel1: TBevel;

	    Label9: TLabel;

	    Image2: TImage;

	    Image3: TImage;

	    Image4: TImage;

	    Image5: TImage;

	    N2: TMenuItem;

	    N8: TMenuItem;

	

	{$R *.dfm}

	

	procedure TForm8.N2Click(Sender: TObject);

	begin

	form1.Close;

	end;

	

	procedure TForm8.N7Click(Sender: TObject);

	begin

	form3.Enabled:=true;

	form3.Visible:=true;

	form8.Visible:=false;

	end;

	

	procedure TForm8.N5Click(Sender: TObject);

	begin

	form9.Visible:=true;

	form8.Visible:=false;

	end;

	

	procedure TForm8.N6Click(Sender: TObject);

	begin

	form8.Table1.Insert;

	end;

	

	procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	Form8.Visible:=false;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	

	procedure TForm8.FormActivate(Sender: TObject);

	begin

	form15.Table2.Active:=false;

	form9.Table1.Active:=false;

	form8.Table1.Active:=true;

	form8.Table2.Active:=true;

	form9.Table2.Active:=false;

	form8.Table3.Active:=true;

	form9.Table3.Active:=false;

	form8.Left:=210;

	form8.Top:=155;

	form8.AutoSize:=true;

	if form8.Table1Status.Value='2' then begin

	form8.Label2.Visible:=false;

	form8.Label3.Visible:=false;

	form8.DBEdit8.Visible:=false;

	form8.DBEdit9.Visible:=false;

	end;

	if form8.Table1Status.Value='1' then begin

	form8.Label3.Visible:=true;

	form8.DBEdit8.Visible:=true;

	form8.DBEdit9.Visible:=true;

	end;

	end;

	

	procedure TForm8.Image5Click(Sender: TObject);

	begin

	form8.Table1.First;

	if form8.Table1Status.Value='2' then begin

	form8.Label2.Visible:=false;

	form8.Label3.Visible:=false;

	form8.DBEdit8.Visible:=false;

	form8.DBEdit9.Visible:=false;

	end;

	if form8.Table1Status.Value='1' then begin

	form8.Label2.Visible:=true;

	form8.Label3.Visible:=true;

	form8.DBEdit8.Visible:=true;

	form8.DBEdit9.Visible:=true;

	end;

	end;

	

	procedure TForm8.N8Click(Sender: TObject);

	begin

	form9.Visible:=true;

	form8.Visible:=false;

	end;

	

	procedure TForm8.N9Click(Sender: TObject);

	begin

	form10.Visible:=true;

	end;

	

	procedure TForm8.N10Click(Sender: TObject);

	begin

	form8.Table1.Delete;

	end;

	

	procedure TForm8.N11Click(Sender: TObject);

	begin

	Form8.Table1.Edit;

	end;

	

	procedure TForm8.N12Click(Sender: TObject);

	begin

	Form8.Table1.Post;

	end;

	

	procedure TForm8.N13Click(Sender: TObject);

	begin

	form8.Table1.Cancel;

	    Table3Adres_kl: TStringField;

	    Table3Telefon_dom: TStringField;

	    Table3Telefon_sot: TStringField;

	    Table2ID_status: TStringField;

	    Table2Status: TStringField;

	    procedure N2Click(Sender: TObject);

	    procedure N3Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	    procedure FormActivate(Sender: TObject);

	    procedure N4Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure N7Click(Sender: TObject);

	    procedure N8Click(Sender: TObject);

	    procedure Image1Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image4Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form9: TForm9;

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6,

	  Unit7, Unit8, Unit13, Unit14, Unit15;

	

	{$R *.dfm}

	

	procedure TForm9.N2Click(Sender: TObject);

	begin

	form1.Close;

	end;

	

	procedure TForm9.N3Click(Sender: TObject);

	begin

	form8.Visible:=true;

	form9.Visible:=false;

	end;

	

	procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form9.Visible:=false;

	form3.Visible:=true;

	end;

	

	procedure TForm9.Image1Click(Sender: TObject);

	begin

	form9.Table1.First;

	end;

	

	procedure TForm9.Image2Click(Sender: TObject);

	begin

	form9.Table1.Prior;

	end;

	

	procedure TForm9.Image3Click(Sender: TObject);

	begin

	form9.Table1.Next;

	end;

	

	procedure TForm9.Image4Click(Sender: TObject);

	begin

	form9.Table1.Last;

	end;

	

	end.

	//справочник – Статус квартир

	unit Unit10;

	interface

	

	uses

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

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

	

	type

	  TForm10 = class(TForm)

	    DataSource1: TDataSource;

	    DBGrid1: TDBGrid;

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N2: TMenuItem;

	    N3: TMenuItem;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    procedure N2Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	    procedure FormActivate(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N3Click(Sender: TObject);

	    procedure N4Click(Sender: TObject);

	    procedure N1Click(Sender: TObject);

	end;

	

	procedure TForm10.N4Click(Sender: TObject);

	begin

	form9.Table2.Refresh;

	end;

	

	procedure TForm10.N1Click(Sender: TObject);

	begin

	form9.Table2.Edit;

	end;

	

	end.

	//справочник –должность сотрудника

	unit Unit11;

	interface

	

	uses

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

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

	

	type

	  TForm11 = class(TForm)

	    DataSource1: TDataSource;

	    DBGrid1: TDBGrid;

	    Table1: TTable;

	    Table1ID_dogn: TAutoIncField;

	    Table1Dolgn: TStringField;

	    Table1Zarplata: TIntegerField;

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N2: TMenuItem;

	    N3: TMenuItem;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    procedure N1Click(Sender: TObject);

	    procedure N2Click(Sender: TObject);

	    procedure N3Click(Sender: TObject);

	    procedure N4Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	    procedure FormActivate(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	

	//поиск данных в архиве предложений

	unit Unit12;

	interface

	

	uses

	  Windows, Messages, SysUtils, Variants, Classes, Graphics,

	  Controls, Forms,Dialogs, StdCtrls, ExtCtrls, Mask, DBCtrls, 

	  Menus, Buttons, DB, Grids DBGrids, DBTables;

	

	type

	  TForm12 = class(TForm)

	    Panel1: TPanel;

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N2: TMenuItem;

	    Label1: TLabel;

	    CheckBox1: TCheckBox;

	    Edit1: TEdit;

	    Edit2: TEdit;

	    Edit3: TEdit;

	    Bevel1: TBevel;

	    CheckBox2: TCheckBox;

	    CheckBox3: TCheckBox;

	    Bevel2: TBevel;

	    CheckBox4: TCheckBox;

	    Edit4: TEdit;

	    Bevel3: TBevel;

	    CheckBox5: TCheckBox;

	    Edit5: TEdit;

	    CheckBox10: TCheckBox;

	    Edit6: TEdit;

	    BitBtn1: TBitBtn;

	    DBGrid1: TDBGrid;

	    Query1: TQuery;

	    DataSource1: TDataSource;

	    CheckBox11: TCheckBox;

	    CheckBox12: TCheckBox;

	    CheckBox13: TCheckBox;

	    CheckBox14: TCheckBox;

	    CheckBox15: TCheckBox;

	    procedure FormActivate(Sender: TObject);

	    procedure CheckBox1Click(Sender: TObject);

	    procedure CheckBox2Click(Sender: TObject);

	    procedure CheckBox3Click(Sender: TObject);

	    procedure CheckBox4Click(Sender: TObject);

	    procedure CheckBox5Click(Sender: TObject);

	    procedure CheckBox10Click(Sender: TObject);

	    procedure BitBtn1Click(Sender: TObject);

	    procedure CheckBox6Click(Sender: TObject);

	    procedure CheckBox7Click(Sender: TObject);

	    procedure CheckBox8Click(Sender: TObject);

	    procedure CheckBox9Click(Sender: TObject);

	edit2.Enabled:=false;

	edit3.Enabled:=false;

	edit4.Enabled:=false;

	edit5.Enabled:=false;

	edit6.Enabled:=false;

	CheckBox11.Enabled:=false;

	CheckBox12.Enabled:=false;

	CheckBox5.Enabled:=false;

	CheckBox10.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox1Click(Sender: TObject);

	begin

	if CheckBox1.Checked=true then begin

	edit1.Color:=clWhite;

	edit1.Enabled:=true;

	

	checkbox2.Checked:=false;

	checkbox3.Checked:=false;

	checkbox4.Checked:=false;

	checkbox5.Checked:=false;

	checkbox10.Checked:=false;

	checkbox13.Checked:=false;

	checkbox14.Checked:=false;

	end;

	if CheckBox1.Checked=false then begin

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	end;

	

	procedure TForm12.CheckBox2Click(Sender: TObject);

	begin

	if CheckBox2.Checked=true then begin

	edit2.Color:=clWhite;

	edit2.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	if CheckBox2.Checked=false then begin

	Edit2.Color:=$00C4C4C4;

	edit2.Enabled:=false;

	end;

	end;

	

	procedure TForm12.CheckBox3Click(Sender: TObject);

	begin

	if CheckBox3.Checked=true then begin

	edit3.Color:=clWhite;

	edit3.Enabled:=true;

	procedure TForm12.CheckBox10Click(Sender: TObject);

	begin

	if CheckBox10.Checked=true then begin

	edit6.Color:=clWhite;

	edit6.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	if CheckBox10.Checked=false then begin

	Edit6.Color:=$00C4C4C4;

	edit6.Enabled:=false;

	end;

	end;

	

	procedure TForm12.BitBtn1Click(Sender: TObject);

	begin

	if checkbox1.Checked=true then    

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT Status.Status as Статус,ID_kv as 

	Квартира,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Домì, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE(ID_kv="'+Edit1.Text+'")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=true then     

	if checkbox3.Checked=false then

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Код, Status.Status 

	as Статус, RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza

	 as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag

	as Этаж FROM Predlogenia, Status WHERE(

	

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status 

	as Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza

	 as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag

	 as Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then   

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=false then

	if checkbox13.Checked=true  then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'")

	AND(Predlogenia.status="2")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then   

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as

	 Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza

	 As Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE(Zena="'+Edit3.Text+'")

	AND(Predlogenia.status="1")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'")

	AND(Predlogenia.Status="2")And (Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=true then

	if checkbox12.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'")

	AND(Predlogenia.Status="1")And (Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=true then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as

	 Статус,RNN_kl as РННÍ, Kol_kom as Комнат, Zena as Цена, 

	Uliza as Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE (Zena>"'+Edit3.Text+'") AND(Predlogenia.Status="2")And (Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	

	

	end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl asРННÍ, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Predlogenia.Status="1")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=false then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as

	

	

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as

	 Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Predlogenia.Status="2")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Predlogenia.Status="1")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then   

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKEUPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status="1")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	Этаж FROM Predlogenia, Status WHERE Predlogenia.Status=ID_status';

	Query1.Open;

	end;

	

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then

	if checkbox15.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE (Predlogenia.Status="2")AND

	(ID_status=Predlogenia.Status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then

	if checkbox15.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, 

	Status WHERE (Predlogenia.Status="1")

	AND(ID_status=Predlogenia.Status)';

	Query1.Open;

	end;

	

	

	end;

	

	

	

	procedure TForm12.CheckBox6Click(Sender: TObject);

	

	else CheckBox13.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox15Click(Sender: TObject);

	begin

	if CheckBox15.Checked=true then begin

	checkbox2.Checked:=false;

	checkbox3.Checked:=false;

	checkbox4.Checked:=false;

	checkbox5.Checked:=false;

	checkbox10.Checked:=false;

	checkbox13.Checked:=false;

	checkbox14.Checked:=false;

	

	end;

	end;

	

	procedure TForm12.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	begin

	form12.DBGrid1.Height:=form12.Height-260;

	form12.DBGrid1.Width:=form12.Width-5;

	end;

	

	end.

	// интерфейс пользователя

	unit Unit13;

	

	interface

	uses

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

	  Dialogs, ExtCtrls;

	type

	  TForm13 = class(TForm)

	    Image1: TImage;

	    Image2: TImage;

	    Image3: TImage;

	    Image4: TImage;

	    Panel1: TPanel;

	    procedure Image4Click(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image1Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

    DBEdit7: TDBEdit;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    Label1: TLabel;

    DBLookupComboBox1: TDBLookupComboBox;

    Label2: TLabel;

    DBLookupComboBox2: TDBLookupComboBox;

    Label3: TLabel;

    DBLookupComboBox3: TDBLookupComboBox;

    DBNavigator1: TDBNavigator;

    procedure N4Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form14: TForm14;



implementation



uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit2, Unit3, Unit4, Unit5,

  Unit6, Unit7, Unit8, Unit9, Unit15;



{$R *.dfm}



procedure TForm14.N4Click(Sender: TObject);

begin

form15.Visible:=true;

end;



procedure TForm14.FormActivate(Sender: TObject);

begin

form15.Table2.Active:=true;

form15.Table3.Active:=true;

form14.Height:=360;

form14.Width:=450;

form14.Left:=300;

form14.Top:=200;

form14.AutoSize:=true

end;



procedure TForm14.FormClose(Sender: TObject; var Action: TCloseAction);

begin

form15.Table3.Active:=false;

form15.Table2.Active:=false;

end;



end.



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

unit Unit15;



interface



uses

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

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



type

  TForm15 = class(TForm)

    DataSource1: TDataSource;

    DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    Table1: TTable;

    Table1ID_sd: TAutoIncField;





	procedure TForm3.Button1Click(Sender: TObject);

	begin

	form1.Close;

	end;

	procedure TForm3.N3Click(Sender: TObject);

	begin

	form4.Visible:=true;

	form3.Visible:=false;

	end;

	procedure TForm3.N4Click(Sender: TObject);

	begin

	form1.Close;

	end;

	procedure TForm3.N5Click(Sender: TObject);

	begin

	form6.Visible:=true;

	form3.Visible:=false;

	end;

	procedure TForm3.N6Click(Sender: TObject);

	begin

	form8.Visible:=true;

	form3.Visible:=false;

	end;

	procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form1.Close;

	end;

	procedure TForm3.FormActivate(Sender: TObject);

	begin

	form3.AutoSize:=true;

	form3.ClientHeight:=513;

	form3.ClientWidth:=663;

	form3.Left:=180;

	form3.Top:=100;

	end;

	procedure TForm3.Image2Click(Sender: TObject);

	begin

	form13.Visible:=true;

	form13.Left:=form3.Left+100;

	form13.Top:=form3.Top+200;

	form13.ClientHeight:=145;

	form13.ClientWidth:=480;

	form3.Enabled:=false;

	end;

	procedure TForm3.N10Click(Sender: TObject);

	begin

	form6.Visible:=true;

	form3.Visible:=false;

	end;

	

	

	procedure TForm4.N5Click(Sender: TObject);

	begin

	form5.Visible:=true;

	form4.Visible:=false;

	end;

	

	procedure TForm4.thyenmcz1Click(Sender: TObject);

	begin

	form3.Visible:=true;

	form4.Visible:=false;

	form3.Enabled:=true;

	end;

	

	procedure TForm4.N6Click(Sender: TObject);

	begin

	form11.Visible:=true;

	end;

	

	procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form4.Visible:=false;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	

	procedure TForm4.N10Click(Sender: TObject);

	begin

	form5.Table1.Insert;

	end;

	

	procedure TForm4.N11Click(Sender: TObject);

	begin

	form5.Table1.Delete;

	end;

	

	procedure TForm4.N12Click(Sender: TObject);

	begin

	form5.Table1.Edit;

	end;

	

	procedure TForm4.N13Click(Sender: TObject);

	begin

	form5.Table1.Post;

	end;

	

	procedure TForm4.N14Click(Sender: TObject);

	begin

	form5.Table1.Cancel;

	end;

	

	

	    Afqk1: TMenuItem;

	    N1: TMenuItem;

	    DBGrid1: TDBGrid;

	    DataSource1: TDataSource;

	    Table1: TTable;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    Update1: TMenuItem;

	    Save1: TMenuItem;

	    Image1: TImage;

	    Image2: TImage;

	    Image3: TImage;

	    Image4: TImage;

	    Panel1: TPanel;

	    Table2: TTable;

	    Table1RNN_sotr: TStringField;

	    Table1FIO_sotr: TStringField;

	    Table1Adres: TStringField;

	    Table1Telefon_dom: TStringField;

	    Table1Telefon_sot: TStringField;

	    Table1Dolgnost: TIntegerField;

	    Table1Foto: TGraphicField;

	    Table1Dop: TMemoField;

	    Table1Dolgn: TStringField;

	    Table1Zarplata: TIntegerField;

	    Table2ID_dogn: TAutoIncField;

	    Table2Dolgn: TStringField;

	    Table2Zarplata: TIntegerField;

	    procedure N1Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormActivate(Sender: TObject);

	    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	    procedure N4Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure Save1Click(Sender: TObject);

	    procedure Update1Click(Sender: TObject);

	    procedure N2Click(Sender: TObject);

	    procedure Image1Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image4Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form5: TForm5;

	procedure TForm5.N6Click(Sender: TObject);

	begin

	form5.Table1.Append;

	end;

	

	procedure TForm5.Save1Click(Sender: TObject);

	begin

	form5.Table1.Post;

	end;

	

	procedure TForm5.Update1Click(Sender: TObject);

	begin

	form5.Table1.Refresh;

	end;

	

	procedure TForm5.N2Click(Sender: TObject);

	begin

	form1.Close;

	end;

	

	procedure TForm5.Image1Click(Sender: TObject);

	begin

	form5.Table1.First;

	end;

	

	procedure TForm5.Image2Click(Sender: TObject);

	begin

	form5.Table1.Prior;

	end;

	

	procedure TForm5.Image3Click(Sender: TObject);

	begin

	form5.Table1.Next;

	end;

	

	procedure TForm5.Image4Click(Sender: TObject);

	begin

	form5.Table1.Last;

	end;

	end.

	// справочник о клиентах

	unit Unit6;

	interface

	

	uses

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

	  Dialogs, Menus, ExtCtrls, DBCtrls, StdCtrls, Mask, jpeg;

	

	type

	  TForm6 = class(TForm)

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit7,

	  Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm6.N3Click(Sender: TObject);

	begin

	form1.Close;

	end;

	

	procedure TForm6.N2Click(Sender: TObject);

	begin

	form6.Visible:=false;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	

	procedure TForm6.N6Click(Sender: TObject);

	begin

	form7.Visible:=true;

	form6.Visible:=false;

	end;

	

	procedure TForm6.Jnrhsnm(Sender: TObject; var Action: TCloseAction);

	begin

	form6.Visible:=false;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	

	procedure TForm6.FormActivate(Sender: TObject);

	begin

	form6.Left:=280;

	form6.Top:=205;

	form6.AutoSize:=true;

	form9.Table3.Active:=true;

	end;

	

	procedure TForm6.Image3Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.Prior;

	end;

	procedure TForm6.Image2Click(Sender: TObject);

	begin

	form9.Table3.Active:=true;

	form9.Table3.First;

	end;

	form3.Visible:=true;

	form3.Enabled:=true;

	end;

	end.

	// табличные данные о клиентах

	unit Unit7;

	interface

	

	uses

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

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

	

	type

	  TForm7 = class(TForm)

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N3: TMenuItem;

	    DataSource1: TDataSource;

	    DBGrid1: TDBGrid;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    N7: TMenuItem;

	    N8: TMenuItem;

	    Panel1: TPanel;

	    Image4: TImage;

	    Image1: TImage;

	    Image2: TImage;

	    Image3: TImage;

	    procedure N3Click(Sender: TObject);

	    procedure N2Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	    procedure FormActivate(Sender: TObject);

	    procedure N4Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure N7Click(Sender: TObject);

	    procedure N8Click(Sender: TObject);

	    procedure Image1Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image4Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	

	procedure TForm7.N5Click(Sender: TObject);

	begin

	form9.Table3.Append;

	end;

	

	procedure TForm7.N6Click(Sender: TObject);

	begin

	form9.Table3.Delete;

	end;

	

	procedure TForm7.N7Click(Sender: TObject);

	begin

	form9.Table3.Refresh;

	end;

	

	procedure TForm7.N8Click(Sender: TObject);

	begin

	form9.Table3.Post;

	end;

	

	procedure TForm7.Image1Click(Sender: TObject);

	begin

	form9.Table3.First;

	end;

	

	procedure TForm7.Image2Click(Sender: TObject);

	begin

	form9.Table3.Prior;

	end;

	

	procedure TForm7.Image3Click(Sender: TObject);

	begin

	form9.Table3.Next;

	end;

	

	procedure TForm7.Image4Click(Sender: TObject);

	begin

	form9.Table3.Last;

	end;

	

	end.

	//архив предложений

	unit Unit8;

	interface

	

	uses

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

	  Dialogs, Menus, StdCtrls, DBCtrls, ExtCtrls, Mask, DB, DBTables, jpeg;

	    N9: TMenuItem;

	    N3: TMenuItem;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    N10: TMenuItem;

	    N11: TMenuItem;

	    N12: TMenuItem;

	    N13: TMenuItem;

	    Table2ID_status: TStringField;

	    Table2Status: TStringField;

	    Label13: TLabel;

	    Label12: TLabel;

	    Label11: TLabel;

	    Label10: TLabel;

	    Label14: TLabel;

	    Panel1: TPanel;

	    Label1: TLabel;

	    Bevel2: TBevel;

	    Label2: TLabel;

	    Label3: TLabel;

	    Bevel3: TBevel;

	    procedure N2Click(Sender: TObject);

	    procedure N7Click(Sender: TObject);

	    procedure N5Click(Sender: TObject);

	    procedure N6Click(Sender: TObject);

	    procedure FormClose(Sender: TObject; var Action: TCloseAction);

	    procedure FormActivate(Sender: TObject);

	    procedure Image3Click(Sender: TObject);

	    procedure Image4Click(Sender: TObject);

	    procedure Image2Click(Sender: TObject);

	    procedure Image5Click(Sender: TObject);

	    procedure N8Click(Sender: TObject);

	    procedure N9Click(Sender: TObject);

	    procedure N10Click(Sender: TObject);

	    procedure N11Click(Sender: TObject);

	    procedure N12Click(Sender: TObject);

	    procedure N13Click(Sender: TObject);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form8: TForm8;

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6,

	  Unit7, Unit9, Unit13, Unit14, Unit15;

	

	form8.Label2.Visible:=true;

	form8.Label3.Visible:=true;

	form8.DBEdit8.Visible:=true;

	form8.DBEdit9.Visible:=true;

	end;

	end;

	

	procedure TForm8.Image3Click(Sender: TObject);

	begin

	form8.Table1.Next;

	if form8.Table1Status.Value='2' then begin

	form8.Label2.Visible:=false;

	form8.Label3.Visible:=false;

	form8.DBEdit8.Visible:=false;

	form8.DBEdit9.Visible:=false;

	end;

	if form8.Table1Status.Value='1' then begin

	form8.Label2.Visible:=true;

	form8.Label3.Visible:=true;

	form8.DBEdit8.Visible:=true;

	form8.DBEdit9.Visible:=true;

	end;

	end;

	

	procedure TForm8.Image4Click(Sender: TObject);

	begin

	form8.Table1.Last;

	if form8.Table1Status.Value='2' then begin

	form8.Label2.Visible:=false;

	form8.Label3.Visible:=false;

	form8.DBEdit8.Visible:=false;

	form8.DBEdit9.Visible:=false;

	end;

	if form8.Table1Status.Value='1' then begin

	form8.Label2.Visible:=true;

	form8.Label3.Visible:=true;

	form8.DBEdit8.Visible:=true;

	form8.DBEdit9.Visible:=true;

	end;

	end;

	

	procedure TForm8.Image2Click(Sender: TObject);

	begin

	form8.Table1.Prior;

	if form8.Table1Status.Value='2' then begin

	form8.Label2.Visible:=false;

	form8.Label3.Visible:=false;

	form8.DBEdit8.Visible:=false;

	form8.DBEdit9.Visible:=false;

	end;

	if form8.Table1Status.Value='1' then begin

	form8.Label2.Visible:=true;

	end;

	

	end.

	//табличные данные архива предложений

	unit Unit9;

	

	interface

	

	uses

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

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

	

	type

	  TForm9 = class(TForm)

	    MainMenu1: TMainMenu;

	    N1: TMenuItem;

	    N3: TMenuItem;

	    DataSource1: TDataSource;

	    DBGrid1: TDBGrid;

	    N4: TMenuItem;

	    N5: TMenuItem;

	    N6: TMenuItem;

	    N7: TMenuItem;

	    N8: TMenuItem;

	    Panel1: TPanel;

	    Image4: TImage;

	    Image1: TImage;

	    Image2: TImage;

	    Image3: TImage;

	    Table1: TTable;

	    Table2: TTable;

	    Table3: TTable;

	    Table1ID_kv: TAutoIncField;

	    Table1RNN_kl: TStringField;

	    Table1Kol_kom: TIntegerField;

	    Table1Zena: TIntegerField;

	    Table1Uliza: TStringField;

	    Table1Dom: TStringField;

	    Table1Kv: TIntegerField;

	    Table1Ploshad: TFloatField;

	    Table1Etag: TStringField;

	    Table1Lift: TBooleanField;

	    Table1Remont: TBooleanField;

	    Table1Balkon: TBooleanField;

	    Table1Telefon: TBooleanField;

	    Table1Status: TStringField;

	    Table1Dop: TMemoField;

	    Table1stat: TStringField;

	    Table1FIO: TStringField;

	    Table3RNN_kl: TStringField;

	    Table3FIO_kl: TStringField;

	form3.Enabled:=true;

	end;

	

	procedure TForm9.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	begin

	form9.DBGrid1.Height:=form9.Height-75;

	form9.DBGrid1.Width:=form9.Width-10;

	form9.Panel1.Left:=round(form9.Width/2)-150;

	form9.Panel1.Top:=form9.Height-75;

	end;

	

	procedure TForm9.FormActivate(Sender: TObject);

	begin

	form9.Left:=190;

	form9.Top:=211;

	form9.Height:=325;

	form9.Width:=650;

	form9.Table1.Active:=true;

	form8.Table1.Active:=false;

	form8.Table2.Active:=false;

	form9.Table2.Active:=true;

	form8.Table3.Active:=false;

	form9.Table3.Active:=true;

	form15.Table2.Active:=false;

	

	end;

	

	procedure TForm9.N4Click(Sender: TObject);

	begin

	form9.Table1.Edit;

	end;

	

	procedure TForm9.N5Click(Sender: TObject);

	begin

	form9.Table1.Append;

	end;

	

	procedure TForm9.N6Click(Sender: TObject);

	begin

	form9.Table1.Delete;

	end;

	

	procedure TForm9.N7Click(Sender: TObject);

	begin

	form9.Table1.Refresh;

	end;

	

	procedure TForm9.N8Click(Sender: TObject);

	begin

	form9.Table1.Post;

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form10: TForm10;

	

	implementation

	

	uses Unit1, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7,

	  Unit8, Unit9, Unit13;

	

	{$R *.dfm}

	

	procedure TForm10.N2Click(Sender: TObject);

	begin

	form9.Table2.Append;

	end;

	

	procedure TForm10.FormClose(Sender: TObject; var Action: TCloseAction);

	begin

	form8.Visible:=true;

	form10.Visible:=false;

	end;

	

	procedure TForm10.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	begin

	form10.DBGrid1.Height:=form10.Height-10;

	form10.DBGrid1.Width:=form10.Width;

	end;

	

	procedure TForm10.FormActivate(Sender: TObject);

	begin

	form10.Height:=217;

	form10.Width:=217;

	form9.Table2.Active:=true;

	form8.Table2.Active:=false;

	end;

	

	procedure TForm10.N5Click(Sender: TObject);

	begin

	form9.Table2.Post;

	end;

	

	procedure TForm10.N3Click(Sender: TObject);

	begin

	Form9.Table2.Delete;

	  Form11: TForm11;

	

	implementation

	

	uses Unit1, Unit10, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7,

	  Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm11.N1Click(Sender: TObject);

	begin

	form11.Table1.Post;

	end;

	

	procedure TForm11.N2Click(Sender: TObject);

	begin

	form11.Table1.Edit;

	end;

	

	procedure TForm11.N3Click(Sender: TObject);

	begin

	form11.Table1.Delete;

	end;

	

	procedure TForm11.N4Click(Sender: TObject);

	begin

	form11.Table1.Refresh;

	end;

	

	procedure TForm11.N5Click(Sender: TObject);

	begin

	form11.Table1.Append;

	end;

	

	procedure TForm11.FormConstrainedResize(Sender: TObject; var MinWidth,

	  MinHeight, MaxWidth, MaxHeight: Integer);

	begin

	form11.DBGrid1.Height:=form11.Height-75;

	form11.DBGrid1.Width:=form11.Width-5;

	end;

	

	procedure TForm11.FormActivate(Sender: TObject);

	begin

	form11.Height:=220;

	form11.Width:=290;

	form11.Table1.Active:=true;

	end;

	

	end.

	

	

	    procedure CheckBox11Click(Sender: TObject);

	    procedure CheckBox12Click(Sender: TObject);

	    procedure CheckBox13Click(Sender: TObject);

	    procedure CheckBox14Click(Sender: TObject);

	    procedure CheckBox15Click(Sender: TObject);

	    procedure FormConstrainedResize(Sender: TObject;

	     var MinWidth,

	      MinHeight, MaxWidth, MaxHeight: Integer);

	  private

	    { Private declarations }

	  public

	    { Public declarations }

	  end;

	

	var

	  Form12: TForm12;

	

	implementation

	

	uses Unit1, Unit10, Unit11, Unit2, Unit3, Unit4, Unit5, Unit6,

	   Unit7, Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm12.FormActivate(Sender: TObject);

	begin

	form12.Height:=368;

	form12.Width:=500;

	form12.Top:=220;

	form12.Left:=295;

	

	CheckBox1.Checked:=false;

	CheckBox2.Checked:=false;

	CheckBox3.Checked:=false;

	CheckBox4.Checked:=false;

	CheckBox5.Checked:=false;

	

	

	

	CheckBox10.Checked:=false;

	CheckBox11.Checked:=false;

	CheckBox12.Checked:=false;

	CheckBox13.Checked:=false;

	CheckBox14.Checked:=false;

	

	Edit1.Color:=$00C4C4C4;

	Edit2.Color:=$00C4C4C4;

	Edit3.Color:=$00C4C4C4;

	Edit4.Color:=$00C4C4C4;

	Edit5.Color:=$00C4C4C4;

	Edit6.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	CheckBox11.Enabled:=true;

	CheckBox12.Enabled:=true;

	CheckBox11.Checked:=false;

	CheckBox12.Checked:=false;

	

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	if CheckBox3.Checked=false then begin

	Edit3.Color:=$00C4C4C4;

	edit3.Enabled:=false;

	CheckBox11.Enabled:=false;

	CheckBox12.Enabled:=false;

	end;

	end;

	

	procedure TForm12.CheckBox4Click(Sender: TObject);

	begin

	if CheckBox4.Checked=true then begin

	edit4.Color:=clWhite;

	edit4.Enabled:=true;

	CheckBox5.Enabled:=true;

	CheckBox10.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	if CheckBox4.Checked=false then begin

	Edit4.Color:=$00C4C4C4;

	edit4.Enabled:=false;

	CheckBox5.Enabled:=false;

	CheckBox10.Enabled:=false;

	end;

	end;

	

	procedure TForm12.CheckBox5Click(Sender: TObject);

	begin

	if CheckBox5.Checked=true then begin

	edit5.Color:=clWhite;

	edit5.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	if CheckBox5.Checked=false then begin

	Edit5.Color:=$00C4C4C4;

	edit5.Enabled:=false;

	end; end;

	

	Kol_kom="'+Edit2.Text+'")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then  

	if checkbox2.Checked=true then

	if checkbox3.Checked=false then

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=true  then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер_заявки, 

	Status.Status as Статус,RNN_kl as РНН, Kol_kom as Комнат,

	 Zena as Цена,Uliza as Улица, Dom as Дом, Kv as Квартира, 

	Ploshad as Площадь, Etag as Этаж FROM Predlogenia, Status WHERE 

	(Kol_kom="'+Edit2.Text+'") AND (Predlogenia.status="2")AND

	(Predlogenia.status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then  

	if checkbox2.Checked=true then

	if checkbox3.Checked=false then

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false  then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as

	 Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE(Kol_kom="'+Edit2.Text+'")

	AND(Predlogenia.status="1")AND(Predlogenia.status=ID_status)';

	Query1.Open;

	end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then   

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=true then

	if checkbox12.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as номер, Status.Status as

	статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE(Zena<"'+Edit3.Text+'")AND

	(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then   

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as , Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE(Zena>"'+Edit3.Text+'")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=true then    

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=true then

	if checkbox12.Checked=false then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	if checkbox3.Checked=true then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox11.Checked=false then

	if checkbox12.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as

	 Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Кварира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE(Zena>"'+Edit3.Text+'")

	AND(Predlogenia.Status="1")And (Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then    

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as

	 Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Домì, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")And (Predlogenia.Status=ID_status)';

	Query1.Open; end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Predlogenia.Status="2")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'")

	AND(Predlogenia.Status="2")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv asНомер, Status.Status as Статус,RNN_kl as РЕЕÍ, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Dom="'+Edit5.Text+'")

	AND(Predlogenia.Status="1")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     "

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as 

	Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as

	 Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=false then

	if checkbox10.Checked=true then

	if checkbox13.Checked=true then

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=true then

	if checkbox13.Checked=true then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza)

	LIKEUPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status="2")

	AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=true then

	if checkbox5.Checked=true then

	if checkbox10.Checked=true then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as 

	Этаж FROM Predlogenia, Status WHERE UPPER(Uliza) 

	LIKE UPPER("%'+Edit4.Text+'%")AND(Kv="'+Edit6.Text+'")

	AND(Dom="'+Edit5.Text+'")AND(Predlogenia.Status=ID_status)';

	Query1.Open;

	end;

	if checkbox1.Checked=false then

	if checkbox2.Checked=false then

	if checkbox3.Checked=false then     

	if checkbox4.Checked=false then

	if checkbox5.Checked=false then

	if checkbox10.Checked=false then

	if checkbox13.Checked=false then

	if checkbox14.Checked=false then

	if checkbox15.Checked=true then begin

	Query1.Close;

	Query1.SQL.Clear;

	Query1.SQL.Text:='SELECT ID_kv as Номер, Status.Status as 

	Статус,RNN_kl as РНН, Kol_kom as Комнат, Zena as Цена,Uliza as

	 Улица, Dom as Дом, Kv as Квартира, Ploshad as Площадь, Etag as begin

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox7Click(Sender: TObject);

	begin

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox8Click(Sender: TObject);

	begin

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox9Click(Sender: TObject);

	begin

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox11Click(Sender: TObject);

	begin

	if CheckBox11.Checked=true then CheckBox12.Enabled:=false

	else CheckBox12.Enabled:=true;

	end;

	

	procedure TForm12.CheckBox12Click(Sender: TObject);

	begin

	if CheckBox12.Checked=true then CheckBox11.Enabled:=false

	else CheckBox11.Enabled:=true;

	end;

	

	procedure TForm12.CheckBox13Click(Sender: TObject);

	begin

	if CheckBox13.Checked=true then CheckBox14.Enabled:=false

	else CheckBox14.Enabled:=true;

	

	CheckBox1.Checked:=false;

	Edit1.Color:=$00C4C4C4;

	edit1.Enabled:=false;

	end;

	

	procedure TForm12.CheckBox14Click(Sender: TObject);

	begin

	if CheckBox14.Checked=true then CheckBox13.Enabled:=false

	    { Public declarations }

	  end;

	

	var

	  Form13: TForm13;

	implementation

	

	uses Unit1, Unit10, Unit11, Unit12, Unit2, Unit3, Unit4, Unit5, Unit6,

	  Unit7, Unit8, Unit9;

	

	{$R *.dfm}

	

	procedure TForm13.Image4Click(Sender: TObject);

	begin

	form13.Visible:=false;

	form3.Enabled:=true;

	end;

	

	procedure TForm13.Image3Click(Sender: TObject);

	begin

	form8.Visible:=true;

	form13.Visible:=false;

	end;

	

	procedure TForm13.Image2Click(Sender: TObject);

	begin

	form4.Visible:=true;

	form13.Visible:=false;

	end;

	

	procedure TForm13.Image1Click(Sender: TObject);

	begin

	form6.Visible:=true;

	form13.Visible:=false;

	end; end. 

	//архив сделок

unit Unit14;

interface



uses

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

 Forms, Dialogs, DBCtrls, StdCtrls, Mask, ExtCtrls, Menus;



type

  TForm14 = class(TForm)

    Panel2: TPanel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    Table1RNN_sotr: TStringField;

    Table1Zena_kv: TIntegerField;

    Table1Oplata: TIntegerField;

    Table1Data: TDateField;

    Table1Dop: TMemoField;

    Table2: TTable;

    Table3: TTable;

    Table1RNN_prod: TStringField;

    Table1RNN_pok: TStringField; 

   Table1FIO_sotr: TStringField;

    Table1FIO_prod: TStringField;

    Table1FIO_pok: TStringField;

    procedure FormActivate(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure FormConstrainedResize(Sender: TObject; var MinWidth,

      MinHeight, MaxWidth, MaxHeight: Integer);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form15: TForm15;



implementation



uses Unit1, Unit10, Unit11, Unit12, Unit13, Unit14, Unit2, Unit3, Unit4,

  Unit5, Unit6, Unit7, Unit8, Unit9;



{$R *.dfm}



procedure TForm15.FormActivate(Sender: TObject);

begin

form15.Table2.Active:=true;

form15.Table3.Active:=true;

form5.Table1.Active:=false;

form9.Table3.Active:=false;

form8.Table3.Active:=false;

form15.Height:=325;

form15.Width:=650;

form15.Left:=190;

form15.Top:=211;

end;



procedure TForm15.FormClose(Sender: TObject; var Action: TCloseAction);

begin

form15.Table2.Active:=false;

form15.Table3.Active:=false;

end;



procedure TForm15.FormConstrainedResize(Sender: TObject; var MinWidth,

  MinHeight, MaxWidth, MaxHeight: Integer);

begin

form15.DBGrid1.Height:=form15.Height-75;

form15.DBGrid1.Width:=form15.Width-10;



end;



end.