Реферат: Разработка базы данных Кадры

ACTIVATE WINDOW win0

CLEAR

@ 0,8 SAY ALLTRIM(surname)+' '+ALLTRIM(name)+' '+ALLTRIM(patron)

IF type=1

@ 0,63 SAY 'ПРОСМОТР ДАННЫХ'

ENDIF

IF type=2

@ 0,57 SAY 'РЕДАКТИРОВАНИЕ ДАННЫХ'

ENDIF

IF type=3

@ 0,61 SAY 'ДОБАВЛЕНИЕ ДАННЫХ'

ENDIF

IF list=1

@ 0,0 SAY 'Экран 1'

DO wiev1.prg WITH edit

ENDIF

IF list=2

@ 0,0 SAY 'Экран 2'

DO wiev2.prg WITH edit

ENDIF

IF list=3

@ 0,0 SAY 'Экран 3'

DO wiev3.prg WITH edit

ENDIF

IF list=4

@ 0,0 SAY 'Экран 4'

DO wiev4.prg WITH edit

ENDIF

IF list=5

@ 0,0 SAY 'Экран 5'

DO wiev5.prg WITH edit

ENDIF

IF previos=1

SKIP -1

IF BOF()=.t.

GO BOTTOM

ENDIF

ENDIF

IF next=1

SKIP 1

IF EOF()=.t.

GO TOP

ENDIF

ENDIF

IF down=1

IF list<>1

list=list-1

ELSE

list=5

ENDIF

ENDIF

IF up=1

IF list<>5

list=list+1

ELSE

list=1

ENDIF

ENDIF

IF find=1

DO search.prg

ENDIF

org_num1=org_num

IF eduadd=1

DO educat.prg WITH org_num1,edit

ENDIF

IF forlang=1

DO language.prg WITH org_num1,edit

ENDIF

IF conv=1

DO convict.prg WITH org_num1,edit

ENDIF

IF structfam=1

DO family.prg WITH org_num1,edit

ENDIF

IF pass=1

DO passport.prg WITH org_num1,edit

ENDIF

IF bok=1

DO workcard.prg WITH org_num1,edit

ENDIF

IF purpos=1

DO move.prg WITH org_num1,edit

ENDIF

IF qualcateg=1

DO qualif.prg WITH org_num1,edit

ENDIF

IF tripsbus=1

DO bus_trip.prg WITH org_num1,edit

ENDIF

IF holid=1

DO holiday.prg WITH org_num1,edit

ENDIF

IF print=1

DO print.prg

ENDIF

ENDDO

RELEASE WINDOW win1

RELEASE WINDOW win0

RETURN


WIEV1.PRG


PARAMETER edit

ACTIVATE WINDOW win1

CLEAR

eduadd=5

forlang=5

conv=5

structfam=5

pass=5

bok=5

purpos=5

qualcateg=5

tripsbus=5

holid=5

org_n=org_num

@ 1,1 SAY'Таб. номер:__________________'

@ 2,1 SAY'Страховой номер:_____________'

@ 3,1 SAY'Фамилия:_____________________'

@ 4,1 SAY'Имя:_________________________'

@ 5,1 SAY'Отчество:____________________'

@ 6,1 SAY'Пол:_________________________'

@ 7,1 SAY'Дата рождения:_______________'

@ 8,1 SAY'Место рождения:______________'

@ 9,1 SAY'Национальность:______________'

@ 10,1 SAY'Социальное происхождение:____'

@ 11,1 SAY'Гражданство:_________________'

@ 12,1 SAY'Образование:_________________'

@ 13,1 SAY'Название учебного заведения:_'

@ 14,1 SAY'Форма обучения:______________'

@ 15,1 SAY'Год окончания:_______________'

@ 18,4 SAY'ЛИСТАТЬ'

@ 18,29 SAY'ЗАПИСЬ'

@ 16,0,16,77 BOX

@ 17,26,19,26 BOX

@ 17,52,19,52 BOX

STORE 6 TO org_num,ins_num,surname,name,up,down,next,;

previos,find,print,exit

@ 1,30 GET org_num VALID UN()=.t. ERROR ;

'Такой табельный номер уже существует'SIZE 1,6 WHEN edit=.t. COLOR SCHEME 2

@ 2,30 GET ins_num PICTURE 'NNN-NNN-NNN' SIZE 1,11 ;

WHEN edit=.t. COLOR SCHEME 2

@ 3,30 GET surname SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2

@ 4,30 GET name SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2

@ 5,30 GET patron SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET sex VALID sex='М'OR sex='Ж'OR sex='м'OR sex='ж' ;

ERROR '[М]ужской или [Ж]енский' SIZE 1,1 ;

WHEN edit=.t. COLOR SCHEME 2

@ 7,30 GET birth_date SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 8,30 GET birthplace SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 9,30 GET national SIZE 1,15 WHEN edit=.t. COLOR SCHEME 2

@ 10,30 GET SOCIAL SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 11,30 GET citizen SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 12,30 GET educat SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 13,30 GET NAME_EDU SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 14,30 GET form_train SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

@ 15,30 GET year_end SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2


STORE "* ВПЕРЕД" TO MPROMPTS

@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* НАЗАД " TO MPROMPTS

@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS

@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS

@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* НАЙТИ " TO MPROMPTS

@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПЕЧАТЬ" TO MPROMPTS

@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

STORE "* ВЫХОД" TO MPROMPTS

@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

IF org_n<>org_num

org_n1=org_num

