Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Применение объектно-ориентированного подхода при проектировании информационной системы(Проектирование диаграмм UML)

Содержание:

Введение

Целью исследования является применение объектно-ориентированного подхода при проектировании информационной системы ( на примере CRM системы). Для достижения цели были сформулированы и решены следующие задачи:

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

2. Систематизирован документооборот.

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

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

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

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

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

1 Проектирование диаграмм UML

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

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

Функции, реализуемые системой:

  1. аутентификация пользователя;
  2. ведение справочников (пользователи, единицы измерения, номенклатура, адреса, поставщики, виды операций, материально-ответственные лица);
  3. ведение оперативной информации (операции на складах, размещение единиц хранения, комплектация заказа, результаты инвентаризации);
  4. поиск оптимального места хранения для принятого товара;
  5. формирование отчётов (наличие товара на складе, перемещение заданного товара по складу, приём товара на склад, отгрузка товара со склада; товары готовые к отгрузке, результат инвентаризации и коррекции товарных запасов) в экранной и документальных формах;
  6. выдача справок по размещению заданного товара и по его остаткам на текущий момент.

1.2 Разработка информационно-логической структуры системы

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

Наиболее известными визуальными моделями, используемыми для проектирования компьютерных систем и их программных обеспечений, являются диаграммы языка UML и стандарта IDEF0, таблицы и диаграммы стандарта IDEF1X. Эти визуальные модели имеют математическую основу в виде теорий графов, множеств и матриц.

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

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

Язык UML имеет сложную иерархическую структуру, показанную на рисунке 1.1.

Рисунок 1.1 - Структура языка UML

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

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

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

1.3 Постановка задачи

1.4 Описание логической структуры БД

Рисунок 1.2 – Описание логической структуры БД

1.4.1 Диаграмма вариантов использования

Рисунок 1.3 – Диаграмма вариантов использования

1.4.2 Диаграмма классов

Рисунок 1.4 – Диаграмма классов

1.4.3 Диаграмма последовательности

Рисунок 1.5 -Диаграмма последовательности для варианта использования “Внесение данных об изданиях”

Рисунок 1.6 - Диаграмма последовательности для варианта использования “Выбор направления для менеджеров”

Рисунок 1.7 – Диаграмма последовательности для варианта использования “Ведение тарифной политики”

Рисунок 1.8 - Диаграмма последовательности для варианта использования “Получение данных по размещению”

Рисунок 1.9– Диаграмма последовательности для варианта использования

“Внесение данных по размещению”

Рисунок 1.10 – Диаграмма последовательности для варианта использования

“Получение данных о клиенте”

Рисунок 1.11 – Диаграмма последовательности для варианта использования

“Внесение данных о клиенте”

Рисунок 1.12 – Диаграмма последовательности для варианта использования

“Формирование флэт-плана”

1.4.4 Диаграмма компонентов

Рисунок 1.13 – Диаграмма компонентов “Реализация клиентской части CRM-системы”

Рисунок1.14– Диаграмма компонентов “Реализация серверной части CRM-системы”

Рисунок 1.15 – Диаграмма компонентов “Структура C++-проекта клиентской части CRM-системы

1.4.5– Диаграмма размещения устройств и программных средств CRM-системы в узлах ЛВС

Рисунок 1.16 – Диаграмма размещения устройств и программных средств CRM-системы в узлах ЛВС

2 Проектирование диаграмм IDEF

Рисунок 2.1 – Диаграмма верхнего уровня разрабатываемой ИС на основе методологии IDEF0

Рисунок 2.2 – Декомпозиция верхнего уровня разрабатываемой ИС на основе методологии IDEF0

Рисунок 2.3 – Диаграмма с декомпозицией бизнес-функции “Поиск клиентов” на основе методологии IDEF0

Рисунок 2.4 – Диаграмма с декомпозицией бизнес-функции “Внесение данных в БД” на основе методологии IDEF0

Рисунок 2.5 – Диаграмма с декомпозицией бизнес-функции “Заключение договора” на основе методологии IDEF0

Рисунок 2.6 – Диаграмма с декомпозицией бизнес-функции “Формирование запроса пользователем” на основе методологии IDEF0

