. , , ,

,,,

,

:

: ѻ

:

:


1.

1.1

1.2

2.

2.1

2.2

2.2.1

2.2.2

2.2.3

2.2.4

2.2.5

2.3


, , . . .

, , . , , .

, . - . , , .

( - ) ( - ). , . , . , .

, . :

-

-

-

-

- .

- -, .

- , , , , . .

. . , . .

.


1.

1.1

- , , !

1912 ., . 4741-1 02.04.93 . 41 , .

10 - . , , . , , , . , .

, , , . , .

65%, . , , .

, , - . , , , . 209 - .

- , , . , , , .

, . 88% 71% , , . . , , , 10- .

, , , . .

. . - - , , .

, , . : - , .

63 25.03 1993 . " " " ".

2002 , 12 , 8 , 58 - .

06.08. 1999 501 . , , .

.1:


..


1.

. .

: (), () . , .

, , . . , . ( , , , , ). . - , , ..

. : , , , . , .2


2.


. :

-

-

-

-

. 8 , 2 .

1.2

, :

1) , , , , ;

2) , , , : , , , ;

3) ( , , , );

4) , ( , , 10 000 , . );

5) (, Oracle), ;

6) , , .

, , .

- :

1) , ;

- ;

- ;

- , , ;

2) ( ) - ( ) ;

3) , ( );

4) ;

6) .

:

- ;

- ;

- ;

- ;

- .


2.

2.1

.

, , .

, , , . , . , . :

1. , , , , . , , DELL-386AT ( ), 3 -.

2. , , .

3. . .

, .

, , , :

2 ,

AMD ATHLON XP 2500+ Intel Pentium 2.3

512 Mb

SVGA 15 .

NVidea GeForce-4 MX-440

USB PCI , ZyXEL.

- CD-ROM

UPS.

, .

:

0101

0201

0301

0302

0303

0401

0501

0502

0601

, :

1

0101 , , , , , , , , , , , , , , , , , , 0201
0201 . 0101 . 0101

0301

0302

0303

0301 . 0101 . 0101

0201

0401

0302 . 0101 . 0101

0201

0401

0303 . 0101 . 0101

0201

0401

0401 . 0101 . 0101

0501

0502

0501 . 0101 . 0101 0601
0502 . 0101 . 0101 0601
0601 . 0101 -

:

2.2

2.2.1

:

- ;

- ;

- ;

- ;

- .

:

1) , ;

- ;

- ;

- , , ;

2) ( ) - ( ) ;

3) , ( );

4) ;

6) .

, , , . . , , .

, .

2.2.2

- , .

( ) :

1. .

2. .

3. : - , ..

:

1. .

2. , .

2.


2

- .
060101 - 100
060102 - 1 000
060103 - 100
060104 - 1 500 000
060105 - 1 000

3. , 200, . .


3

KOD_LPU 060102, 060104, 060105 9(3) 1-999
DAT_SC 060104, 060105 9(8) -
N_CH 060104, 060105 9(10) 1-9999999999
SER_POL 060104, 060105 9(6) 1-999999
NOM_POL 060104, 060105 9(10) 1-9999999999
FAMIL 060102, 060104, 060105 A(25) -
IMYA 060102, 060104, 060105 A(20) -
060102, 060104, 060105 A(20) -
D_R 060104, 060105 9(8) -
TIME_R 060104, 060105 (5) -
VES 060104, 060105 9(4) 1-9999
RAION 060104, 060105 9(3) 1-999
NAS_P 060104, 060105 9(4) 1-9999
KATEGOR 060102, 060104, 060105 9(1) 1-9
MES_R 060102, 060104, 060105 (80) -
OTD 060104, 060105 (2) -
PROFIL 060104, 060105 (3) -
N_KART 060104, 060105 (8) -
DIA_NAPR 060104, 060105 (6) -
DIA_O 060104, 060105 (6) -
DIA_S 060104, 060105 (6) -
OSL 060104, 060105 (6) -

DL_LEC

060102,

060104, 060105

9(3) 1-999
ISH_LEC

060102,

060104, 060105

9(2) -
STOIM

060102,

060104, 060105