SELECT 2

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 3

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 4

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 5

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 6

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 7

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 8

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 9

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 10

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 11

REPLACE org_num WITH org_n1 FOR org_num=org_n

SELECT 1

ENDIF

RETURN


FUNCTION un

rec_un=RECNO()

tab_un=org_num

SEEK tab_un

IF RECNO()=rec_un

SKIP

ENDIF

IF tab_un=org_num AND !EOF()

GO rec_un

RETURN .f.

ENDIF

GO rec_un

RETURN


WIEV2.PRG


PARAMETER edit

ACTIVATE WINDOW win1

CLEAR

eduadd=5

forlang=5

conv=5

structfam=5

pass=5

bok=5

purpos=5

qualcateg=5

tripsbus=5

holid=5

@ 1,1 SAY'Диплом:______________________'

@ 2,1 SAY'Квалификация по диплому:_____'

@ 3,1 SAY'Специальность по диплому:_____'

@ 4,30 SAY EDU_NUM COLOR SCHEME 2

@ 5,1 SAY'Вид найма:___________________'

@ 6,1 SAY'Вид работы:__________________'

@ 7,1 SAY'Ученая степень:______________'

@ 8,1 SAY'Ученое звание:_______________'

@ 9,1 SAY'Узкая специальность:_________'

@ 10,30 SAY LANG_NUM COLOR SCHEME 2

@ 11,30 SAY conv_num COLOR SCHEME 2

@ 12,1 SAY'Семейное положение:__________'

@ 13,30 SAY famil_num COLOR SCHEME 2

@ 14,1 SAY'Профсоюз:____________________'

@ 15,1 SAY'Группа инвалидности:_________'


@ 18,4 SAY'ЛИСТАТЬ'

@ 18,29 SAY'ЗАПИСЬ'

@ 16,0,16,77 BOX

@ 17,26,19,26 BOX

@ 17,52,19,52 BOX

STORE 6 TO diploma,qual_dip,spec_dip,eduadd, ;

kind_hir,KIND_WRK,s_degree,s_rank,mar_spec, ;

forlang,conv,mar_status,structfam,tr_union,group, ;

up,down,next,previos,find,print,exit

@ 1,30 GET diploma PICTURE 'серия:XXXX номер:NNNNNNNN' ;

SIZE 1,25 WHEN edit=.t. COLOR SCHEME 2

@ 2,30 GET qual_dip SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 3,30 GET spec_dip SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

STORE "* Образование (дополнит.):____" TO MPROMPTS

@ 4,0 GET eduadd FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 5,30 GET kind_hir SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET KIND_WRK SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 7,30 GET s_degree SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 8,30 GET s_rank SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 9,30 GET mar_spec SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

STORE "* Владение иностран. языками:_" TO MPROMPTS

@ 10,0 GET forlang FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

STORE "* Наличие судимости:__________" TO MPROMPTS

@ 11,0 GET conv FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 12,30 GET mar_status SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

STORE "* Состав семьи:_______________" TO MPROMPTS

@ 13,0 GET structfam FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 14,30 GET tr_union SIZE 1,40 WHEN edit=.t. COLOR SCHEME 2

@ 15,30 GET group SIZE 1,1 WHEN edit=.t. COLOR SCHEME 2


STORE "* ВПЕРЕД" TO MPROMPTS

@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* НАЗАД " TO MPROMPTS

@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS

@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS

@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* НАЙТИ " TO MPROMPTS

@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПЕЧАТЬ" TO MPROMPTS

@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

STORE "* ВЫХОД" TO MPROMPTS

@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

RETURN


WIEV3.PRG


PARAMETER edit

ACTIVATE WINDOW win1

CLEAR

eduadd=5

forlang=5

conv=5

structfam=5

pass=5

bok=5

purpos=5

qualcateg=5

tripsbus=5

holid=5


@ 1,1 SAY'Пенсионер?:__________________'

@ 2,1 SAY'Участник войны?:_____________'

@ 3,1 SAY'Домашний индекс:_____________'

@ 4,1 SAY'Район:_______________________'

@ 5,1 SAY'Область:_____________________'

@ 6,1 SAY'Домашний адрес:______________'

@ 7,1 SAY'Домашний телефон:____________'

@ 9,1 SAY'Воинская обязанность:________'

@ 10,1 SAY'Воинское звание:_____________'

@ 11,1 SAY'Номер ВУС:___________________'

@ 12,1 SAY'Военный билет:_______________'

@ 13,1 SAY'Годность к военной службе:___'

@ 14,1 SAY'Отношение к бронированию:____'

@ 15,1 SAY'Наличие моб. предписания:____'


@ 18,4 SAY'ЛИСТАТЬ'

@ 18,29 SAY'ЗАПИСЬ'

@ 16,0,16,77 BOX

@ 17,26,19,26 BOX

@ 17,52,19,52 BOX

STORE 6 TO pensioner, ;

partic_war,post_index,region,area,address,telephone, ;

pass,passport,conscript,milit_rank,number,mil_ticket,;

mil_valid,attitude,mobile_ins,up,down,next,previos,find,print,exit


@ 1,30 GET pensioner VALID pensioner='д'OR pensioner='Д'OR ;

pensioner='н'OR pensioner='Н' ERROR 'Только [Д]а или [Н]ет' ;

SIZE 1,1 WHEN edit=.t. COLOR SCHEME 2

@ 2,30 GET partic_war VALID partic_war='д'OR partic_war='Д'OR ;