Рисунок 2.7 – Диаграмма с декомпозицией бизнес-функции “Обработка запроса базой данных” на основе методологии IDEF0

Рисунок 2.8 – Диаграмма с декомпозицией бизнес-функции “Подготовка макета” на основе методологии IDEF0

Рисунок 2.9 – Диаграмма с декомпозицией бизнес-функции “Оформление договора” на основе методологии IDEF0

Рисунок 2.10 – Диаграмма верхнего уровня разрабатываемой ИС на основе методологии DFD

Рисунок 2.11 – Декомпозиция верхнего уровня разрабатываемой ИС на основе методологии DFD

В соответствии с выбранной методологией IDEF0 в данном разделе были построены диаграммы верхнего уровня разрабатываемой ИС, декомпозиции верхнего уровня разрабатываемой ИС, декомпозиции бизнес-функции ИС. Также в данном разделе, были построены диаграмма верхнего уровня разрабатываемой и диаграмма декомпозиции верхнего уровня разрабатываемой ИС на основании методологии DFD.

Заключение

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

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

При выполнении выпускной квалификационной работы был произведен анализ и рассмотренны существующие, наиболее зарекомендовавшие себя CRM-решения, произведен анализ и выбор сервера базы данных, механизма, метода и способа доступа к базе данных, выделены достоинства и функциональные особенности выбранных сред проектирования и разработки (Allfusion Process Modeler 7, IBM Rational Rose v7.0), построены диаграммы, описывающие функциональную схему бизнес-модели организации по методологиям IDEF0 и DFD, составлены диаграммы объектно-ориентированных моделей программных приложений CRM-системы в нотации UML, разработанно клиентское ПО CRM-системы на языке С++.

Список использованных источников

  1. Тунгусков Ю. А., Совершенствование материально-технического обеспечения ООО «Нижневартовскэнергонефть» на основе логистики, Тюмень, 2005. – 22 с.
  2. Миротин Л.Б., Ташбвев Ы.Э., Порошина О.Г. Эффективная логистика, М.: Экзамен, 2002 - 152 с.
  3. Миротин Л.Б., Ташбвев Ы.Э. Системный анализ в логистике, М.: Экзамен, 2004 - 258 с.
  4. Пиявский С.А., Дерябкин В.П. Методические указания по дипломному проектированию, Самара 2006 – 16 с.
  5. Основы организации деятельности предприятия, Ларионова О.А., 2005
  6. Базы данных: модели, разработка, реализация / Карпова Т.- СПб.: Питер, 2001. –304с.
  7. Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с.
  8. Буч Г. Объектно-ориентированное проектирование с примерами применения. М., 1992. - 654с.
  9. Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4.
  10. Глушаков С.В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с.
  11. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 2000. – 351 с.

Приложение А -Листинг разработанного программного обеспечения

unit MainClients;

interface

uses

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

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

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

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

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

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

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

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

unit MainClients;

interface

uses

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

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

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

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

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

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

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

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;

unit MainClients;

interface

uses

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

Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,

addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,

RzButton, Buttons, RzSpnEdt, RzPanel;

type

TMainClientsForm = class(TForm)

ADOConnection1: TADOConnection;

ADOTable1: TADOTable;

MainMenu1: TMainMenu;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

DataSource1: TDataSource;

ADOTable2: TADOTable;

ADOTable3: TADOTable;

ADOTable4: TADOTable;

ADOTable5: TADOTable;

ADOTable6: TADOTable;

ADOTable7: TADOTable;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

ADOQuery1: TADOQuery;

ADOQuery2: TADOQuery;

N18: TMenuItem;

ADOTable8: TADOTable;

N24: TMenuItem;

Image1: TImage;

ToolBar1: TToolBar;

RzRapidFireButton1: TRzRapidFireButton;

RzRapidFireButton2: TRzRapidFireButton;

RzRapidFireButton3: TRzRapidFireButton;

RzRapidFireButton4: TRzRapidFireButton;

RzRapidFireButton5: TRzRapidFireButton;

DataSource2: TDataSource;

h: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N19: TMenuItem;

N25: TMenuItem;

procedure N26Click(Sender: TObject);

procedure N18Click(Sender: TObject);

procedure N25Click(Sender: TObject);

procedure hClick(Sender: TObject);

