Реферат: Разработка базы данных Кадры
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
'Выберите запись
и нажмите
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.
Опробация базы данных на ОАО «ССЗ «Лотос» показали ее практическую ценность в части облегчения и скорости обработки большого объема данных и составлении необходимых сведений.
Рецензент: Петров П.П., ОАО «ССЗ «Лотос», начальник бюро корпусообработки, инженер
(ф.и.о.,место работы, должность, звание)
Дата_______________ Подпись_______________