partic_war='н'OR partic_war='Н' ERROR 'Только [Д]а или [Н]ет' ;

SIZE 1,1 WHEN edit=.t. COLOR SCHEME 2

@ 3,30 GET post_index SIZE 1,6 WHEN edit=.t. COLOR SCHEME 2

@ 4,30 GET region SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

@ 5,30 GET area SIZE 1,40 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET address SIZE 1,40 WHEN edit=.t. COLOR SCHEME 2

@ 7,30 GET telephone PICTURE '###-##-## код: ###' ;

SIZE 1,18 WHEN edit=.t. COLOR SCHEME 2

STORE "* Паспортные данные:__________" TO MPROMPTS

@ 8,0 GET pass FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 8,30 GET passport PICTURE 'серия:XXXXXXX-XX номер ######' ;

SIZE 1,29 WHEN edit=.t. COLOR SCHEME 2

@ 9,30 GET conscript SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

@ 10,30 GET milit_rank SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

@ 11,30 GET number SIZE 1,12 WHEN edit=.t. COLOR SCHEME 2

@ 12,30 GET mil_ticket PICTURE 'серия:XXX номер #######' ;

SIZE 1,23 WHEN edit=.t. COLOR SCHEME 2

@ 13,30 GET mil_valid SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 14,30 GET attitude SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 15,30 GET mobile_ins VALID mobile_ins='д'OR mobile_ins='Д' ;

OR mobile_ins='н'OR mobile_ins='Н' ;

ERROR 'Только [Д]а или [Н]ет' SIZE 1,1 WHEN edit=.t. ;

COLOR SCHEME 2


STORE "* ВПЕРЕД" TO MPROMPTS

@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* НАЗАД " TO MPROMPTS

@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS

@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS

@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* НАЙТИ " TO MPROMPTS

@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПЕЧАТЬ" TO MPROMPTS

@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

STORE "* ВЫХОД" TO MPROMPTS

@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

RETURN


WIEV4.PRG


PARAMETER edit

ACTIVATE WINDOW win1

CLEAR

eduadd=5

forlang=5

conv=5

structfam=5

pass=5

bok=5

purpos=5

qualcateg=5

tripsbus=5

holid=5


@ 1,1 SAY'Группа учета:________________'

@ 2,1 SAY'Категория учета:_____________'

@ 3,1 SAY'Райвоенкомат:________________'

@ 4,1 SAY'Дата начала срочной службы:__'

@ 5,1 SAY'Дата окончания срочн. службы:'

@ 6,1 SAY'Дата посл. прохожд. мед. ком:'

@ 7,30 SAY record_num COLOR SCHEME 2

@ 8,30 SAY purpos_num COLOR SCHEME 2

@ 9,30 SAY qual_num COLOR SCHEME 2

@ 10,1 SAY'Учреждение:__________________'

@ 11,1 SAY'Подразделение:_______________'

@ 12,1 SAY'Текущая должность:___________'

@ 13,1 SAY'Дата приема на работу:_______'

@ 14,1 SAY'Дата окончания испыт. срока:_'

@ 15,30 SAY trial_num COLOR SCHEME 2

@ 18,4 SAY'ЛИСТАТЬ'

@ 18,29 SAY'ЗАПИСЬ'

@ 16,0,16,77 BOX

@ 17,26,19,26 BOX

@ 17,52,19,52 BOX

STORE 4 TO group_acc, ;

category_a,commissar,start_date,close_date,last_date,bok,purpos, ;

qualcateg,company,suddivis,cur_post,employment,trial_clos, ;

admission,up,down,next,previos,find,print,exit,tripsbus

@ 1,30 GET group_acc SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 2,30 GET category_a SIZE 1,20 WHEN edit=.t. COLOR SCHEME 2

@ 3,30 GET commissar SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 4,30 GET start_date SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 5,30 GET close_date SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET last_date SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

STORE "* Трудовая книжка:____________" TO MPROMPTS

@ 7,0 GET bok FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

STORE "* Назначения и перемещения:___" TO MPROMPTS

@ 8,0 GET purpos FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

STORE "* Квалификационный разряд:____" TO MPROMPTS

@ 9,0 GET qualcateg FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 10,30 GET company SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 11,30 GET subdivis SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 12,30 GET cur_post SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 13,30 GET employment SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 14,30 GET trial_clos SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

STORE "* Командировки:_______________" TO MPROMPTS

@ 15,0 GET tripsbus FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

STORE "* ВПЕРЕД" TO MPROMPTS

@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* НАЗАД " TO MPROMPTS

@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS

@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS

@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* НАЙТИ " TO MPROMPTS

@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПЕЧАТЬ" TO MPROMPTS

@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

STORE "* ВЫХОД" TO MPROMPTS

@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

RETURN


WIEV5.PRG


PARAMETER edit

ACTIVATE WINDOW win1

CLEAR

eduadd=5

forlang=5

conv=5

structfam=5

pass=5

bok=5

purpos=5

qualcateg=5

tripsbus=5

holid=5


@ 1,30 SAY holid_num COLOR SCHEME 2

@ 2,1 SAY'Дата увольнения:_____________'

@ 3,1 SAY'Причина увольнения:__________'

@ 4,1 SAY'ИНН:_________________________'

@ 5,1 SAY'Серия свидет. налогоплател.:_'

@ 6,1 SAY'Номер свидет. налогоплател.:_'

@ 7,1 SAY'Дата свидет. налогоплател.:__'


@ 18,4 SAY'ЛИСТАТЬ'