procedure N24Click(Sender: TObject);

procedure N23Click(Sender: TObject);

procedure RzRapidFireButton5Click(Sender: TObject);

procedure RzRapidFireButton4Click(Sender: TObject);

procedure RzRapidFireButton3Click(Sender: TObject);

procedure RzRapidFireButton2Click(Sender: TObject);

procedure RzRapidFireButton1Click(Sender: TObject);

procedure N12Click(Sender: TObject);

function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

function IsFormOpen(const FormName : string): Boolean;

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N20Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure DataSource1DataChange(Sender: TObject; Field: TField);

procedure N4Click(Sender: TObject);

procedure N14Click(Sender: TObject);

procedure N15Click(Sender: TObject);

procedure N16Click(Sender: TObject);

procedure N17Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N19Click(Sender: TObject);

private

{ Private declarations }

procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public

{ Public declarations }

end;

var

MainClientsForm: TMainClientsForm;

nastr:tinifile;

DirectoryForm : TDBDirectoryTemplateForm;

prosmForm: Taddform;

mainflag:boolean;

nomer_poisk:word;

flag1,flag2:boolean;

s:string;

var dom_tel,mob_tel:string;

adres,notes:string;

stag:real;

rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;

data_vuz, data_kurs:tdate;

lingvo,lingvo_k, comp, comp_k :string;

idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;

var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Pred(AFormName.MDIChildCount) DownTo 0 do

if (AFormName.MDIChildren[i].Name = AMDIChildName) then

begin

Result := True;

AFormName.MDIChildren[i].Free;

end;

end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;

var

i: Integer;

begin

Result := False;

for i := Screen.FormCount - 1 DownTo 0 do

if (Screen.Forms[i].Name = FormName) then

begin

Result := True;

Break;

end;

end;

procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

begin

//создаем форму

DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);

DirectoryForm.TableDBGrid.DataSource:=ds;

DirectoryForm.Top:=0;

DirectoryForm.Left:=0;

DirectoryForm.Caption:=sCaption;

end;

procedure TMainClientsForm.N12Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Неотработанные документы';

nomer_poisk:=3;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N6Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;

mainclientsform.ADOTable1.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N7Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;

mainclientsform.ADOTable2.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N8Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;

mainclientsform.ADOTable3.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;

mainclientsform.ADOTable4.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);

begin

MainClientsForm.N3Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);

begin

MainClientsForm.N4Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);

begin

MainClientsForm.N15Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);

begin

MainClientsForm.N14Click(Sender);

end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);

begin

MainClientsForm.Close;

end;

procedure TMainClientsForm.N10Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;

mainclientsform.ADOTable5.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N20Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;

mainclientsform.ADOTable6.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N21Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;

mainclientsform.ADOTable7.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N23Click(Sender: TObject);

begin

mainclientsform.N3Click(Sender);

mainflag:=true;

flag1:=true;

flag2:=false;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.Height:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N24Click(Sender: TObject);

begin

mainclientsform.N6Click(Sender);

mainflag:=true;

flag1:=false;

flag2:=true;

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;

ProsmForm.Width:=800;

mainclientsform.DataSource1.DataSet.Last();

end;

procedure TMainClientsForm.N25Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=7;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N26Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Отчеты;

nomer_poisk:=8;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;

begin

ADOConnection1.Close;

ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';

ADOConnection1.Open;

MainClientsForm.ADOTable1.Active:=true;

MainClientsForm.ADOTable2.Active:=true;

MainClientsForm.ADOTable3.Active:=true;

MainClientsForm.ADOTable4.Active:=true;

MainClientsForm.ADOTable5.Active:=true;

MainClientsForm.ADOTable6.Active:=true;

MainClientsForm.ADOTable7.Active:=true;

MainClientsForm.ADOTable8.Active:=true;

end;

procedure TMainClientsForm.hClick(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'Резолюция ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=true;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:=' / запрос';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=true;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;

Field: TField);

var

kodistorii,kodclient,kodfact,kodkred:integer;

datanach:tdatetime;

status:string;

begin

if mainflag then

begin

kodistorii:=mainclientsform.DataSource1.DataSet.FieldByName('Код истории').AsInteger;

ProsmForm.Edit70.Text:=inttostr(kodistorii);