9(10),2 -
DAT_VV 060104, 060105 9(8) -
VR_VV 060104, 060105 (6) -
DAT_PR 060102, 060104, 060105 9(8) -
TIME_SM 060102, 060104, 060105 (5) -
OS_PRIZ 060104, 060105 9(2) 1-99
NAP_LPU 060104, 060105 9(4) 1-9999
UKL 060102, 060104, 060105 9(4),2 -
IV 060102, 060104, 060105 9(2) -
PR_STR 060102, 060104, 060105 9(1) 1-2
SER_DOK 060104, 060105 (10)
NOM_DOK 060104, 060105 9(4) 1-9999

2.2.3

:

1. ( ).

2. .

4.

5. , , . . 3.


4

.
010101 100 000
010102 1 000

5

REGION 010102 9(3) 1-999
GLAV 010102 (5) -
LPU 010102 A(5) -
LPU_N 010102 A(5) -
PATH 010102 A(30) -
NLPU 010102 9(3) 1-999
RAI 010102 9(3) 1-999
KATEGOR 010102 9(1) 1-9
FULL 010102 A(10) -
NAIM 010102 A(25) -
KODUSL 010102 A(4) -
TARIF 010102 9(7),2 -
TARIF_N 010102 9(7),2 -
DATE 010102 9(8) -
GOG_YN 010102 9(1) 1-9
PROFIL 010102 A(2) -
UKL 010102 9(4),2 -
IV 010102 9(4) -
PR_STR 010102 9(1) 1-2
GRAFIK 010102 A(5) -
KOD 010102 A(8) -
NEC 010102 9(2) 1-99
TERR_STR 010102 9(4) -

2.2.4

. .4:


4.

, . , Ln???.ARJ, n=1,2,4. (1-, 2 , 4- ). ??? .

L1???.DBF,I1???.DBF,O1???.DBF, ??? . L1???.DBF , I1???.DBF , , , O1???.DBF .

L2???.DBF,I2???.DBF,L2???_US.DBF, L4???.DBF,I4???.DBF,L4???_US.DBF,

P?nnn.TXT, . M:\AIO=SCHT\OUT .

DecodSch B?nnn.DBF, ? = ( 1 - , 2 , 4 ), nnn .