@ 18,29 SAY'ЗАПИСЬ'

@ 16,0,16,77 BOX

@ 17,26,19,26 BOX

@ 17,52,19,52 BOX

STORE 6 TO holid,date_dis,reason_d,inn,series_tax,num_tax, ;

date_tax,up,down,next,previos,find,print,exit


STORE "* Отпуска:____________________" TO MPROMPTS

@ 1,0 GET holid FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11

@ 2,30 GET date_dis SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 3,30 GET reason_dis SIZE 1,47 WHEN edit=.t. COLOR SCHEME 2

@ 4,30 GET inn SIZE 1,12 WHEN edit=.t. COLOR SCHEME 2

@ 5,30 GET series_tax SIZE 1,14 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET num_tax SIZE 1,14 WHEN edit=.t. COLOR SCHEME 2

@ 7,30 GET date_tax SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2


STORE "* ВПЕРЕД" TO MPROMPTS

@ 17,14 GET up FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* НАЗАД " TO MPROMPTS

@ 19,14 GET down FUNCTION MPROMPTS SIZE 1, 8 COLOR SCHEME 11

STORE "* СЛЕДУЮЩАЯ " TO MPROMPTS

@ 17,38 GET next FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПРЕДЫДУЩАЯ" TO MPROMPTS

@ 18,38 GET previos FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* НАЙТИ " TO MPROMPTS

@ 19,38 GET find FUNCTION MPROMPTS SIZE 1, 12 COLOR SCHEME 11

STORE "* ПЕЧАТЬ" TO MPROMPTS

@ 17,62 GET print FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

STORE "* ВЫХОД" TO MPROMPTS

@ 19,62 GET exit FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

RETURN


BUS_TRIP.PRG


PARAMETER org_num1,edit


SELECT j

DEFINE WINDOW win3 FROM 3, 11 TO 20, 68 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Командировки' LOCK 0 ;

FIELDS start_trp :H='Дата начала:', closed_trp :H='Дата окончания:', ;

destinat :H='Место назначения:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Командировки' NOAPPEND NOMODIFY NODELETE ;

LOCK 0 FIELDS start_trp :H='Дата начала:', closed_trp :H='Дата окончания:', ;

destinat :H='Место назначения:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE trial_num WITH f

RETURN


CONVICT.PRG


PARAMETER org_num1,edit

SELECT e

DEFINE WINDOW win3 FROM 3, 5 TO 20, 75 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Наличие судимости' LOCK 0 ;

FIELDS date_verd :H='Дата вынесения приговора:', article :H='Статья:', ;

period :H='Срок:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Наличие судимости' ;

NOAPPEND NOMODIFY NODELETE LOCK 0 ;

FIELDS date_verd :H='Дата вынесения приговора:', article :H='Статья:', ;

period :H='Срок:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE conv_num WITH f

RETURN


EDUCAT.PRG


PARAMETER org_num1,edit

SELECT c

DEFINE WINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N

IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Образование (дополнительно)' LOCK 0 ;

FIELDS date_begin :H='Поступил:',date_end :H='Окончил:', ;

education :H='Образование:',name_educ :H='Название у/з:', ;

dipl :H='Диплом:',form_tr :H='Форма обучения:', ;

qualific :H='Квалификация:',special :H='Специальность:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Образование (дополнительно)' NOAPPEND ;

NOMODIFY NODELETE LOCK 0 FIELDS date_begin :H='Поступил:', ;

date_end :H='Окончил:', education :H='Образование:', ;

name_educ :H='Название у/з:',dipl :H='Диплом:', ;

form_tr :H='Форма обучения:',qualific :H='Квалификация:', ;

special :H='Специальность:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE EDU_NUM WITH f

RETURN


FAMILY.PRG


PARAMETER org_num1,edit

SELECT f

DEFINE WINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Состав семьи' LOCK 0 ;

FIELDS relation :H='Степень родства:', names :H='Фамилия, инициалы:', ;

date_relat :H='Дата рождения:', expense :H='На иждивении:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Состав семьи' NOAPPEND NOMODIFY NODELETE ;

LOCK 0 FIELDS relation :H='Степень родства:', ;

names :H='Фамилия, инициалы:', date_relat :H='Дата рождения:', ;

expense :H='На иждивении:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE famil_num WITH f

RETURN


HOLIDAY.PRG


PARAMETER org_num1,edit


SELECT 11

DEFINE WINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Отпуска' LOCK 0 ;

FIELDS kind_hol :H='Вид отпуска:', basis_hol :H='Основание:', ;

with_hol :H='За время с',on_hol :H='За время по:', ;

d_st_hol :H='Дата начала:', amount :H='Кол-во дней:', ;

d_en_hol :H='Дата окончания:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Отпуска' NOAPPEND NOMODIFY NODELETE LOCK 0 ;

FIELDS kind_hol :H='Вид отпуска:', basis_hol :H='Основание:', ;

with_hol :H='За время с',on_hol :H='За время по:', d_st_hol :H='Дата начала:', ;

amount :H='Кол-во дней:',d_en_hol :H='Дата окончания:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE holid_num WITH f

RETURN


LANGUAGE.PRG


PARAMETER org_num1,edit

SELECT d

DEFINE WINDOW win3 FROM 3, 13 TO 20, 67 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Владение иностранными языками' LOCK 0 ;

FIELDS oth_lang :H='Язык:', level :H='Уровень владения:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Владение иностранными языками' ;

NOAPPEND NOMODIFY NODELETE LOCK 0 ;