kodclient:=mainclientsform.DataSource1.DataSet.FieldByName('Код клиента').AsInteger;

ProsmForm.Edit71.Text:=inttostr(kodclient);

datanach:=mainclientsform.DataSource1.DataSet.FieldByName('дата начала').AsDateTime;

ProsmForm.Edit83.Text:=Datetostr(datanach);

kodfact:=mainclientsform.DataSource1.DataSet.FieldByName('Код факта').AsInteger;

status:=mainclientsform.DataSource1.DataSet.FieldByName('статус').AsString;

mainclientsform.ADOTable3.Active:=true;

if mainclientsform.ADOTable3.Locate('Код клиента',kodclient , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('Фамилия').AsString;

ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('Имя').AsString;

ProsmForm.Edit76.Text:=mainclientsform.ADOTable3.FieldByName('Отчество').AsString;

ProsmForm.Edit74.Text:=mainclientsform.ADOTable3.FieldByName('ИНН').AsString;

ProsmForm.Edit75.Text:=mainclientsform.ADOTable3.FieldByName('доход').AsString;

ProsmForm.Edit77.Text:=mainclientsform.ADOTable3.FieldByName('телефон1').AsString;

end;

if mainclientsform.ADOTable8.Locate('Код факта',kodfact , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit81.Text:=DateToStr(mainclientsform.ADOTable8.FieldByName('').AsDateTime);

ProsmForm.Edit84.Text:=mainclientsform.ADOTable8.FieldByName('нарушение').AsString;

ProsmForm.Edit85.Text:=inttostr(mainclientsform.ADOTable8.FieldByName('%своеврем').AsInteger);

ProsmForm.Edit86.Text:=mainclientsform.ADOTable8.FieldByName('штрафные санкции').AsString;

ProsmForm.Edit82.Text:=mainclientsform.ADOTable8.FieldByName('закрытие').AsString;

end;

mainclientsform.ADOTable7.Active:=true;

if mainclientsform.ADOTable7.Locate('',kodistorii , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit87.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('дата').AsDateTime);

kodkred:=mainclientsform.ADOTable7.FieldByName('').AsInteger;

end;

mainclientsform.ADOTable6.Active:=true;

if mainclientsform.ADOTable6.Locate(',kodkred , [loCaseInsensitive,loPartialKey]) then

begin

ProsmForm.Edit88.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit69.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit66.Text:=inttostr(mainclientsform.ADOTable6.FieldByName('').AsInteger);

ProsmForm.Edit79.Text:=mainclientsform.ADOTable6.FieldByName('цель').AsString;

ProsmForm.Edit64.Text:=DateToStr(mainclientsform.ADOTable6.FieldByName('').AsDateTime);

end;

mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftinteger;

P1.Value:=kodistorii;

stroka_SQL:='SELECT обязательства.* FROM обязательства WHERE (.[]=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);

MainClientsForm.ADOQuery1.Active:=true;

MainClientsForm.ADOQuery1.ExecSQL;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,'');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=true;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N14Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=1;

Poisk.GroupBox1.Visible:=true;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N15Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=2;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=true;

end;

procedure TMainClientsForm.N16Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='Поиск клиента';

nomer_poisk:=4;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=true;

Poisk.GroupBox3.Visible:=false;

end;

procedure TMainClientsForm.N17Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='';

nomer_poisk:=5;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

procedure TMainClientsForm.N18Click(Sender: TObject);

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

mainflag:=false;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;

mainclientsform.ADOTable8.Active:=true;

MainClientsForm.BuildGridDatabaseDirectoryItem('Фактическое выполнение', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N11Click(Sender: TObject);

begin

mainflag:=false;

IsMDIChildOpen(MainClientsForm,' ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);

ProsmForm.GroupBox3.Visible:=false;

ProsmForm.GroupBox1.Visible:=false;

ProsmForm.GroupBox5.Visible:=false;

ProsmForm.GroupBox7.Visible:=false;

ProsmForm.Caption:='';

ProsmForm.Height:=400;

end;

procedure TMainClientsForm.N19Click(Sender: TObject);

var poisk:Tparampoik;

begin

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

IsMDIChildOpen(MainClientsForm,'addform');

IsMDIChildOpen(MainClientsForm,'parampoik');

poisk:=Tparampoik.Create(Owner);

poisk.Left:=530;

poisk.Top:=3;

poisk.Width:=300;

poisk.Caption:='""';

nomer_poisk:=6;

Poisk.GroupBox1.Visible:=false;

Poisk.GroupBox2.Visible:=false;

Poisk.GroupBox3.Visible:=false;

Poisk.Button1.Caption:='';

end;

end.

unit addsorce;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls, DBCtrls ;

type

TaddForm = class(TForm)

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Button1: TButton;

Edit7: TEdit;

GroupBox3: TGroupBox;

Label14: TLabel;

Label15: TLabel;

Label16: TLabel;

Edit14: TEdit;

Edit15: TEdit;

Edit16: TEdit;

Button3: TButton;

GroupBox5: TGroupBox;

Label29: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label35: TLabel;

Label37: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label17: TLabel;

Edit29: TEdit;

Edit31: TEdit;

Edit32: TEdit;

Edit33: TEdit;

Edit34: TEdit;

Edit35: TEdit;

Edit37: TEdit;

Button5: TButton;

Edit19: TEdit;

Edit20: TEdit;

Edit21: TEdit;

Edit22: TEdit;

Edit23: TEdit;

Edit17: TEdit;

Label85: TLabel;

Edit89: TEdit;

Label86: TLabel;

Edit90: TEdit;

Label87: TLabel;

Label88: TLabel;

Edit91: TEdit;

Label89: TLabel;

Edit92: TEdit;

Label90: TLabel;

Edit93: TEdit;

Label91: TLabel;

Edit94: TEdit;

Label92: TLabel;

Label93: TLabel;

Edit95: TEdit;

Label94: TLabel;

Edit96: TEdit;

Label95: TLabel;

Edit97: TEdit;

Label96: TLabel;

Edit98: TEdit;

Label18: TLabel;

Label27: TLabel;

Edit18: TEdit;

Label30: TLabel;

Edit27: TEdit;

Label36: TLabel;

Edit30: TEdit;

Label38: TLabel;

Edit36: TEdit;

Label97: TLabel;

Edit38: TEdit;

Label99: TLabel;

Edit99: TEdit;

GroupBox7: TGroupBox;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label67: TLabel;

Label70: TLabel;

Label71: TLabel;

Label73: TLabel;

Label74: TLabel;

Label75: TLabel;

Label77: TLabel;

Label79: TLabel;

Label80: TLabel;

Label81: TLabel;

Label82: TLabel;

Label83: TLabel;

Label84: TLabel;

Label78: TLabel;

Edit64: TEdit;

Edit66: TEdit;

Edit69: TEdit;

Edit70: TEdit;

DBNavigator2: TDBNavigator;

Edit71: TEdit;

Edit72: TEdit;

Edit73: TEdit;

Edit74: TEdit;

Edit75: TEdit;

Edit76: TEdit;

Edit77: TEdit;

Edit79: TEdit;

Edit81: TEdit;

Edit82: TEdit;

Edit83: TEdit;

Edit84: TEdit;

Edit85: TEdit;

Edit86: TEdit;

Edit87: TEdit;

Edit88: TEdit;

DBGrid1: TDBGrid;

procedure Button5Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

addForm: TaddForm;

naim:string;

ed_izm:string;

kolvo:integer;

cena:real;

nomerpartiya:string;

sernum:string;

srok_godnost:tdate;

data_postavka:tdate;

postavchik:string;

description:string;

location:string;

location_part:string;

primech:string;

Ayear, amonth,aday:word;

razmer_part,kol:integer;

id_part,idaddional,idlocation,idzapas:integer;

idtov,id_proffesiya:integer;

implementation

uses MainClients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure TaddForm.Button1Click(Sender: TObject);

var

Fam, Name1, Sec_Name, Dep, Dolg, Tel1, tel2, INN :string;

kodadr,koddok,dohod:integer;

oblast,gorod, street, dom, kvartira:string;

naimenovan, nomer, kem:string;

datadok,datarogd:tdate;

begin

oblast:=Edit90.Text;

gorod:= Edit91.Text;

street:=Edit92.Text;

dom:=Edit93.Text;

kvartira:=Edit94.Text;

mainclientsform.ADOTable4.Active:=true;

mainclientsform.ADOTable4.Insert();

mainclientsform.ADOTable4.FieldByName('').AsString:= oblast;

mainclientsform.ADOTable4.FieldByName('').AsString:= gorod;

mainclientsform.ADOTable4.FieldByName('').AsString:= street;

mainclientsform.ADOTable4.FieldByName('дом').AsString:= dom;

mainclientsform.ADOTable4.FieldByName('').AsString:= kvartira;

mainclientsform.ADOTable4.Post();

kodadr:=mainclientsform.ADOTable4.FieldByName('').AsInteger;

naimenovan:=Edit95.Text;

nomer:=Edit96.Text;

kem:=Edit98.Text;;

datadok:=strtodate(Edit97.Text);

mainclientsform.ADOTable5.Active:=true;

mainclientsform.ADOTable5.Insert();

mainclientsform.ADOTable5.FieldByName('').AsString:= naimenovan;

mainclientsform.ADOTable5.FieldByName('').AsString:= nomer;

mainclientsform.ADOTable5.FieldByName('').AsDateTime:=datadok;

mainclientsform.ADOTable5.FieldByName('').AsString:= kem;

mainclientsform.ADOTable5.Post();

koddok:=mainclientsform.ADOTable5.FieldByName('Код документа').AsInteger;

Fam:= Edit1.Text;

Name1:= Edit2.Text;

Sec_Name:= Edit3.Text;

datarogd:=strtodate(Edit4.Text);

Tel1:= Edit7.Text;

Tel2:= Edit89.Text;

INN:= Edit5.Text;

dohod:= strtoint(Edit6.Text);

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

mainclientsform.ADOTable3.Active:=true;

mainclientsform.ADOTable3.Insert();

mainclientsform.ADOTable3.FieldByName('').AsString:= Fam;

mainclientsform.ADOTable3.FieldByName('').AsString:= Name1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Sec_Name;

mainclientsform.ADOTable3.FieldByName('').AsDateTime:=datarogd;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel1;

mainclientsform.ADOTable3.FieldByName('').AsString:= Tel2;

mainclientsform.ADOTable3.FieldByName('').AsString:= INN;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= dohod;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= kodadr;

mainclientsform.ADOTable3.FieldByName('').AsInteger:= koddok;

mainclientsform.ADOTable3.Post();

end;

procedure TaddForm.Button3Click(Sender: TObject);

var summa, egplat,srok,procent, kodkred,kodistorii:integer;

target:string;

datapogash:tdatetime;

begin

target:= Edit15.Text;

datapogash:=StrToDate(Edit36.Text);

summa:=strtoint(Edit16.Text);

egplat:=strtoint(Edit14.Text);

srok:=strtoint(Edit30.Text);

procent:=strtoint(Edit38.Text);

kodistorii:= strtoint(Edit99.Text);

mainclientsform.ADOTable6.Active:=true;

mainclientsform.ADOTable6.Insert();

mainclientsform.ADOTable6.FieldByName('').AsString:= target;

mainclientsform.ADOTable6.FieldByName('').AsDateTime:=datapogash;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=egplat;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=srok;

mainclientsform.ADOTable6.FieldByName('').AsInteger:=procent;

mainclientsform.ADOTable6.Post();

kodkred:= mainclientsform.ADOTable6.FieldByName('').AsInteger;

mainclientsform.ADOTable7.Active:=true;

mainclientsform.ADOTable7.Insert();

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable7.FieldByName('').AsInteger:=kodkred;

mainclientsform.ADOTable7.FieldByName('').AsDateTime:=now;

mainclientsform.ADOTable7.FieldByName('').AsString:='';

mainclientsform.ADOTable7.Post();

end;

procedure TaddForm.Button5Click(Sender: TObject);

var srokvoz, datenach:tdatetime;

narush,sankcii,zakrut,status:string;

procentsv, kodclient, kodfakt, kodistorii, summa:integer;

bank,vidob,nomdog,notes:string;

datadog,srokup:tdatetime;

begin

srokvoz:=StrToDate(Edit21.Text);

narush:=Edit37.Text;

procentsv:=strtoint(Edit32.Text);

sankcii:=Edit29.Text;

zakrut:=Edit31.Text;

mainclientsform.ADOTable8.Active:=true;

mainclientsform.ADOTable8.Insert();

mainclientsform.ADOTable8.FieldByName('').AsDateTime:= srokvoz;

mainclientsform.ADOTable8.FieldByName('').AsString:= narush;

mainclientsform.ADOTable8.FieldByName('%').AsInteger:=procentsv;

mainclientsform.ADOTable8.FieldByName('').AsString:= sankcii;

mainclientsform.ADOTable8.FieldByName('').AsString:= zakrut;

mainclientsform.ADOTable8.Post();

kodfakt:= mainclientsform.ADOTable8.FieldByName('Код факта').AsInteger;

status:=Edit34.Text;

datenach:=StrToDate(Edit35.Text);

kodclient:=strtoint(Edit33.Text);

mainclientsform.ADOTable1.Active:=true;

mainclientsform.ADOTable1.Insert();

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodclient;

MainClientsForm.ADOTable1.FieldByName('').AsInteger:=kodfakt;

mainclientsform.ADOTable1.FieldByName('').AsDateTime:=datenach;

mainclientsform.ADOTable1.FieldByName('').AsString:= status;

mainclientsform.ADOTable1.Post();

kodistorii:= mainclientsform.ADOTable1.FieldByName('').AsInteger;

bank:=Edit19.Text;

vidob:=Edit20.Text;

nomdog:=Edit23.Text;

notes:=Edit27.Text;

summa:=STRToint(Edit17.Text);

datadog:= StrToDate(Edit22.Text);

srokup:=StrToDate(Edit18.Text);

mainclientsform.ADOTable2.Active:=true;

mainclientsform.ADOTable2.Insert();

mainclientsform.ADOTable2.FieldByName('').AsString:=bank;

mainclientsform.ADOTable2.FieldByName('').AsString:= vidob;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=datadog;

mainclientsform.ADOTable2.FieldByName('').AsString:=nomdog;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=summa;

mainclientsform.ADOTable2.FieldByName('').AsDateTime:=srokup;

mainclientsform.ADOTable2.FieldByName('').AsString:=notes;

MainClientsForm.ADOTable2.FieldByName('').AsInteger:=kodistorii;

mainclientsform.ADOTable2.Post();

end;

end.

unit parampoisk;

interface

uses

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

Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce,

StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;

type

Tparampoik = class(TForm)

Button1: TButton;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit3: TEdit;

GroupBox2: TGroupBox;

Label2: TLabel;

Edit1: TEdit;

GroupBox3: TGroupBox;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

procedure RzBitBtn4Click(Sender: TObject);

procedure RzBitBtn3Click(Sender: TObject);

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

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

parampoik: Tparampoik;

ChildTemplateForm1: TChildTemplateForm;

ff:string;

flagpoisk:boolean;

p1,p2:tparameter;

all:boolean;

ahour, aminute, asecond, amillisecond :word;

priznak:string;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;

implementation

uses mainclients;

{$R *.dfm}

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

begin

Action:=caFree;

end;

procedure Tparampoik.RzBitBtn3Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

all:boolean;

stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;

fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1;

mainclientsform.ADOQuery1.Active:=false;

mainclientsform.ADOQuery1.SQL.Clear;

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

end;

procedure Tparampoik.RzBitBtn4Click(Sender: TObject);

begin

flagpoisk:=false;

MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');

end;

procedure Tparampoik.Button1Click(Sender: TObject);

var ChildTemplateForm:TChildTemplateform;

timenach,timekon:tdatetime;

data:tdatetime;

summa,srok:integer;

begin

MainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform');

MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm');

ChildTemplateForm:=TChildTemplateform.Create(Owner);

ChildTemplateForm.Left:=0;

ChildTemplateForm.Top:=3;

mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2;

mainclientsform.ADOQuery2.Active:=false;

mainclientsform.ADOQuery2.SQL.Clear;

if nomer_poisk=1 then begin

childTemplateForm.Button1.Visible:=false;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

S:=Edit3.Text;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.[],.[], , .* FROM INNER JOIN История ON.[] =.[] WHERE (((])=:P1));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=4 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit1.Text;

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

p1.DataType := ftstring;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

stroka_SQL:='SELECT.* FROM Клиент WHERE ((() = :P1))' ;

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=5 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT.[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()=" "));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=6 then begin

childTemplateForm.Button1.Visible:=true;

P1:=mainclientsform.ADOQuery2.Parameters.AddParameter();

P1.Name:='P1';

P1.DataType:=ftInteger;

P1.Value:=1;

stroka_SQL:='SELECT .[], .[], , , , , , , , , ';

stroka_SQL:=stroka_SQL+' FROM (Адрес INNER JOIN ON.[] = .[])';

stroka_SQL:=stroka_SQL+'INNER JOIN ON .[] =.[] WHERE ((()<>""));';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

end;

end;

if nomer_poisk=7 then begin

childTemplateForm.Button1.Visible:=false;

S:=Edit2.Text;

summa:=STRTOINT(Edit4.Text);

srok:=STRTOINT(Edit5.Text);

P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P1.Name:='P1';

P1.DataType:=ftString;

P1.Value:=S;

P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter;

P2.Name:='P2';

P2.DataType:=ftinteger;

P2.Value:=round(0.5*summa/srok);

stroka_SQL:='SELECT, , , , , , .[], .[], ';

stroka_SQL:=stroka_SQL+'FROM INNER JOIN ( INNER JOIN ON.[] =.[]) ON Фактвыполнения.[Код факта] =.[]';

stroka_SQL:=stroka_SQL+'WHERE ( (>:P2) and () AND((Фактвыполнения.нарушение)="нет") AND (( [) AND (() AND (());';

if (stroka_SQL<>'') then

begin

mainclientsform.ADOQuery2.SQL.Add(stroka_SQL);

mainclientsform.ADOQuery2.Active:=true;

mainclientsform.ADOQuery2.ExecSQL();

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

childTemplateForm.Label1.Caption:=!!!!'

end

else

childTemplateForm.Label1.Caption:=

end;

end;

end;

end.

unit ChildTemplate;

interface

uses

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

Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls, OleServer, ExcelXP, OleCtnrs, ComObj;

type

TChildTemplateForm = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

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

procedure RzToolbarButton2Click(Sender: TObject);

procedure RzToolbarButton1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

implementation

{$R *.dfm}

uses mainclients;

procedure TChildTemplateForm.Button1Click(Sender: TObject);

var put,asFileName:string;

var

XlApplication: OleVariant;

XLWorkSheet: OleVariant;

var

vVarApp,vVarBooks,vVarBook,

vVarSheets,vVarSheet,vVarCell,ws: Variant;

i,j:integer;

a:string;

begin

if mainclientsform.ADOQuery2.RecordCount>0 then

begin

try

XlApplication := GetActiveOleObject('Excel.Application');

except

XlApplication := CreateOleObject('Excel.Application');

end;

XlApplication.Workbooks.Open[ExtractFilePath(Application.ExeName)+'zayavka.xlt', 0, true]; XlApplication.Visible := true;

XLWorkSheet := XlApplication.ActiveWorkBook.ActiveSheet;

if nomer_poisk<>8 then

XLWorkSheet.cells[3,3]:=''

else

XLWorkSheet.cells[3,3]:='';

mainclientsform.ADOQuery2.First;

for i:=1 to mainclientsform.ADOQuery2.RecordCount do

begin

j:= 0;

A:= mainclientsform.ADOQuery2.FieldByName('Фамилия').AsString;

XLWorkSheet.cells[i+5,2]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Имя').AsString;

XLWorkSheet.cells[i+5,3]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('Отчество').AsString;

XLWorkSheet.cells[i+5,4]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('телефон1').AsString;

XLWorkSheet.cells[i+5,5]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('город').AsString;

XLWorkSheet.cells[i+5,6]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('улица').AsString;

XLWorkSheet.cells[i+5,7]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('дом').AsString;

XLWorkSheet.cells[i+5,8]:=A ;

A:= mainclientsform.ADOQuery2.FieldByName('квартира').AsString;

XLWorkSheet.cells[i+5,9]:=A ;

mainclientsform.ADOQuery2.Next;

end ;

end;

end;

procedure TChildTemplateForm.FormClose(Sender: TObject;

var Action: TCloseAction);

begin

Action:=caFree;

end;