ORACLE, FOXPRO , , .. FOXPRO . ('' à ######). ORACLE. TOORA(D:\DATA\TOORA) , DOS, WINDOWS- ORACLE-. M?nnnsss.LPU, ? =( 1 - , 2 , 4 ), nnn , sss .

. !!! . .

( ).

:

(MAIN.PAS, actFindFilesExecute).

. , . . . .

, . , - !!! (MAIN.PAS, actSvodSchetExecute)

07-2194 06.09.2000 ( 70 ) (MyFunc.PAS, New_cntrl_amb) , .

, .

,

, , ,

, -

30.11.1998 . (MAIN.PAS, ActAmbCtrlUslExecute)

( ). (MyFunc.PAS, Del_States)

. , 3- . , (MyFunc.PAS, Date_cntrl_amb).

- . (MAIN.PAS, ActAmbDoubleStrExecute)

. , , , , , . , , . (MAIN.PAS, ActAmbReqFieldsExecute)

, . 18 (. 19.10.2000 ) (MAIN.PAS, actFindDiagORAExecute).

. . (MAIN.PAS, actAmbOneToOneExecute).

, , . , . (MAIN.PAS, ActFindPolisIBExecute)

. , , . , .(MAIN.PAS, actAmbCompArcORAExecute)

. (MyFunc.PAS, AMB_Stoim)

- ( 5).

 

 

 

 

 

 


5.


2.2.5

, :

- 2

- . 1 000 .

. :

- . ;

- , ;

- , ;

- ;

, .

2.3.

:

:

Intel Pentium 3 (1 GHz) AMD Athlon 1600 XP .

: 256 Mb ( 512 Mb) .

: 40 Gb.

:

Windows 98, NT, 2000, XP

BDE Administrator ( Delphi 7)

Oracle Windows 98, NT

Delphi 7 , .

(FoxPro, Clarion, Paradox .) dbf .

-, , , .. .

, , .

. : ROBOT(), ORACLE. UPS ( C:\POWERFLG\POWER.FLG). : , ORACLE , , .

, .

Index iN_KART not found. , - 2-3 . BDE (DBASE + ORACLE). , . . , D:\DATA\STO (D:\DATA\AMB) .

- ORACLE (, ). ORACLE , ( , , ()).

D:\DATA\TOORA. , . C:\TODAY\TOORA ROBOT-. , , .

Access violation , , . , .


. , , - . - .

, , , , . . .

( , ..), , .

, . , () .

, , , : , , . .

, :

- ;

- ;

- ;

- ;

- .

. . . . , .


1. - , 10- - 44 20.06.2003 2003.

2. : - 68 12.09.2003 2003.

3. - .. , .. . - . 2001.

4. 2002 . 2003 ( ) - , , 2003.

5. ( ) - .. 1999.

6. . 4- ( ) - .. . - . 1999.

7. SQL - Andrew Mendelsohn, Ken Jacobs . - 1999.

8. ORACLE - Sanjay Bulchandani, Dennis Cochran . - - 1996.

9. - .. - . 1992.

10. - .. - .: " " 1997.


1

01 []

05.02.2001

06.02.2001

999000

. - .16 .53

29.12.1974

0

. 06.3

,

S21.1

R57.8 ,

,

28.12.2000 01.01.2001

22.10

01.01.2001

4

-

: 429,72

28.12.2000 Z38.93 .
28.12.2000 Z46.73 ( 12- )
28.12.2000 Z39.31
29.12.2000 Z38.08

:

J81. , :

6. , , :

R57.8 :

06.3 ,


2

, - N7 N'87 []

05.02.2001

07.02.2001

08.07.1926

372400 4006580726

. . .156 .18

-

11

l6. [ ]

.

9,2

.

1 03.01.2001 - -
2 09.01.2001 - -
3 11.01.2001 - -
4 13.01.2001 - -

3

, - N7 11 []

05.02.2001

07.02.2001

28.11.1952

372400 7008281152

. . . .47

- 67

-

1

2,5

31.01.2001 . 0,15
31.01.2001 . 0,15
31.01.2001 . 0,2
31.01.2001 2

() = 2,5


4

.

1. ORACLE:KIS.SVSCHET -

2. ORACLE:SNMDN_ST -

3. ORACLE:SNMGRAFIK - .

4. ORACLE:SNMGRUP - .

5. ORACLE:SNMKAT -

6. ORACLE:SNMKAT1 -

7. ORACLE:SNMMKB -

8. ORACLE:SNMMKB_N -

9. ORACLE:SNMMKB_O -

10 ORACLE:SNMNAPRAV -

11. ORACLE:SNMPO_TAR - ,

12. ORACLE:SNMPO_TAR_C - ,

13. ORACLE:SNMST_TAR - ,

14. ORACLE:SNMST_TAR_C - ,

15. ORACLE:SNMPROFIL -

16. ORACLE:SNMSCOB -

17. ORACLE:SNMSPR_INV -

18. ORACLE:SNMSPR_LPU -

19 ORACLE:SNMSPR_OTK -

20. ORACLE:SNMSPUSL -

21. ORACLE:SNMSPL -

22. ORACLE:SNMTARIF1 -

23. ORACLE:SNMUSLUGI -

24. ORACLE:SNMYEAR - 6-.

25. ORACLE:SNMYEAR_5 - 5-.

1.ORACLE:KIS.SVSCHET -

KOD_LPU NUMBER(3, 0)

VID NUMBER(1, 0)

N_SCH VARCHAR2(10)

DT_SCH DATE

DT_IN DATE

COUNT NUMBER(6, 0)

TOTAL NUMBER(10, 2)

COUNT_BAD NUMBER(6, 0)

TOTAL_BAD NUMBER(10, 2)

DOG_YN NUMBER(1, 0)

FIRST NUMBER(1, 0)

OMS NUMBER(1, 0)

MEDEKS NUMBER(1, 0)

PEO NUMBER(1, 0)

ARX NUMBER(1, 0)

EKSPERT NUMBER(1, 0)

2. ORACLE:SNMDOGOVOR - ,

LPU NUMBER(3, 0)

DATA DATE

3. ORACLE:SNMDN_ST -

KOD NUMBER(1, 0)

PROFIL CHAR(3)

NAIM VARCHAR2(40)

GRAFIK NUMBER(1, 0)

4. ORACLE:SNMGRAFIK - .

KOD_LPU NUMBER(3, 0)

VID NUMBER(1, 0)

GRAF NUMBER(1, 0)

5. ORACLE:SNMGRUP - .

GLAV CHAR(3)

LPU CHAR(5)

LPU_N CHAR(5)

PUTH1 VARCHAR2(30)

GLN NUMBER(3, 0)

NLPU NUMBER(4, 0)

RAI NUMBER(3, 0)

SS NUMBER(1, 0)

6. ORACLE:SNMKAT -

KATEGOR NUMBER(1, 0)

NAIM VARCHAR2(25)

7. ORACLE:SNMKAT1 -

KATEGOR NUMBER(1, 0)

NAIM VARCHAR2(25)

8. ORACLE:SNMMKB -

GRU NUMBER(3, 0)

KOD VARCHAR2(8)

NAIM VARCHAR2(72)

HIR CHAR(2)

9. ORACLE:SNMMKB_O -

KOD VARCHAR2(8)

NEK NUMBER(2, 0)

10. ORACLE:SNMMKB_N -

COB NUMBER(1, 0)

KOD VARCHAR2(8)

NEK NUMBER(2, 0)

FLG NUMBER(1, 0)

11. ORACLE:SNMNAPRAV -

KOD NUMBER(2, 0)

NAIM VARCHAR2(40)

15. ORACLE:SNMPROFIL -

KOD CHAR(3)

NAIM VARCHAR2(30)

SR_DL NUMBER(5, 2)

SR_DL1 NUMBER(5, 2)

16.ORACLE:SNMSCOB -

KC NUMBER(2, 0)

NC VARCHAR2(25)

18. ORACLE:SNMSPR_LPU -

KOD_LPU NUMBER(3, 0)

NAIM_LPU VARCHAR2(45)

KOD_TMO NUMBER(2, 0)

VL NUMBER(1, 0)

ADR_LPU VARCHAR2(50)

FIO_LPU VARCHAR2(20)

TEL_LPU VARCHAR2(9)

KOD_RAY NUMBER(2, 0)

RAS_CH CHAR(20)

BANK VARCHAR2(50)

GOROD_BN VARCHAR2(25)

INN VARCHAR2(15)

OKONX VARCHAR2(10)

OKPO VARCHAR2(8)

20. ORACLE:SNMSPL -

KRL NUMBER(2, 0)

NRL VARCHAR2(30)

21. ORACLE:SNMTARIF1 -

KOD NUMBER(3, 0)

SPEC VARCHAR2(45)

22. ORACLE:SNMUSLUGI -

KODUSL NUMBER(1, 0)

NUSL VARCHAR2(20)

25. ORACLE:SNMYEAR_5 - 5-.

YEAR NUMBER(4, 0)

MES_1 CHAR(42) 1-

MES_2 CHAR(42)2-

MES_3 CHAR(42) 3-

MES_4 CHAR(42) 4-

MES_5 CHAR(42)5-

MES_6 CHAR(42)6-

MES_7 CHAR(42) 7-

MES_8 CHAR(42) 8-

MES_9 CHAR(42) 9-

MES_10 CHAR(42) 10-

MES_11 CHAR(42) 11-

MES_12 CHAR(42) 12-


5

unit Unit1;

interface

uses

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

StdCtrls, ComCtrls, Buttons, ExtCtrls, RxGrdCpt, Grids, DBGrids,

bdeutils, fileutil, strutils, Db, DBTables, RXCtrls, SpeedBar, vclutils, ToolWin,

ImgList,DBLists;

type

TForm1 = class(TForm)

RxGradientCaption1: TRxGradientCaption;

SpeedBar1: TSpeedBar;

SpeedbarSection1: TSpeedbarSection;

SpeedItem1: TSpeedItem;

ToolBar1: TToolBar;

tbtn1: TToolButton;

tbtn2: TToolButton;

RxGradientCaption2: TRxGradientCaption;

ImageList1: TImageList;

Panel1: TPanel;

Animate1: TAnimate;

Label1: TLabel;

ToolButton1: TToolButton;

RxGradientCaption3: TRxGradientCaption;

Label2: TLabel;

Tbtn3: TToolButton;

procedure FormShow(Sender: TObject);

procedure SpeedItem1Click(Sender: TObject);

procedure ToolButton1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

procedure TblUpdt(s: TDatabaseItems);

public

{ Public declarations }

end;

var

Form1: TForm1;

reg : Byte;

implementation

{$R *.DFM}

uses data1, Data, main;

procedure create_msg(fi: string; n_ch: integer; d: tdatetime;cou, cou_bad: integer; tot, tot_bad: real);

const

str1:AnsiString=' :';

str2:AnsiString=':';

str3:AnsiString=':';

str4:AnsiString=' :';

str5:AnsiString=' ';

str6:AnsiString=' ';

str7:AnsiString=' .';

str8:AnsiString=' ';

var f: textFile;

begin

if fileexists(fi) then Exit;

AssignFile(f,fi);

Rewrite(f);

writeln(f,strtooem(str1));

writeln(f,strtooem(str2)+inttostr(n_ch));

writeln(f,strtooem(str3)+DateTimeToStr(d));

writeln(f,strtooem(str4));

writeln(f,strtooem(str5)+IntToStr(cou)+strtooem(str8)+floattostrF(tot, ffFixed,10,2 ));

writeln(f,strtooem(str6)+IntToStr(cou_bad)+strtooem(str8)+floattostrF(tot_bad,ffFixed,10,2));

writeln(f,strtooem(str7));

CloseFile(f);

end;

procedure create_pst(p,fi1,fi2: string);

var f: textFile;

begin

AssignFile(f,fi1);

Rewrite(f);

writeln(f,'PATH:'+p);

writeln(f,'FILE:'+fi2);

writeln(f,strtooem(' : decodsch.exe'));

writeln(f,strtooem(': '+ datetimetostr(now)));

CloseFile(f);

end;

procedure ChangeLangDrv(drv: string);

var l: TStrings;

begin

Session.Close;

l := TStringList.Create;

l.Add('LANGDRIVER='+drv);

Session.ModifyDriver('DBASE',l);

Session.Open;

l.Free;

end;

procedure kod_lpu(t: TTable);

begin

t.TableName := 'L2'+Copy(t.TableName,3,3)+'.DBF';

t.Open;

if not(t.IsEmpty) then

with dm1.Query1 do begin

Close;

SQL.Clear;

sql.Add('UPDATE AMB_US SET KOD_LPU='+

t.FieldByName('kod_lpu').asstring+' , N_CH='''+

t.FieldByName('n_ch').asstring+''' , DAT_SC='''+

t.FieldByName('dat_sc').AsString+''' WHERE KOD_LPU IS NULL');

ExecSQL;

end;

t.Close;

end;

procedure TForm1.TblUpdt(s: TDatabaseItems);

var t: TTable;

begin

Label1.Caption := ' ...'; delay(10);

t := TTable.Create(self);

case reg of

1: t.DatabaseName := 'dbSTA';

2: t.DatabaseName := 'dbAMB';

4: t.DatabaseName := 'dbSTO';

end;

{c LPU }

if deletefile('d:\data\toORA\z.dbf') then;

with dm1.Query2 do

begin

sql.Clear;

sql.Add('CREATE TABLE "z" (kod_lpu numeric(3),n_ch character(10), dat_sc date, vid numeric(1) )');

Prepare;

ExecSQL;

end;

with s do begin

Open;

First;

while not eof do begin

t.TableName := ItemName;

TableUpdate(t);

Next;

end;

Close;

{ LPU }

{ , SQL INSERT z.dbf }

with dm1.Query2 do

begin

sql.Clear;

case reg of

1: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 1 as vid from sta ');

2: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 2 as vid from amb ');

4: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 4 as vid from sto ');

end;

ExecSQL;

sql.Clear;

case reg of

1: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 1 as vid from sta_bad where kod_lpu not in (select distinct kod_lpu from sta) ');

2: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 2 as vid from amb_bad where kod_lpu not in (select distinct kod_lpu from amb) ');

4: sql.Add('INSERT INTO "z" (kod_lpu, n_ch, dat_sc, vid) select distinct kod_lpu, n_ch, dat_sc, 4 as vid from sto_bad where kod_lpu not in (select distinct kod_lpu from sto) ');

end;

ExecSQL;

Close;

end;

end;

t.Free;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

Icon := Application.Icon;

ToolBar1.Buttons[0].Down := True;

Label1.Caption := '';

Label2.Caption := '';

try

dm1.dbORA.Connected := True;

except

MessageDlg(' ORACLE(WG73)!', mtWarning, [mbOK], 0);

end;

end;

procedure TForm1.ToolButton1Click(Sender: TObject);

begin

ChangeLangDrv('db866ru0');

Close;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ChangeLangDrv('db866ru0');

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

ChangeLangDrv('db866ru0');

end;

end.

: :

 

 

 

! , , , .
. , :