FIELDS oth_lang :H='Язык:', level :H='Уровень владения:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE LANG_NUM WITH f

RETURN


MOVE.PRG


PARAMETER org_num1,edit

SELECT h

DEFINE WINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Назначения и перемещения' LOCK 0 ;

FIELDS date_mov :H='Дата:', reason_mov :H='Основание:', depart :H='Отдел:', ;

post_mov :H='Должность:',method_mov :H='Режим работы:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Назначения и перемещения' NOAPPEND NOMODIFY NODELETE LOCK 0 ;

FIELDS date_mov :H='Дата:', reason_mov :H='Основание:', depart :H='Отдел:', ;

post_mov :H='Должность:',method_mov :H='Режим работы:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE purpos_num WITH f

RETURN


PASSPORT.PRG


PARAMETER org_num1,edit

SELECT b


LOCATE FOR org_num=org_num1

IF FOUND()=.f.

APPEND BLANK

REPLACE org_num WITH org_num1

ENDIF

DEFINE WINDOW win3 FROM 3, 1 TO 24, 78 NOGROW ;

NOFLOAT NOZOOM SHADOW CLOSE COLOR SCHEME 10 TITLE 'ПАСПОРТНЫЕ ДАННЫЕ'

ACTIVATE WINDOW win3

@ 1,5 SAY'Кем выдан:'

@ 2,5 SAY'Дата выдачи:'

@ 6,5 SAY'Индекс:'

@ 7,5 SAY'Область:'

@ 8,5 SAY'Район:'

@ 9,5 SAY'Город:'

@ 10,5 SAY'Населенный пун'

@ 11,5 SAY'Улица:'

@ 12,5 SAY'Дом:'

@ 13,5 SAY'Корпус:'

@ 14,5 SAY'Квартира:'

@ 4,2,16,73 BOX

@ 4,30 SAY ' Адрес прописки '

STORE 5 TO exp_given,date_distr,index_p,area_p,region_p,city_p,point_p,street_p,;

house_p,corps_p,flat_p,end

@ 1,20 GET exp_given SIZE 1,50 WHEN edit=.t. COLOR SCHEME 2

@ 2,20 GET date_distr SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 6,30 GET index_p SIZE 1,6 WHEN edit=.t. COLOR SCHEME 2

@ 7,30 GET area_p SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 8,30 GET region_p SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 9,30 GET city_p SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 10,30 GET point_p SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 11,30 GET street_p SIZE 1,30 WHEN edit=.t. COLOR SCHEME 2

@ 12,30 GET house_p SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 13,30 GET corps_p SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

@ 14,30 GET flat_p SIZE 1,10 WHEN edit=.t. COLOR SCHEME 2

STORE "* ВЫХОД" TO MPROMPTS

@ 18,34 GET end FUNCTION MPROMPTS SIZE 1,5 COLOR SCHEME 11

READ CYCLE

SELECT a

RELEASE WINDOW win3

RETURN


QUALIF.PRG


PARAMETER org_num1,edit

SELECT i

DEFINE WINDOW win3 FROM 3, 10 TO 20, 69 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Квалификационный разряд' LOCK 0 ;

FIELDS date_qual :H='Дата:', reas_qual :H='Основание:', ;

qualificat :H='Квалификационный разряд:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Квалификационный разряд' NOAPPEND NOMODIFY NODELETE LOCK 0 ;

FIELDS date_qual :H='Дата:', reas_qual :H='Основание:', ;

qualificat :H='Квалификационный разряд:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE qual_num WITH f

RETURN


WORKCARD.PRG


PARAMETER org_num1,edit


SELECT g

DEFINE WINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10

DEFINE WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ;

NOFLOAT NOZOOM COLOR R+/N


IF edit=.t.

ACTIVATE WINDOW win4

@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую, [Ctrl+W]-сохранить и выйти'

@ 1,30 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Трудовая книжка' LOCK 0 ;

FIELDS date_wrk :H='Дата пост:', date_dism :H='Дата увольн:', ;

name_wrk :H='Название учреждения:', post_wrk :H='Должность:', ;

reason_wrk :H='Причина:',basis_wrk :H='Основание:'

REPLACE org_num WITH org_num1 FOR org_num=0

ELSE

ACTIVATE WINDOW win4

@ 0,26 SAY'Нажмите [ESC] для выхода'

@ 1,28 SAY'[Ctrl+F]-поиск поля'

ACTIVATE WINDOW win3

BROWSE FOR org_num=org_num1 TITLE 'Трудовая книжка' NOAPPEND NOMODIFY ;

NODELETE LOCK 0 FIELDS date_wrk :H='Дата пост:', ;

date_dism :H='Дата увольн:', name_wrk :H='Название учреждения:', ;

post_wrk :H='Должность:',reason_wrk :H='Причина:', ;

basis_wrk :H='Основание:'

ENDIF


GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SELECT a

RELEASE WINDOW win4

RELEASE WINDOW win3

REPLACE record_num WITH f

RETURN


PRINT.PRG


SELECT a

n=alltrim(surname)+' '+alltrim(name)+' '+alltrim(patron)

_peject='after'

SET PRINTER ON

SET CONSOLE OFF

PRINTJOB

? space((80-len(n))/2),n

WAIT "Печать" NOWAIT WINDOW

?

? ' Таб. номер: ',org_num

? ' Страховой номер: ',ins_num

? ' Фамилия: ',surname

? ' Имя: ',name

? ' Отчество: ',patron

? ' Пол: ',sex

