Переменная
|
Значение
|
Условие на выполнение
|
Действие
|
|
Выбрано
|
не выбрано
|
|
|
up
|
1
|
5
|
Up=1
|
list=list+1 (затем в
соответствии со значением list запускается один из модулей WIEV.PRG)
|
down
|
1
|
5
|
Down=1
|
list=list-1 (затем в
соответствии со значением list запускается один из модулей WIEV.PRG)
|
previos
|
1
|
5
|
Previos=1
|
SKIP -1 (затем в
соответствии со значением list запускается один из модулей WIEV.PRG (при этом
меняется сотрудник))
|
next
|
1
|
5
|
Next=1
|
SKIP 1 (затем в
соответствии со значением list запускается один из модулей WIEV.PRG (при этом
меняется сотрудник))
|
find
|
1
|
5
|
Find=1
|
DO search.prg
WITH orgnum1, edit (переменная orgnum1
необходима для связи с ключом, переменная edit разрешает (edit=.t.) или
запрещает (edit=.f.) редактирование поля)
|
print
|
1
|
5
|
Print=1
|
DO print.prg
|
exit
|
1
|
5
|
Exit=1
|
END DO (возвращение в
вышестоящий модуль и затем в модуль с главным меню START.PRG)
|
eduadd
|
1
|
5
|
Eduadd=1
|
DO educat.prg
WITH orgnum1, edit
|
forlang
|
1
|
5
|
Forlang=1
|
DO language.prg
WITH orgnum1, edit
|
conv
|
1
|
5
|
Conv=1
|
structfam
|
1
|
5
|
Structfam=1
|
DO family.prg
WITH orgnum1, edit
|
bok
|
1
|
5
|
Bok=1
|
DO workcard.prg
WITH orgnum1, edit
|
purpos
|
1
|
5
|
Purpos=1
|
DO move.prg WITH
orgnum1, edit
|
qualcateg
|
1
|
5
|
Qualcateg=1
|
DO qualif.prg
WITH orgnum1, edit
|
tripsbus
|
1
|
5
|
Tripsbus=1
|
DO bus_trip.prg
WITH orgnum1, edit
|
holid
|
1
|
5
|
Holid=1
|
DO holiday.prg
WITH orgnum1, edit
|
pass
|
1
|
5
|
Pass=1
|
DO passport.prg
WITH orgnum1, edit
|
|
|
|
|
|
|
Модули
BUS_TRIP.PRG, CONVICT.PRG, EDUCAT.PRG, FAMILY.PRG, HOLIDAY.PRG, LANGUAGE.PRG,
MOVE.PRG, QUALIF.PRG, WORKCARD.PRG, формируют BROWSE-окна для отображения дополнительной информации. PASSPORT.PRG
формирует GET-поля.
Модуль PRINT выводит все анкетные данные сотрудника на печать.
Модуль SEARCH.PRG позволяет выбрать нужного сотрудника. Этот модуль
вызывается как из R_W.PRG, так и из REFEREN.PRG.
Чтобы удалить анкетные данные сотрудника(ов) из базы, следует выбрать
пункт подменю <Удаление>. При этом запускается модуль DEL_REC.PRG
позволяющий нажатием клавиш Ctrl+T пометить к удалению сотрудника(ов). Можно
отменить метку, повторно нажав Ctrl+T. Эти действия реализует модуль
DL_UNDL.PRG путем пометки к удалению/снятия пометки к удалению во всех таблицах
записей, имеющих то же значение ORG_NUM, что и в таблице STUFF.DBF. Затем,
после выхода из BROWSE-окна, модуль DEL_REC.PRG упаковывает всю базу
"КАДРЫ".
При выборе пункта <Переиндексация базы> меню <Сервис>
запускается модуль INDEX.PRG, индексирующий таблицы. Пункт <Инициализация
базы> запускает модуль INITIAL.PRG, который выдает запрос "ЭТО действие
уничтожит все данные. Вы уверены в его необходимости?" и в случае
положительного ответа, удаляет все данные из базы, сохраняя при этом ее
логическую структуру.
Для формирования на печать краткой справки сотрудника следует выбрать
пункт меню <Справки> => <Краткая справка о сотруднике>. В
результате запустится модуль REFEREN.PRG, который для выбора нужного сотрудника
передаст управление модулю SEARCH.PRG и затем сформирует справку и отправит ее
на печать. Пункт меню <Справки> был создал для того, чтобы, в дальнейшем
было удобно добавлять новые модули печати других справок.
Выбор пункта главного меню <Выход> передаст управление модулю END.PRG,
который закроет все открытые файлы и завершит работу.
Листинг командных файлов и DOS-распечатки экранов, приведены в
приложении.
2.
Охрана труда
Охрана труда - система законодательных актов, постановлений,
организационных, санитарных и технических мер, обеспечивающих безопасные для
здоровья условия труда на рабочем месте. Научно-технический прогресс внес
изменения в условия производственной деятельности работников умственного труда.
Их труд стал более интенсивным, напряженным, требующим затрат умственной,
эмоциональной и физической энергии. Это имеет прямое отношение и к
специалистам, связанным с проектированием, разработкой, эксплуатацией,
сопровождением и модернизацией автоматизированных систем управления различного
назначения.
На рабочем месте оператора должны быть созданы условия для
высокопроизводительного труда. Оператор АРМ испытывает значительную нагрузку,
как физическую (сидячее положение, нагрузка на глаза), так и умственную, что
приводит к снижению его трудоспособности к концу рабочего дня.
Существуют нормативы, определяющие комфортные условия и предельно
допустимые нормы запыленности, температуры воздуха, шума, освещенности. В
системе мер, обеспечивающих благоприятные условия труда, большое место
отводится эстетическим факторам: оформление производственного интерьера,
оборудования, применение функциональной музыки и др., которые оказывают
определенное воздействие на организм человека. Важную роль играет окраска
помещений, которая должна быть светлой. В данном разделе дипломного проекта рассчитывается
необходимая освещенность рабочего места и информационная нагрузка оператора.
Развитию утомляемости на производстве способствуют следующие факторы:
- неправильная эргономическая организация рабочего места,
нерациональные зоны размещения оборудования по высоте от пола, по фронту от оси
симметрии и т.д.;
- характер протекания труда. Трудовой процесс организован таким
образом, что оператор вынужден с первых минут рабочего дня решать наиболее
сложные и трудоемкие задачи, в то время как в первые минуты работы
функциональная подвижность нервных клеток мозга низка. Важное значение имеет
чередование труда и отдыха, смена одних форм работы другими.[4]
Одним из основных вопросов охраны труда является организация
рационального освещения производственных помещений и рабочих мест.
Для освещения помещения, в котором работает оператор, используется
смешанное освещение, т.е. сочетание естественного и искусственного освещения.
Естественное освещение - осуществляется через окна в наружных стенах
здания.
Искусственное освещение - используется при недостаточном естественном
освещении и осуществляется с помощью двух систем: общего и местного освещения.
Общим называют освещение, светильники которого освещают всю площадь помещения.
Местным называют освещение, предназначенное для определенного рабочего места.
Для помещения, где находится рабочее место оператора, используется
система общего освещения.
Нормами для данных работ установлена необходимая освещенность рабочего
места ЕН=300 лк (для работ высокой точности, когда наименьший размер
объекта различения равен 0.3 - 0.5 мм).
Для исключения засветки экранов дисплеев прямыми световыми потоками
светильники общего освещения располагают сбоку от рабочего места, параллельно
линии зрения оператора и стене с окнами.[5]
Кроме того, необходимо в течение 8-ми часового рабочего дня предусмотреть
один часовой перерыв на обед, 5-ти минутные перерывы каждые полчаса и 15-ти
минутные перерывы каждые 1.5 - 2 часа. Работу необходимо организовать таким
образом, чтобы наиболее сложные задачи решались с 11:00 до 16:00 - в период
наибольшей активности человека, а не в начале дня, когда оператор еще не достиг
максимальной активности, и не в конце дня, когда уже развивается утомление.
Так как работа оператора не связана с решением крупных логических задач и
достаточно однообразна, то рекомендуется по-возможности чередовать виды
деятельности.
Заключение
В данной дипломной работе разработана архитектура базы "Кадры".
в результате анализа данных приведены необходимые поля базы данных, их структура
и тип. Сведение их в определенные объекты и построение связи между объектами
базы.
Показаны определенные правила, по которым проектировалась база данных.
База данных проектировалась в среде СУБД FoxPro 2.6. В связи с этим разработаны 28 командных файлов предназначенные
для ведения базы, включающие в себя сервисные функции управления базой данных,
ввода и вывода данных. В программные приложения вошли предлагаемые меню для
получения определенных справок о сотрудниках.
Спроектированная база данных "Кадры" и программное обеспечение,
обслуживающее базу, дает возможность облегчить работу отдела кадров и применять
различные поисковые системы для выбора необходимых сведений о сотрудниках,
составе и структуре штатов предприятия.
Работа базы на контрольных данных ОАО "ССЗ "Лотос"
показала ее работоспособность и эффективность.
Библиографический список
. Теоретическое учебное пособие РГТК "Тантал" по
дисциплине "Создание и ведение информационного обеспечения".
. Теоретическое учебное пособие РГТК "Тантал" по
дисциплине "Технология разработки программного обеспечения".
. Попов А. А. "Программирование в среде СУБД FoxPro
2.0.", М. изд. Радио и связь, 1993 г.
4. Сибаров Ю. Б. "Охрана труда в вычислительных
центрах" и др., М. Машиностроение, 1990 г.
. Самгин Э. Б. "Освещение рабочих мест", изд.
МИРЭА, 1989 г.
Приложение
Распечатка командных файлов
.PRGMACROSCOLOR TO NHELP OFFCLOCK OFFRESOURCE OFFTALK OFFDOHISTORY
OFFSTATUS OFFBRSTATUS OFFESCAPE OFFBELL OFFSCOREBOARD OFFCONFIRM ONDATE
GERMANCENTURY ONDELETED ONEXACT ONHOURS TO 24STICKY ONCURSOR ONSAFETY
OFFMENUPOPUPWINDOWMESSAGE TO SROWS()-1 CENTERstuff.dbf IN a INDEX
stuff.idxpassport.dbf IN beducat.dbf IN c INDEX educat.idxlanguage.dbf IN d
INDEX language.idxconvict.dbf IN e INDEX convict.idxfamily.dbf IN f INDEX family.idxworkcard.dbf
IN g INDEX workcard.idxmoving.dbf IN h INDEX moving.idxqualific.dbf IN i INDEX
qualific.idxbus_trip.dbf IN j INDEX bus_trip.idxholiday.dbf IN 11 INDEX
holiday.idxaCOLOR TO W+/B
@ 0, 0, 24, 79 BOX (REPLICATE(CHR(176),9))WHILE .T.
DEFINE MENU MAINMENU COLOR SCHEME 3
DEFINE PAD data OF MAINMENU PROMPT ' Д\<AННЫЕ О СОТРУДНИКАХ ' ;
AT 0,0
DEFINE PAD service OF MAINMENU PROMPT ' \<CЕРВИС ' AT 0,24
DEFINE PAD list OF MAINMENU PROMPT ' СП\<PАВКИ ' AT 0,34
DEFINE PAD exit OF MAINMENU ;
PROMPT ' ВЫ\<XОД ' AT 0,45
ON SELECTION PAD data OF MAINMENU ACTIVATE POPUP dat
ON SELECTION PAD service OF MAINMENU ACTIVATE POPUP serv
ON SELECTION PAD list OF MAINMENU ACTIVATE POPUP lst
ON SELECTION PAD exit OF MAINMENU DO end.prg
DEFINE POPUP dat FROM 1,0 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF dat PROMPT ' Просмотр'COLOR SCHEME 3
DEFINE BAR 2 OF dat PROMPT '\-'
DEFINE BAR 3 OF dat PROMPT ' Редактирование 'COLOR SCHEME 3
DEFINE BAR 4 OF dat PROMPT '\-'
DEFINE BAR 5 OF dat PROMPT ' Добавление 'COLOR SCHEME 3
DEFINE BAR 6 OF dat PROMPT '\-'
DEFINE BAR 7 OF dat PROMPT ' Удаление 'COLOR SCHEME 3
ON SELECTION BAR 1 OF dat DO read.prg
ON SELECTION BAR 3 OF dat DO write.prg
ON SELECTION BAR 5 OF dat DO new.prg
ON SELECTION BAR 7 OF dat DO del_rec.prg
DEFINE POPUP serv FROM 1,24 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF serv PROMPT ' Переиндексация базы ' ;
COLOR SCHEME 3
DEFINE BAR 2 OF serv PROMPT '\-'
DEFINE BAR 3 OF serv PROMPT ' Инициализация базы' ;
COLOR SCHEME 3
ON SELECTION BAR 1 OF serv DO index.prg
ON SELECTION BAR 3 OF serv DO initial.prg
DEFINE POPUP lst FROM 1,34 SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF lst PROMPT ' Краткая справка о сотруднике ' ;
COLOR SCHEME 3
ON SELECTION BAR 1 OF lst DO referen.prg
SHOW MENU MAINMENU
ACTIVATE MENU MAINMENU.PRGa
edit=.f.
type=1r_w.prg WITH edit,type.PRGa
edit=.t.
type=2r_w.prg WITH edit,type.PRGa
edit=.t.
type=3BLANK
DO r_w.prg WITH edit,type_REC.PRGa
DEFINE WINDOW win3 FROM 2, 11 TO 23, 69 NOGROW ;
NOFLOAT NOZOOM SHADOW CLOSE ;
TITLE 'Пометьте удаляемые записи [CTRL+T] и нажмите <ESCAPE>' COLOR
SCHEME 10
ACTIVATE WINDOW win3
ON KEY LABEL ctrl+t DO dl_undl.prg WITH org_num
SET DELETED OFF
BROWSE NOAPPEND NOMODIFY LOCK 0 FIELDS org_num :H='Таб. N:', ;
surname :H='Фамилия:', name :H='Имя:',patron :H='Отчество:'
ON KEY LABEL ctrl+t
RELEASE WINDOW win3'Удаление помеченных записей' NOWAIT WINDOW
PACK
SELECT b
PACK
SELECT c
PACK
SELECT d
PACK
SELECT e
PACK
SELECT f
PACK
SELECT g
PACK
SELECT h
PACK
SELECT i
PACK
SELECT j
PACK
SELECT 11
PACK
WAIT CLEARDELETED ON_UNDL.PRGorg_num
org_num1=org_num
IF DELETED()=.t.
RECALL
SELECT b
RECALL FOR org_num=org_num1
SELECT c
RECALL FOR org_num=org_num1
SELECT d
RECALL FOR org_num=org_num1
SELECT e
RECALL FOR org_num=org_num1
SELECT f
RECALL FOR org_num=org_num1
SELECT g
RECALL FOR org_num=org_num1
SELECT h
RECALL FOR org_num=org_num1
SELECT i
RECALL FOR org_num=org_num1
SELECT j
RECALL FOR org_num=org_num1
SELECT 11
RECALL FOR org_num=org_num1
ELSE
DELETE
SELECT b
DELETE FOR org_num=org_num1
SELECT c
DELETE FOR org_num=org_num1
SELECT d
DELETE FOR org_num=org_num1
SELECT e
DELETE FOR org_num=org_num1
SELECT f
DELETE FOR org_num=org_num1
SELECT g
DELETE FOR org_num=org_num1
SELECT h
DELETE FOR org_num=org_num1
SELECT i
DELETE FOR org_num=org_num1
SELECT j
DELETE FOR org_num=org_num1
SELECT 11
DELETE FOR org_num=org_num1
ENDIF
SELECT
a_W.PRGedit,type,up,down,next,previos,find,print,exit,eduadd,forlang,
;,structfam,pass,bok,purpos,qualcateg,tripsbus,holid
list=1
exit=5COLOR TO N/W+A
IF RECCOUNT()=0
APPEND BLANK
ENDIF
DEFINE WINDOW win0 FROM 0, 0 TO 2, 79 NOGROW ;
NOFLOAT NOZOOM COLOR W+/N
DEFINE WINDOW win1 FROM 3, 0 TO 24, 79 NOGROW;
NOFLOAT NOZOOM COLOR GR+/B
DO WHILE exit<>1
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_numeduadd=1
DO educat.prg WITH org_num1,editforlang=1
DO language.prg WITH org_num1,editconv=1
DO convict.prg WITH org_num1,editstructfam=1
DO family.prg WITH org_num1,editpass=1
DO passport.prg WITH org_num1,editbok=1
DO workcard.prg WITH org_num1,editpurpos=1
DO move.prg WITH org_num1,editqualcateg=1
DO qualif.prg WITH org_num1,edittripsbus=1
DO bus_trip.prg WITH org_num1,editholid=1
DO holiday.prg WITH org_num1,editprint=1
DO print.prg
ENDDOWINDOW win1WINDOW win0.PRGedit
ACTIVATE WINDOW win1
CLEAR=5=5=5=5=5=5=5=5=5=5_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 CYCLEorg_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
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
RETURN
FUNCTION un
rec_un=RECNO()
tab_un=org_numtab_unRECNO()=rec_untab_un=org_num AND !EOF()
GO rec_un
RETURN .f.
ENDIF
GO rec_un
RETURN.PRGedit
ACTIVATE WINDOW win1
CLEAR=5=5=5=5=5=5=5=5=5=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.PRGedit
ACTIVATE WINDOW win1
CLEAR=5=5=5=5=5=5=5=5=5=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.PRGedit
ACTIVATE WINDOW win1
CLEAR=5=5=5=5=5=5=5=5=5=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.PRGedit
ACTIVATE WINDOW win1
CLEAR=5=5=5=5=5=5=5=5=5=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_TRIP.PRGorg_num1,editj
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+/Nedit=.t.WINDOW win4
@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую,
[Ctrl+W]-сохранить и выйти'
@ 1,30 SAY'[Ctrl+F]-поиск поля'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=0WINDOW win4
@ 0,26 SAY'Нажмите [ESC] для выхода'
@ 1,28 SAY'[Ctrl+F]-поиск поля'WINDOW win3
BROWSE FOR org_num=org_num1 TITLE 'Командировки' NOAPPEND NOMODIFY
NODELETE ;
LOCK 0 FIELDS start_trp :H='Дата начала:', closed_trp :H='Дата
окончания:', ;
destinat :H='Место назначения:'TOP=0FOR org_num=org_num1WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUEa
RELEASE WINDOW win4
RELEASE WINDOW win3
REPLACE trial_num WITH f.PRGorg_num1,editeWINDOW win3 FROM 3, 5 TO 20, 75
NOGROW ;NOZOOM CLOSE COLOR SCHEME 10WINDOW win4 FROM 21, 0 TO 24, 79 NOGROW
;NOZOOM COLOR R+/Nedit=.t.WINDOW win4
@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую,
[Ctrl+W]-сохранить и выйти'
@ 1,30 SAY'[Ctrl+F]-поиск поля'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=0WINDOW win4
@ 0,26 SAY'Нажмите [ESC] для выхода'
@ 1,28 SAY'[Ctrl+F]-поиск поля'WINDOW win3
BROWSE FOR org_num=org_num1 TITLE 'Наличие судимости' ;
NOAPPEND NOMODIFY NODELETE LOCK 0 ;
FIELDS date_verd :H='Дата вынесения приговора:', article :H='Статья:', ;
period :H='Срок:'TOP=0FOR org_num=org_num1WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUEaWINDOW win4WINDOW win3conv_num WITH f.PRGorg_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='Специальность:'
ENDIFTOP
f=0
LOCATE FOR org_num=org_num1
DO WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUE
ENDDOa
RELEASE WINDOW win4
RELEASE WINDOW win3
REPLACE EDU_NUM WITH f.PRGorg_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='Дата рождения:', ;
ENDIFTOP
f=0
LOCATE FOR org_num=org_num1
DO WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUE
ENDDOa
RELEASE WINDOW win4
RELEASE WINDOW win3famil_num WITH f.PRGorg_num1,edit11WINDOW win3 FROM 3,
0 TO 20, 79 NOGROW ;NOZOOM CLOSE COLOR SCHEME 10WINDOW win4 FROM 21, 0 TO 24,
79 NOGROW ;NOZOOM COLOR R+/Nedit=.t.WINDOW win4
@ 0,1 SAY'[Ctrl+T]-удалить запись, [Ctrl+N]-создать новую,
[Ctrl+W]-сохранить и выйти'
@ 1,30 SAY'[Ctrl+F]-поиск поля'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
ACTIVATE WINDOW win4
@ 0,26 SAY'Нажмите [ESC] для выхода'
@ 1,28 SAY'[Ctrl+F]-поиск поля'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='Дата окончания:'TOP=0FOR
org_num=org_num1WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUEaWINDOW win4WINDOW win3holid_num WITH f.PRGorg_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+/Nedit=.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
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='Уровень владения:'TOP=0FOR
org_num=org_num1
DO WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUE
ENDDOa
RELEASE WINDOW win4
RELEASE WINDOW win3
REPLACE LANG_NUM WITH f.PRGorg_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+/Nedit=.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
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='Режим работы:'TOP=0FOR
org_num=org_num1WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUEa
RELEASE WINDOW win4
RELEASE WINDOW win3
REPLACE purpos_num WITH f.PRGorg_num1,edit
SELECT bFOR org_num=org_num1FOUND()=.f.
APPEND BLANK
REPLACE org_num WITH org_num1
DEFINE WINDOW win3 FROM 3, 1 TO 24, 78 NOGROW ;
NOFLOAT NOZOOM SHADOW CLOSE COLOR SCHEME 10 TITLE 'ПАСПОРТНЫЕ
ДАННЫЕ'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 CYCLEa
RELEASE WINDOW win3.PRGorg_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+/Nedit=.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
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='Квалификационный разряд:'TOP=0FOR org_num=org_num1WHILE
EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUEa
RELEASE WINDOW win4
RELEASE WINDOW win3
REPLACE qual_num WITH f.PRGorg_num1,editg
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.PRGa
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 TOPn=1 TO EDU_NUM1
? ' Поступил:',date_begin,' Окончил:',date_end
? ' Название у/з: ',name_educ
? ' Образование: ',education
? ' Диплом: ',dipl
? ' Форма обучения:',form_tr
? ' Квалификация: ',qualific
? ' Специальность: ',special
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Владение иностран. языками:',LANG_NUM_NUM1=LANG_NUMdFILTER
TO org_num=org_num1
GO TOPn=1 TO LANG_NUM1
? ' Язык:',oth_lang,' Уровень владения:',level
SKIPnFILTER TOa
? SPACE (25),'Наличие судимости:',conv_num_num1=conv_numeFILTER TO
org_num=org_num1
GO TOPn=1 TO conv_num1
? ' Дата вынесения приговора: ',date_verd
? ' Статья:',article,' Срок:',period
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Состав семьи:',famil_num_f1=famil_numfFILTER TO
org_num=org_num1
GO TOPn=1 TO struct_f1
? ' Дата рождения:',date_relat,' Фамилия, инициалы:',names
? ' Степень родства:',relation, ' На иждивении:',expense
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (12),'Паспортные данные:',passportbTOP
f=0
LOCATE FOR org_num=org_num1
DO WHILE EOF()=.f.
IF FOUND()=.t.
f=f+1
ENDIF
CONTINUE
ENDDOFILTER TO org_num=org_num1
GO TOPn=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
SKIPnFILTER TOa
? SPACE (25),'Трудовая книжка:',record_num_num1=record_numgFILTER TO
org_num=org_num1
GO TOPn=1 TO record_num1
? ' Дата постановки: ',date_wrk,' Дата увольнения:',date_dism
? ' Название учреждения:',name_wrk
? ' Должность: ',post_wrk
? ' Причина: ',reason_wrk
? ' Основание: ',basis_wrk
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Назначения и
перемещения:',purpos_num_num1=purpos_numhFILTER TO org_num=org_num1
GO TOPn=1 TO purpos_num1
? ' Дата: ',date_mov,' Основание:',reason_mov
? ' Отдел: ',depart
? ' Должность: ',post_mov
? ' Режим работы:',method_mov
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Квалификационный разряд:',qual_num_num1=qual_numiFILTER TO
org_num=org_num1
GO TOPn=1 TO qual_num1
? ' Дата: ',date_qual,' Основание:',reas_qual
? ' Квалификация:',qualificat
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Командировки:',trial_num=trial_numjFILTER TO
org_num=org_num1
GO TOPn=1 TO trips1
? ' Дата начала: ',start_trp,' Дата окончания:',closed_trp
? ' Место назначения:',destinat
? REPLICATE(' -',39)
SKIPnFILTER TOa
? SPACE (25),'Отпуска:',holid_num_num1=holid_num11FILTER TO
org_num=org_num1
GO TOPn=1 TO holid_num1
? ' Вид отпуска: ',kind_hol
? ' Основание: ',basis_hol
? ' За время с: ',with_hol,' За время по: ',on_hol
? ' Дата начала: ',d_st_hol,' Количество дней:',amount
? ' Дата окончания:',d_en_hol
? REPLICATE(' -',39)
SKIPn
SET FILTER TO
SELECT aCLEAR
ENDPRINTJOB
SET PRINTER OFF
SET CONSOLE ON.PRGWINDOW win3 FROM 3, 11 TO 20, 69 NOGROW ;NOZOOM SHADOW
CLOSE;'Выберите запись и нажмите <ESCAPE>' COLOR SCHEME 10WINDOW win3
BROWSE NOAPPEND NOMODIFY NODELETE LOCK 0 FIELDS org_num :H='Таб. N:', ;
surname :H='Фамилия:', name :H='Имя:',patron :H='Отчество:'WINDOW win3
RETURN.PRG"Индексирую таблицы" NOWAIT WINDOW
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.idxCLEAR.PRGWINDOW 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"Инициализация таблиц" 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.PRGasearch.prg
_peject='after'
SET PRINTER ON
SET CONSOLE OFF
PRINTJOB"Печать" 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(),'г'aCLEAR
ENDPRINTJOB
SET PRINTER OFF
SET CONSOLE ON.PRGALL
Графический материал
Рис. 2.2.1. Описание связи "объект-свойство".
автоматизация кадры приложение файл
Рис. 2.4.1 Взаимосвязь командных файлов в проекте.