? ' Дата рождения: ',birth_date

? ' Место рождения: ',birthplace

? ' Национальность: ',national

? ' Социальное происхождение: ',SOCIAL

? ' Гражданство: ',citizen

? ' Образование: ',educat

? ' Название учебного заведения:',NAME_EDU

? ' Форма обучения: ',form_train

? ' Год окончания: ',year_end

? ' Диплом: ',diploma

? ' Квалификация по диплому: ',qual_dip

? ' Специальность по диплому: ',spec_dip

? ' Вид найма: ',kind_hir

? ' Вид работы: ',KIND_WRK

? ' Ученая степень: ',s_degree

? ' Ученое звание: ',s_rank

? ' Узкая специальность: ',mar_spec

? ' Семейное положение: ',mar_status

? ' Профсоюз: ',tr_union

? ' Группа инвалидности: ',group

? ' Пенсионер?: ',pensioner

? ' Участник войны?: ',partic_war

? ' Домашний индекс: ',post_index

? ' Район: ',region

? ' Область: ',area

? ' Домашний адрес: ',address

? ' Домашний телефон: ',telephone

? ' Воинская обязанность: ',conscript

? ' Воинское звание: ',milit_rank

? ' Номер ВУС: ',number

? ' Военный билет: ',mil_ticket

? ' Годность к военной службе: ',mil_valid

? ' Отношение к бронированию: ',attitude

? ' Наличие моб. предписания: ',mobile_ins

? ' Группа учета: ',group_acc

? ' Категория учета: ',category_a

? ' Райвоенкомат: ',commissar

? ' Дата начала срочной службы: ',start_date

? ' Дата окончания срочн.службы:',close_date

? ' Дата посл. прохождения: ',last_date

? ' Учреждение: ',company

? ' Подразделение: ',subdivis

? ' Текущая должность: ',cur_post

? ' Дата приема на работу: ',employment

? ' Дата окончания испыт. срока:',trial_clos

? ' Дата увольнения: ',date_dis

? ' Причина увольнения: ',reason_dis

? ' ИНН: ',inn

? ' Серия свидет. налогоплател.:',series_tax

? ' Номер свидет. налогоплател.:',num_tax

? ' Дата свидет. налогоплател.: ',date_tax

? SPACE (25),'Образование (дополнит.):',EDU_NUM

org_num1=org_num

EDU_NUM1=EDU_NUM

SELECT c

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO EDU_NUM1

? ' Поступил:',date_begin,' Окончил:',date_end

? ' Название у/з: ',name_educ

? ' Образование: ',education

? ' Диплом: ',dipl

? ' Форма обучения:',form_tr

? ' Квалификация: ',qualific

? ' Специальность: ',special

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Владение иностран. языками:',LANG_NUM

LANG_NUM1=LANG_NUM

SELECT d

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO LANG_NUM1

? ' Язык:',oth_lang,' Уровень владения:',level

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Наличие судимости:',conv_num

conv_num1=conv_num

SELECT e

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO conv_num1

? ' Дата вынесения приговора: ',date_verd

? ' Статья:',article,' Срок:',period

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Состав семьи:',famil_num

struct_f1=famil_num

SELECT f

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO struct_f1

? ' Дата рождения:',date_relat,' Фамилия, инициалы:',names

? ' Степень родства:',relation, ' На иждивении:',expense

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (12),'Паспортные данные:',passport

SELECT b

GO TOP

f=0

LOCATE FOR org_num=org_num1

DO WHILE EOF()=.f.

IF FOUND()=.t.

f=f+1

ENDIF

CONTINUE

ENDDO

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO f

? ' Кем выдан: ',exp_given

? ' Дата выдачи:',date_distr

? SPACE (25),'Прописка:'

? ' Индекс: ',index_p

? ' Область: ',area_p

? ' Район: ',region_p

? ' Город: ',city_p

? ' Населенный пункт:',point_p

? ' Улица: ',street_p

? ' Дом: ',house_p

? ' Корпус: ',corps_p

? ' Квартира: ',flat_p

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Трудовая книжка:',record_num

record_num1=record_num

SELECT g

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO record_num1

? ' Дата постановки: ',date_wrk,' Дата увольнения:',date_dism

? ' Название учреждения:',name_wrk

? ' Должность: ',post_wrk

? ' Причина: ',reason_wrk

? ' Основание: ',basis_wrk

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Назначения и перемещения:',purpos_num

purpos_num1=purpos_num

SELECT h

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO purpos_num1

? ' Дата: ',date_mov,' Основание:',reason_mov

? ' Отдел: ',depart

? ' Должность: ',post_mov

? ' Режим работы:',method_mov

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Квалификационный разряд:',qual_num

qual_num1=qual_num

SELECT i

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO qual_num1

? ' Дата: ',date_qual,' Основание:',reas_qual

? ' Квалификация:',qualificat

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Командировки:',trial_num

trips1=trial_num

SELECT j

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO trips1

? ' Дата начала: ',start_trp,' Дата окончания:',closed_trp

? ' Место назначения:',destinat

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

? SPACE (25),'Отпуска:',holid_num

holid_num1=holid_num

SELECT 11

SET FILTER TO org_num=org_num1

GO TOP

FOR n=1 TO holid_num1

? ' Вид отпуска: ',kind_hol

? ' Основание: ',basis_hol

? ' За время с: ',with_hol,' За время по: ',on_hol

? ' Дата начала: ',d_st_hol,' Количество дней:',amount

? ' Дата окончания:',d_en_hol

? REPLICATE(' -',39)

SKIP

NEXT n

SET FILTER TO

SELECT a

WAIT CLEAR

ENDPRINTJOB

SET PRINTER OFF

SET CONSOLE ON

RETURN


SEARCH.PRG


DEFINE WINDOW win3 FROM 3, 11 TO 20, 69 NOGROW ;

NOFLOAT NOZOOM SHADOW CLOSE;

TITLE 'Выберите запись и нажмите ' COLOR SCHEME 10

ACTIVATE WINDOW win3

BROWSE NOAPPEND NOMODIFY NODELETE LOCK 0 FIELDS org_num :H='Таб. N:', ;

surname :H='Фамилия:', name :H='Имя:',patron :H='Отчество:'

RELEASE WINDOW win3

RETURN


INDEX.PRG


WAIT "Индексирую таблицы" NOWAIT WINDOW

SELECT a

INDEX ON org_num TO stuff.idx

SELECT c

INDEX ON date_begin TO educat.idx

SELECT d

INDEX ON oth_lang TO language.idx

SELECT e

INDEX ON date_verd TO convict.idx

SELECT f

INDEX ON date_relat TO family.idx

SELECT g

INDEX ON date_wrk TO workcard.idx

SELECT h

INDEX ON date_mov TO moving.idx

SELECT i

INDEX ON date_qual TO qualific.idx

SELECT j

INDEX ON start_trp TO bus_trip.idx

SELECT 11

INDEX ON with_hol TO holiday.idx

WAIT CLEAR

RETURN


INITIAL.PRG


DEFINE WINDOW win3 FROM 7, 10 TO 13, 70 NOGROW ;

NOFLOAT NOZOOM CLOSE COLOR SCHEME 12

ACTIVATE WINDOW win3

@ 0,12 SAY'ЭТО действие уничтожит все данные'

@ 1,13 SAY'Вы уверены в его необходимости?'

STORE 2 TO no,yes

STORE "* НЕТ" TO MPROMPTS

@ 3,19 GET no FUNCTION MPROMPTS SIZE 1, 8

STORE "* ДА" TO MPROMPTS

@ 3,30 GET yes FUNCTION MPROMPTS SIZE 1, 8

READ CYCLE

RELEASE WINDOW win3

IF yes=2

RETURN

ENDIF

WAIT "Инициализация таблиц" NOWAIT WINDOW

SELECT a

ZAP

SELECT b

ZAP

SELECT c

ZAP

SELECT d

ZAP

SELECT e

ZAP

SELECT f

ZAP

SELECT g

ZAP

SELECT h

ZAP

SELECT i

ZAP

SELECT j

ZAP

SELECT 11

ZAP

WAIT CLEAR

RETURN


REFEREN.PRG


SELECT a

DO search.prg

_peject='after'

SET PRINTER ON

SET CONSOLE OFF

PRINTJOB

WAIT "Печать" NOWAIT WINDOW

n=ALLTRIM(company)

? space((80-len(n))/2),n

? ''

? SPACE(28),'О Т Д Е Л К А Д Р О В'

? REPLICATE('-',79)

? SPACE(26),'Краткая справка о сотруднике'

? REPLICATE('-',79)

n=alltrim(surname)+' '+alltrim(name)+' '+alltrim(patron)

? space((80-len(n))/2),n

? ''

d=MONTH(birth_date)

IF d=1

n='января'

ENDIF

IF d=2

n='февраля'

ENDIF

IF d=3

n='марта'

ENDIF

IF d=4

n='апреля'

ENDIF

IF d=5

n='мая'

ENDIF

IF d=6

n='июня'

ENDIF

IF d=7

n='июля'

ENDIF

IF d=8

n='августа'

ENDIF

IF d=9

n='сентября'

ENDIF

IF d=10

n='октября'

ENDIF

IF d=11

n='ноября'

ENDIF

IF d=12

n='декабря'

ENDIF

IF sex='Ж' OR sex='ж'

sx1='Родилась'

sx2='уроженка'

sx3='Окончила'

ELSE

sx1='Родился'

sx2='уроженец'

sx3='Окончил'

ENDIF


? ' ',sx1,DAY(birth_date),n,YEAR(birth_date),'года ,'

? ' ',ALLTRIM(national),',',sx2,ALLTRIM(birthplace),','

? ' имеет',ALLTRIM(citizen),'гражданство .'

? ' ',sx3,ALLTRIM(NAME_EDU),'.'

? ' Семейное положение:',ALLTRIM(mar_status),'.'

? ' В настоящее время работает в должности: ',ALLTRIM(cur_post),','

? ' в подразделении:',ALLTRIM(subdivis),'.'

? ' Домашний адрес:',ALLTRIM(address),',',ALLTRIM(region),'район .'

? ' Домашний телефон:',telephone

? ''

? SPACE(60),DATE(),'г'

SELECT a

WAIT CLEAR

ENDPRINTJOB

SET PRINTER OFF

SET CONSOLE ON

RETURN


END.PRG


CLEAR

CLOSE ALL

QUIT

7. ГРАФИЧЕСКИЙ МАТЕРИАЛ


ЛИЧНОСТЬ


Фамилия


Отчество


Имя


Табельный №



Страховой номер

D


Пол

S


Дата рождения

S



Место рождения

S


Национальность

S


Социальное происхождение

S



Гражданство

D


D

Образование


Название учебного заведения

D



Форма обучения

D


Год окончания

D


Диплом (серия)

D



Квалификация по диплому

Поступил

D


Специальность по диплому

Окончил

D



Образование (дополнительное)

Образование

D


Название у/з


Диплом


Форма обучения



Квалификация


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

Вид найма

D


Вид работы

D



Ученая степень

D


Ученое звание

D


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

Язык

D



Владение ин. языками

Уровень владения

D


Наличие судимости

Дата вын-ия приговора

D


Статья



Срок

Семейное положение

D


Состав семьи

Степень родства

D


Фамилия, инициалы

Профсоюз

D


Дата рождения



На иждивении

Группа инвалидности

D


Пенсионер?

D


D

Участник войны?



Домашний индекс

D


Район

D


Область

Кем выдан

D


Домашний адрес

Дата выдачи

D



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

Индекс

D


Паспортные данные (прописка)

Область

D


Район

Воинская обязанность

D



Город

Воинское звание

D


Населенный пункт

Номер ВУС

D


Улица

Военный билет (номер)

D



Дом

Годность к воен. службе

D


Корпус

Отношение к бронированию

D


Квартира

Наличие моб. предписания

D



Группа учета

D


Категория учета

D


D

Категория учета


Дата начала срочной службы

D


Дата постановки


Дата окончания сроч. службы

Дата увольнения

D


Дата посл. прохождения

D


Трудовая книжка

Название учреждения

D


Должность


Причина


Основание



Назначения и перемещения

Дата

D


Основание


Отдел



Должность


Режим работы


Квалификационный разряд

Дата

D



Основание

Учреждение

D


Квалификация

Подразделение

D


Текущая должность

D


Дата приема на работу

D



Дата окончания испыт. срока

D


Дата начала


Командировки

Дата окончания

D



Место назначения


Отпуска

Вид отпуска

D


Основание



За время с


За время по


Дата начала

Дата увольнения

D


Количество дней

Причина увольнения

D


Дата окончания

ИНН

D



Серия свидет. налогоплател.

D


Номер свидет. налогоплател.

D


Дата свидет. налогоплат.

D




Рис. 2.2.1. Описание связи «объект-свойство».

READ.PRG

WIEV1.PRG


START.PRG

WRITE.PRG

R_W.PRG

WIEV2.PRG


NEW.PRG

WIEV3.PRG


DEL_REC.PRG

WIEV4.PRG


WIEV5.PRG


BUS_TRIP.PRG


DL_UNDL.PRG

CONVICT.PRG


EDUCAT.PRG

INDEX.PRG


FAMILY.PRG

INITIAL.PRG

PRINT.PRG


HOLIDAY.PRG

REFEREN.PRG

END.PRG

SEARCH.PRG



LANGUAGE.PRG


MOVE.PRG


PASSPORT.PRG


QUALIF.PRG


WORKCARD.PRG



Рис. 2.4.1 Взаимосвязь командных файлов в проекте.




Отзыв

на дипломную работу


Студента факультета технической кибернетики Рег. № .

Жучкова Михаила Юрьевича .

(фамилия, имя, отчество)


на тему: Разработка базы данных «Кадры.» .

Руководитель дипломной работы Иванов Иван Иванович, главный технолог ОАО «ССЗ «Лотос»

(фамилия, имя, отчество, должность, звание)


Дипломная работа содержит пояснительную записку на 87 листах и графический материал на 6 листах.


Дипломная работа посвящена созданию базы данных «Кадры». В работе осуществлена разработка базы данных по результатам работы отдела кадров ОАО «Судостроительный завод «Лотос». Работа выполнена по заявке производства.


Характеристика работы:


Работа соответствует заданию и требованиям. Имеет удобный интерфейс «под WINDOWS». В состав приложения входят удобные и простые сервисные функции.

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

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

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

Студент хорошо ознакомлен с фундаментальной литературой по специальности и ее периодическими изданиями, ГОСТами и нормами, правилами техники безопасности.

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

Общая оценка выполнения дипломной работы - 5.

Проверка работы базы данных на контрольных данных ОАО «ССЗ «Лотос» показали ее практическую ценность в части облегчения и скорости обработки большого объема данных и составлении необходимых сведений.


Руководитель работы: Иванов Иван Иванович.

(ф.и.о., ученая степень, звание, должность)


Дата______________ Подпись______________




Рецензия

на дипломную работу


Студента факультета технической кибернетики Рег. № .

Жучкова Михаила Юрьевича .

(фамилия, имя, отчество)


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


Дипломная работа посвящена созданию базы данных «Кадры». В работе осуществлена разработка базы данных по результатам работы отдела кадров ОАО «Судостроительный завод «Лотос».


Характеристика работы.


Настоящая дипломная работа полностью соответствует условию и объему задания.

В работе приведены структура и тип данных, сведение их в определенные объекты и построение связи между ними.

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

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

Используя реляционную архитектуру, студент отразил научно-технический прогресс.

Работа является составной частью автоматизации управления производственно-хозяйственной деятельности предприятия.

В данной дипломной работе хорошо отражены вопросы охраны труда.

Работа написана ясно и грамотно, отличается четкостью изложения, имеет хорошее качество оформления.

Оценка дипломной работы - 5.

Опробация базы данных на ОАО «ССЗ «Лотос» показали ее практическую ценность в части облегчения и скорости обработки большого объема данных и составлении необходимых сведений.


Рецензент: Петров П.П., ОАО «ССЗ «Лотос», начальник бюро корпусообработки, инженер

(ф.и.о.,место работы, должность, звание)


Дата_______________ Подпись_______________