усскийгуманитарно-техническийколледж
«Тантал»
«Утверждаю»
факультетатехнической
кибернетики
__________________________
«_____»_____________2001 г.
Руководитель:____________/ /
Рецензент:_______________/ /
2001 г.
г. Москва
Оглавление:
1.Введение3-4
2.Основная часть.
Разработкабазы данных«Кадры»
2.1Описание предметнойобласти5-8
2.2Построениеинфологическойи даталогическоймодели9-28
2.3Проектированиебазы данных29-37
2.4Разработкаприложения38-43
3.Охрана труда44-46
4.Заключение47
5.Библиографическийсписок48
6.Приложение49-87
7.Графическийматериал88-93
1. ВВЕДЕНИЕ
Открытоеакционерноеобщество«Судостроительныйзавод «Лотос»предназначендля строительстваморских буровыхстационарныхплатформ разведкии добычи нефтии строительствасудов различногоназначения.Предприятиерасполагаетбольшими техническимивозможностями(до 30000 тонн металлав год) и квалифицированнымикадрами, аттестованона класс РечногоРегистра, МорскогоРегистра Судоходства,а также ГерманскогоЛлойда.
ОАО «ССЗ«ЛОТОС» предлагаетк изготовлению:
техническиесредства дляосвоения газовыхи нефтяныхместорожденийна шельфе мировогоокеана и внутреннихморей;
сухогрузныеи нефтеналивныесуда различногорайона плавания- морского, речногои смешанного«река – море»(спусковой весоколо 15000 т);
вспомогательныесуда различногоназначения;
суда техническогофлота.
В даннойдипломнойработе осуществленаразработкабазы данныхдля отделакадров.
Автоматизацияподсистемыуправлениякадрами являетсяодной из важнейшихчастей автоматизациипроизводственно-хозяйственнойдеятельностипредприятия.
Несмотряна определеннуюунификациюбаз данных дляуправлениякадрами судостроительногопредприятиятакая базаимеет определенныеспецифическиеотличия, например,разработанытакие поля,которые необходимыдля расчетатрудоемкостипостройки судови т.д.
Определеннаязадача состоялав разработкеполноты базы,т.е. осуществленатакая архитектура,которая моглабы осуществитькак работупоисковыхсистем дляотдела кадрови других отделовпредприятия,так и формированиевыходной информации,необходимойдля функционированиязадач подсистемыуправлениякадрами и сведенийдля руководствапредприятия.
2. ОСНОВНАЯЧАСТЬ
Разработкабазы данных«Кадры»
2.1 Описаниепредметнойобласти
Предметнойобластью называетсячасть реальногомира, представляющаяинтерес дляданного исследования(использования)[1].
Вкратцерассмотримсхему работыотдела кадров.Инспектор отдела кадровзаполняетличное делосотрудникаданными. В списоканкетных данныхвходят:
- фамилия;
- имя;
- отчество;
- табельныйномер;
- страховойномер;
- пол;
- дата рождения;
- место рождения;
- национальность;
- социальноепроисхождение;
- гражданство;
- образование;
- названиеучебного заведения;
- форма обучения;
- год окончанияучебного заведения;
- диплом(серия, номер);
- квалификацияпо диплому;
- специальностьпо диплому;
- образование(дополнительное);
- вид найма;
- вид работы;
- ученаястепень;
- ученоезвание;
- узкаяспециальность;
- владениеиностраннымиязыками;
- наличиесудимости;
- семейноеположение;
- составсемьи;
- состоитли в профсоюзе;
- имеет лигруппу инвалидности;
- являетсяли пенсионером;
- являетсяли участникомвойны;
- домашнийпочтовый индекс;
- районпроживания;
- область;
- домашнийадрес;
- домашнийтелефон;
- паспортныеданные(серия,номер, кем выдан,прописка);
- воинскаяобязанность;
- воинскоезвание;
- номервоенно-учетнойспециальности;
- военныйбилет (серия,номер);
- годностьк военной службе;
- отношениек бронированию;
- наличиемоб. предписания;
- группаучета;
- категорияучета;
- к какомурайвоенкоматупричислен;
- дата началасрочной службы
- дата окончаниясрочной службы;
- дата последнегопрохождениямед. комиссии;
- данныетрудовой книжки;
- данные оназначенияхи перемещениях;
- квалификационныйразряд;
- учреждение;
- подразделение;
- текущаядолжность;
- дата приемана работу;
- дата окончанияиспытательногосрока;
- информацияо командировках;
- информацияоб отпусках;
- дата увольнения;
- ИНН;
- сериясвидетельстваналогоплательщика;
- номерсвидетельстваналогоплательщика;
- дата выдачисвидетельстваналогоплательщика.
Периодическиинспекторотдела кадровподшивает вдело новыесведения иприказы, касающиесяэтого сотрудника.Время от временисотрудникутребуетсявыдать справкификсированногосодержанияна основанииданных личногодела (краткаяинформацияо сотрудникеи др.).
В разрабатываемомприложениедолжна иметьсявозможностьдобавлениянового и удалениестарого сотрудникав базе данных,редактированиеего анкетныхданных.Также должныбыть предусмотреныфункции поискаданных по фамилиисотрудника,функции формирования и печати справкисодержащуюкраткую информацияо сотруднике,печати всехданных о нем,переиндексациии инициализациибаз данных.
2.2 Построениеинфологическойи даталогической модели
Описаниепредметнойобласти, выполненноебез ориентациина используемыев дальнейшемпрограммныеи технические средства, называетсяинфологическоймоделью [1].
Для того,чтобы базаданных адекватноотражала предметнуюобласть, проектировщикбазы данныхдолжен хорошопредставлятьсебе все нюансы,присущие даннойпредметнойобласти (ПО), иуметь отобразитьих в базе данных.Поэтому преждечем начинатьпроектированиебазы данных,необходимокак следуетразобраться,как функционируетпредметнаяобласть, дляотображениякоторой создаетсяБД. Предметнаяобласть должнабыть предварительноописана. Дляэтого в принципеможет использоватьсяи естественныйязык, но егоприменениеимеет многонедостатков,основным изкоторых являютсягромоздкостьописания инеоднозначностьего трактовки.Поэтому обычнодля этих целейиспользуютискусственныеформализованныеязыковые средства.В связи с этимпод инфологическоймоделью (ИЛМ)понимают описаниепредметнойобласти, выполненноес использованиемспециальныхязыковых средств,не зависящихот используемыхв дальнейшемпрограммныхсредств [1].
Для описанияинфологическоймодели былииспользованыграфическиесредства.
Описаниесвязи «объект-свойство»изображенона рис. 2.2.1 графическогоматериала.
База данных«Кадры» разрабатываетсядля хранениятекстовойинформации(хотя для удобстваввода некоторыеполя таблиц– числовые),поэтому в приложениине будут примененывычислениявведенныхоператоромданных.
Даталогическаямодель являетсямоделью логическогоуровня и представляетсобой отображениелогическихсвязей междуэлементамиданных безотносительнок их содержаниюи среде хранения.Эта модельстроится втерминахинформационныхединиц, допустимыхв той конкретнойСУБД, в средекоторой мыпроектируембазу данных[1].
Отделу кадровОАО «ССЗ «Лотос»необходиморешать следующиезадачи:
Регистрацияновых сотрудников.
Уточнениеданных посуществующимсотрудникам.
Удалениесотрудников.
Опишем задачи,заполнив рабочийбланк №1.
В рабочийбланк задачинужно занестиимя каждогоэлемента данных,его использованиеи краткое описаниеэтого элемента.При заполнениистолбца «Использование»рабочего бланкаприменяютсяпять обозначений- I,O,U,D, и C. Это первыебуквы словInput(Ввод), Output(Вывод),Update(Изменения),Delete(Удаление),Calculate(Вычисления).В столбец «Объект»записываетсяимя объекта.
В качествеимен элементов/объектовподберем краткийанглийскийперевод описанияэтих элементов/объектов.
РАБОЧИЙБЛАНК №1 ОПИСАНИЯЗАДАЧ | ||||
Наименованиезадачи: | Анкетныеданные сотрудников | |||
Краткоеописание: | Регистрацияновых сотрудников. Уточнениеданных посуществующимсотрудникам. Удаление. | |||
Списоксвязанныхзадач: | Ввод,изменения,анкетных данных. | |||
Имяэлемента данных | Использование | Описание | Объект | |
Organic number | I, U | Табельныйномер сотрудника | Stuff | |
Insurance number | I, U | Страховойномер | Stuff | |
Surname | I, U | Фамилия | Stuff | |
Name | I, U | Имя | Stuff | |
Patronymic name | I, U | Отчество | Stuff | |
Sex | I, U | Пол | Stuff | |
Date of birth | I, U | Датарождения | Stuff | |
Birthplace | I, U | Месторождения | Stuff | |
Nationality | I, U | Национальность | Stuff | |
Social origin | I, U | Социальноепроисхождение | Stuff | |
Citizenship | I, U | Гражданство | Stuff | |
Education | I, U | Образование | Stuff | |
Education institution | I, U | Названиеучебного заведения | Stuff | |
Form of training | I, U | Формаобучения | Stuff | |
Year of the ending | I, U | Годокончания | Stuff | |
Diploma | I, U | Диплом(серия) | Stuff | |
Qualification | I, U | Квалификацияпо диплому | Stuff | |
Speciality | I, U | Специальностьпо диплому | Stuff | |
Amounteducation additional | O | Количествозаписей в разделе«Дополнительноеобразование» | Stuff | |
Kind of hiring | I, U | Виднайма | Stuff | |
Kind of work | I, U | Видработы | Stuff | |
Scientific degree | I, U | Ученаястепень | Stuff | |
Scientific rank | I, U | Ученоезвание | Stuff | |
Narrow speciality | I,U | Узкаяспециальность | Stuff | |
Amount foreign languages | O | Количествозаписей в разделе«Владениеиностраннымиязыками» | Stuff | |
Amount conviction | O | Количествозаписей в разделе«Наличиесудимости» | Stuff | |
Marital status | I, U | Семейноеположение | Stuff | |
Amountfamily | O | Количествозаписей в разделе«Состав семьи» | Stuff | |
Trade union | I, U | Профсоюз | Stuff | |
Group of inability | I, U | Группаинвалидности | Stuff | |
Pensioner | I, U | Пенсионер? | Stuff | |
Participant of a war | I, U | Участниквойны | Stuff | |
Postal index | I, U | Домашнийиндекс | Stuff | |
Region | I, U | Район | Stuff | |
Area | I, U | Область | Stuff | |
Home address | I, U | Домашнийадрес | Stuff | |
Telephone number | I, U | Домашнийтелефон | Stuff | |
Passport | I, U | Серия,номер | Stuff | |
Conscription | I, U | Воинскаяобязанность | Stuff | |
Military rank | I, U | Воинскоезвание | Stuff | |
Number | I, U | НомерВУС | Stuff | |
Military ticket | I, U | Номервоенного билета | Stuff | |
Validity to military service | I, U | Годностьк военной службе | Stuff | |
Attitude to booking | I, U | Отношениек бронированию | Stuff | |
Mobile instructions | I, U | Наличиемоб, предписания | Stuff | |
Group of thee account | I, U | Группаучета | Stuff | |
Category of the account | I, U | Категорияучета | Stuff | |
Commissioners | I, U | Райвоенкомат | Stuff | |
Date started service | I, U | Датаначала срочнойслужбы | Stuff | |
Date close service | I, U | Датаокончаниясрочной службы | Stuff | |
Date of last | I, U | Датапоследнегопрохождениямед. комиссии | Stuff | |
Amount work record cards | O | Количествозаписей в разделе«Трудоваякнижка» | Stuff | |
Amount purpose and moving | O | Количествозаписей в разделе«Назначенияи перемещения» | Stuff | |
Amount qualifying category | O | Количествозаписей в разделе«Квалификационныйразряд» | Stuff | |
Company name | I, U | Названиеучреждения | Stuff | |
Subdivision | I, U | Подразделение | Stuff | |
Current post | I, U | Текущаядолжность | Stuff | |
Date of employment | I, U | Датаприема на работу | Stuff | |
Date closed of a trial period | I, U | Датаокончанияиспытательногосрока | Stuff | |
Amount business trip | O | Количествозаписей в разделе«Командировки» | Stuff | |
Amount holiday | O | Количествозаписей в разделе«Отпуска» | Stuff | |
Date of dismissal | I, U | Датаувольнения | Stuff | |
Reason of dismissal | I, U | Причинаувольнения | Stuff | |
Individual number | I, U | Индивидуальныйномер налогоплательщика | Stuff | |
Tax bearer series | I, U | Сериясвидетельстваналогоплательщика | Stuff | |
Tax bearer number | I, U | Номерсвидетельстваналогоплательщика | Stuff | |
Tax bearer distribution date | I, U | Датавыдачи свидетельстваналогоплательщика | Stuff | |
Date begin in education | I, U | Датапоступленияв у/з | Education additional | |
Date of end education | I, U | Датаокончанияу/з | Education additional | |
Additionaleducation | I, U | Образование | Education additional | |
Name education | I, U | Названиеу/з | Education additional | |
Diploma education | I, U | Диплом | Education additional | |
Form of training additional | I, U | Формаобучения | Education additional | |
Qualification additional | I,U | Квалификация | Education additional | |
Speciality additional | I, U | Специальность | Education additional | |
Other language | I, U | Язык | Language | |
Level of possession | I, U | Уровеньвладения | Language | |
Date of verdict | I, U | Датавынесенияприговора | Conviction | |
Article | I,U | Статья | Conviction | |
Period | I, U | Срок | Conviction | |
Degree of relationship | I, U | Степеньродства | Family | |
Names | I, U | Фамилия,инициалыродственника | Family | |
Date of birth relative | I, U | Датарождения | Family | |
Expense | I, U | Наиждивении | Family | |
By whom is given | I,U | Кемвыдан | Passport registration | |
Date of distribution | I, U | Датавыдачи | Passport registration | |
Index | I, U | Индекс | Passport | |
Area registration | I, U | Область | Passport registration | |
Region registration | I, U | Район | Passport registration | |
City | I, U | Город | Passportregistration | |
Point | I, U | Населенныйпункт | Passport registration | |
Street | I, U | Улица | Passport registration | |
House | I, U | Дом | Passport registration | |
Corps | I, U | Корпус | Passport registration | |
Flat | I, U | Квартира | Passport registration | |
Date of statement | I, U | Датапостановки | Work record card | |
Date of dismissal | I, U | Датаувольнения | Work record card | |
Name of company | I, U | Названиеучреждения | Work record card | |
A post | I, U | Должность | Work record card | |
Reason card | I, U | Причина | Work record card | |
Basis card | I, U | Основание | Work-record card | |
Date moving | I, U | Дата | Purpose and moving | |
Reason moving | I, U | Основание | Purpose and moving | |
Department | I, U | Отдел | Purpose and moving | |
Post | I, U | Должность | Purpose and moving | |
Method of operating | I, U | Режимработы | Purpose and moving | |
Datequalification | I, U | Дата | Qualification | |
Reason qualification | I, U | Основание | Qualification | |
Qualification | I, U | Квалификация | Qualification | |
Date started trip | I, U | Датаначала | Business trip | |
Date closed trip | I, U | Датаокончания | Business trip | |
Destination | I, U | Местоназначения | Business trip | |
Kind of holiday | I, U | Видотпуска | Holiday | |
Basis holiday | I, U | Основание | Holiday | |
In time with | I, U | За времяс | Holiday | |
In time on | I, U | За времяпо | Holiday | |
Date started holiday | I, U | Датаначала | Holiday | |
Amount | I, U | Количестводней | Holiday | |
Date closed holiday | I, U | Датаокончания | Holiday |
Теперьможно приступитьк более тщательномуанализу данныхи объединению отдельныхэлементовданных в объекты.Эти объектыстанут впоследствииосновой длясоздания таблицв проектируемойбазе данных.
Далееследует заполнитьеще один комплектрабочих бланков,который поможетобъединитьэлементы данныхв объекты. Вверхней частибланка длякаждого объектанадо перечислитьвсе объектысвязанные сданным. В графебланка «Связь»указываетсятип связи(«один-ко-многим»или «один-к-одному»).
Длякаждого элементаданных, в рабочембланке объекта,обязательнодолжны бытьуказаны типданных (текстовый,числовой, денежный,Мемо и т.д.) и длинаполя, необходимаядля их хранения.Должно бытьдано краткоеописание этогоэлемента, котороевпоследствиибудет использоватьсяпри определениитаблицы.
Также,в бланке должнобыть записаноусловие назначение, котороебудет применятьсяк соответствующемуполю данных.В дальнейшем,можно будетзадать этиусловия в программныхфайлах FoxPro, чтобыиспользоватьих для проверкиданных.
Опишемиспользуемыеобъекты, заполниврабочий бланк№2.
РАБОЧИЙБЛАНК №2 (ОБЪЕКТЫ) | ||||||
Имяобъекта: | KADRES | |||||
Краткоеописание: | Основныеанкетные данныесотрудников | |||||
Связанныеобъекты: | Имя: Educationadditional Language Conviction Family Passport registration Work record card Purpose and moving Qualifications Business trip Holiday | Связь: Многие Многие Многие Многие Многие Многие Многие Многие Многие Многие | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Organic number | Числовой(6) | Табельныйномер сотрудника | Требуется | |||
Не должныповторяться | ||||||
Insurance number | Текстовый(14) | Страховойномер | NNN-NNN-NNN | |||
Surname | Текстовый(15) | Фамилия | Требуется | |||
Name | Текстовый(15) | Имя | Требуется | |||
Patronymic name | Текстовый(15) | Отчество | Требуется | |||
Sex | Текстовый(15) | Пол | Требуется | |||
М илиЖ | ||||||
Date of birth | Дата | Датарождения | Требуется | |||
Birthplace | Текстовый(47) | Месторождения | Требуется | |||
Nationality | Текстовый(15) | Национальность | Требуется | |||
Socialorigin | Текстовый(47) | Социальноепроисхождение | Требуется | |||
Citizenship | Текстовый(30) | Гражданство | Требуется | |||
Education | Текстовый(47) | Образование | Требуется | |||
Education institution | Текстовый(47) | Названиеучебного заведения | Требуется | |||
Form of training | Текстовый(20) | Формаобучения | Требуется | |||
Year of the ending | Дата(8) | Годокончания | Требуется | |||
Diploma | Текстовый(25) | Диплом(серия) | Требуется | |||
Серия:ХХХХномер:NNNNNNNN | ||||||
Qualification | Текстовый(47) | Квалификацияпо диплому | Требуется | |||
Speciality | Текстовый(47) | Специальностьпо диплому | Требуется | |||
Amount education additional | Числовой(2) | Количествозаписей в разделе«Дополнительноеобразование» | ||||
Kind of hiring | Текстовый(30) | Виднайма | Требуется | |||
Kind of work | Текстовый(30) | Видработы | Требуется | |||
Scientific degree | Текстовый(30) | Ученаястепень | ||||
Scientific rank | Текстовый(30) | Ученоезвание | ||||
Narrow speciality | Текстовый(47) | Узкаяспециальность | ||||
Amount foreign languages | Числовой(2) | Количествозаписей в разделе«Владениеиностраннымиязыками» | ||||
Amount conviction | Числовой(2) | Количествозаписей в разделе«Наличиесудимости» | ||||
Marital status | Текстовый(20) | Семейноеположение | Требуется | |||
Amount family | Числовой(2) | Количествозаписей в разделе«Состав семьи» | ||||
Trade union | Текстовый(40) | Профсоюз | Требуется | |||
Groupof inability | Числовой(1) | Группаинвалидности | ||||
Pensioner | Текстовый(1) | Пенсионер? | Требуется | |||
Д илиН | ||||||
Participant of a war | Текстовый(1) | Участниквойны | Требуется | |||
Д илиН | ||||||
Postal index | Числовой(6) | Домашнийиндекс | Требуется | |||
Region | Текстовый(20) | Район | Требуется | |||
Area | Текстовый(40) | Область | Требуется | |||
Home address | Текстовый(40) | Домашнийадрес | Требуется | |||
Telephone number | Текстовый(18) | Домашнийтелефон | ###-##-## код:### | |||
Passport | Текстовый(29) | Серия,номер | Требуется | |||
Серия:XXXXXXX-XX номер: ###### | ||||||
Conscription | Текстовый(20) | Воинскаяобязанность | ||||
Military rank | Текстовый(20) | Воинскоезвание | ||||
Number | Числовой(12) | НомерВУС | ||||
Military ticket | Текстовый(23) | Номервоенного билета | Серия:XXX номер:####### | |||
Validity to military service | Текстовый(47) | Годностьк военной службе | ||||
Attitude to booking | Текстовый(47) | Отношениек бронированию | ||||
Mobile instructions | Текстовый(1) | Наличиемоб, предписания | Д илиН | |||
Group of thee account | Текстовый(47) | Группаучета | ||||
Category of the account | Текстовый(20) | Категорияучета | ||||
Commissioners | Текстовый(47) | Райвоенкомат | ||||
Date started service | Дата | Датаначала срочнойслужбы | ||||
Date close service | Дата | Датаокончаниясрочной службы | ||||
Date of last | Дата | Датапоследнегопрохождениямед. Комиссии | ||||
Amount work record cards | Числовой(2) | Количествозаписей в разделе«Трудоваякнижка» | ||||
Amount purpose and moving | Числовой(2) | Количествозаписей в разделе«Назначенияи перемещения» | ||||
Amount qualifying category | Числовой(2) | Количествозаписей в разделе«Квалификационныйразряд» | ||||
Companyname | Текстовый(47) | Названиеучреждения | Требуется | |||
Subdivision | Текстовый(30) | Подразделение | Требуется | |||
Current post | Текстовый(30) | Текущаядолжность | Требуется | |||
Date of employment | Дата | Датаприема на работу | Требуется | |||
Date closed of a trial period | Дата | Датаокончанияиспытательногосрока | Требуется | |||
Amount business trip | Числовой(2) | Количествозаписей в разделе«Командировки» | ||||
Amount holiday | Числовой(2) | Количествозаписей в разделе«Отпуска» | ||||
Date of dismissal | Дата | Датаувольнения | Требуется | |||
Reasonof dismissal | Текстовый(47) | Причинаувольнения | Требуется | |||
Individual number | Текстовый(12) | Индивидуальныйномер налогоплательщика | Требуется | |||
Tax bearer series | Текстовый(14) | Сериясвидетельстваналогоплательщика | Требуется | |||
Tax bearer number | Текстовый(14) | Номерсвидетельстваналогоплательщика | Требуется | |||
Tax bearer distribution date | Дата | Датавыдачи свидетельстваналогоплательщика | Требуется | |||
Имяобъекта: | Education additional | |||||
Краткоеописание: | Сведенияо дополнительномобразовании | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date begin ineducation | Дата | Датапоступленияв у/з | Требуется | |||
Date of end education | Дата | Датаокончанияу/з | Требуется | |||
Additional education | Текстовый(30) | Образование | Требуется | |||
Name education | Текстовый(15) | Названиеу/з | Требуется | |||
Diploma education | Текстовый(15) | Диплом | Требуется | |||
Form of trainingadditional | Текстовый(15) | Формаобучения | Требуется | |||
Qualificationadditional | Текстовый(15) | Квалификация | Требуется | |||
Specialityadditional | Текстовый(15) | Специальность | Требуется | |||
Имяобъекта: | Language | |||||
Краткоеописание: | Знаниедополнительныхиностранныхязыков | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Other language | Текстовый(20) | Язык | Требуется | |||
Level of possession | Текстовый(30) | Уровеньвладения | Требуется | |||
Имяобъекта: | Conviction | |||||
Краткоеописание: | Наличиесудимости усотрудника | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date of verdict | Дата | Датавынесенияприговора | Требуется | |||
Article | Текстовый(20) | Статья | Требуется | |||
Period | Текстовый(20) | Срок | Требуется | |||
Имяобъекта: | Family | |||||
Краткоеописание: | Сведенияо составе семьи | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Degree ofrelationship | Текстовый(20) | Степеньродства | Требуется | |||
Names | Текстовый(20) | Фамилия,инициалыродственника | Требуется | |||
Date of birthrelative | Дата | Датарождения | Требуется | |||
Expense | Текстовый(20) | Наиждивении | Требуется | |||
Имяобъекта: | Passport registration | |||||
Краткоеописание: | Паспортныеданные (прописка) | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
By whomis given | Текстовый(50) | Кемвыдан | Требуется | |||
Date of distribution | Дата | Датавыдачи | Требуется | |||
Index | Текстовый(6) | Индекс | Требуется | |||
Area registration | Текстовый(30) | Область | Требуется | |||
Region registration | Текстовый(30) | Район | Требуется | |||
City | Текстовый(30) | Город | Требуется | |||
Point | Текстовый(30) | Населенныйпункт | Требуется | |||
Street | Текстовый(30) | Улица | Требуется | |||
House | Текстовый(10) | Дом | Требуется | |||
Corps | Текстовый(10) | Корпус | Требуется | |||
Flat | Текстовый(10) | Квартира | Требуется | |||
Имяобъекта: | Work record card | |||||
Краткоеописание: | Записив трудовойкнижке | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date of statement | Дата | Датапостановки | Требуется | |||
Date of dismissal | Дата | Датаувольнения | Требуется | |||
Name ofcompany | Текстовый(20) | Названиеучреждения | Требуется | |||
A post | Текстовый(20) | Должность | Требуется | |||
Reason card | Текстовый(20) | Причина | Требуется | |||
Basis card | Текстовый(20) | Основание | Требуется | |||
Имяобъекта: | Purpose and moving | |||||
Краткоеописание: | Сведенияо назначенияхи перемещенияхсотрудника | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date moving | Дата | Дата | Требуется | |||
Reason moving | Текстовый(20) | Основание | Требуется | |||
Department | Текстовый(20) | Отдел | Требуется | |||
Post | Текстовый(15) | Должность | Требуется | |||
Method of operating | Текстовый(15) | Режимработы | Требуется | |||
Имяобъекта: | Qualification | |||||
Краткоеописание: | Сведенияо квалификационномразряде сотрудника | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date qualification | Дата | Дата | Требуется | |||
Reason qualification | Текстовый(20) | Основание | Требуется | |||
Qualification | Текстовый(20) | Квалификация | Требуется | |||
Имяобъекта: | Business trip | |||||
Краткоеописание: | Командировки | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Date started trip | Дата | Датаначала | Требуется | |||
Date closed trip | Дата | Датаокончания | Требуется | |||
Destination | Текстовый(25) | Местоназначения | Требуется | |||
Имяобъекта: | Holiday | |||||
Краткоеописание: | Отпуска | |||||
Связанныеобъекты: | Имя: Stuff | Связь: Один | ||||
Имяэлемента данных | Типданных | Описание | Условиена значение | |||
Kind of holiday | Текстовый(15) | Видотпуска | Требуется | |||
Basis holiday | Текстовый(15) | Основание | Требуется | |||
In time with | Дата | За времяс | Требуется | |||
In time on | Дата | За времяпо | Требуется | |||
Date started holiday | Дата | Датаначала | Требуется | |||
Amount | Числовой(3) | Количестводней | Требуется | |||
Date closed holiday | Дата | Датаокончания | Требуется |
Теперь, послезаполнениявсех рабочихбланков дляобъектов, каждыйиз них можнорассматриватьв качествеосновы длясоздания некоторойтаблицы.
2.3 Проектированиебазы данных
Припроектированиибазы данныхследует придерживатьсяправил нормализациитаблиц:
Правило1: Каждое полелюбой таблицыдолжно бытьуникальным.
Правило2: Каждая таблицадолжна иметьуникальныйидентификатор(первичныйключ), которыйможет состоятьиз одного илинесколькихполей таблицы.
Правило3: Для каждогозначения первичногоключа должнобыть одно итолько однозначение любогоиз столбцовданных, и этозначение должноотноситьсяк объекту таблицы.
Правило4: Должна иметьсявозможностьизменять значениялюбого поля(не входящегов первичныйключ), и это недолжно повлечьза собой изменениедругого поля.[2]
Каждыйагрегированныйобъект будетпредставленотдельнойтаблицей базыданных. Элементыданных будутпредставленыполями таблиц.Имена таблици их полей подберемисходя из именобъектов иэлементовданных. В качествепервичногоключа используемтабельныйномер. Проектбазы данныхвключает в себя11 таблиц.
Опишембазу данныхв табличнойформе.
ОПИСАНИЕТАБЛИЦ БАЗЫДАННЫХ «КАДРЫ» | ||
Имя таблицы: | STUFF.DBF | |
Краткоеописание: | Основнаятаблица базыданных | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
INS_NUM | Текстовый(14) | Страховойномер |
SURNAME | Текстовый(15) | Фамилия |
NAME | Текстовый(15) | Имя |
PATRON | Текстовый(15) | Отчество |
SEX | Текстовый(15) | Пол |
BIRTH_DATE | Дата | Датарождения |
BIRTHPLACE | Текстовый(47) | Месторождения |
NATIONAL | Текстовый(15) | Национальность |
SOCIAL | Текстовый(47) | Социальноепроисхождение |
CITIZEN | Текстовый(30) | Гражданство |
EDUCAT | Текстовый(47) | Образование |
NAME_EDU | Текстовый(47) | Названиеучебного заведения |
FORM_TRAIN | Текстовый(20) | Формаобучения |
YEAR_END | Дата(8) | Годокончания |
DIPLOMA | Текстовый(25) | Диплом(серия) |
QUAL_DIP | Текстовый(47) | Квалификацияпо диплому |
SPEC_DIP | Текстовый(47) | Специальностьпо диплому |
EDU_NUM | Числовой(2) | Количествозаписей в разделе«Дополнительноеобразование» |
KIND_HIR | Текстовый(30) | Виднайма |
KIND_WRK | Текстовый(30) | Видработы |
S_DEGREE | Текстовый(30) | Ученаястепень |
S_RANK | Текстовый(30) | Ученоезвание |
MAR_SPEC | Текстовый(47) | Узкаяспециальность |
LANG_NUM | Числовой(2) | Количествозаписей в разделе«Владениеиностраннымиязыками» |
CONV_NUM | Числовой(2) | Количествозаписей в разделе«Наличиесудимости» |
MAR_STATUS | Текстовый(20) | Семейноеположение |
FAMIL_NUM | Числовой(2) | Количествозаписей в разделе«Состав семьи» |
TR_UNION | Текстовый(40) | Профсоюз |
GROUP | Числовой(1) | Группаинвалидности |
PENSIONER | Текстовый(1) | Пенсионер? |
PARTIC_WAR | Текстовый(1) | Участниквойны |
POST_INDEX | Числовой(6) | Домашнийиндекс |
REGION | Текстовый(20) | Район |
AREA | Текстовый(40) | Область |
ADDRESS | Текстовый(40) | Домашнийадрес |
TELEPHONE | Текстовый(18) | Домашнийтелефон |
PASSPORT | Текстовый(29) | Серия,номер |
CONSCRIPT | Текстовый(20) | Воинскаяобязанность |
MILIT_RANK | Текстовый(20) | Воинскоезвание |
NUMBER | Числовой(12) | НомерВУС |
MIL_TICKET | Текстовый(23) | Номервоенного билета |
MIL_VALID | Текстовый(47) | Годностьк военной службе |
ATTITUDE | Текстовый(47) | Отношениек бронированию |
MOBILE_INS | Текстовый(1) | Наличиемоб, предписания |
GROUP_ACC | Текстовый(47) | Группаучета |
CATEGORY_A | Текстовый(20) | Категорияучета |
COMMISSAR | Текстовый(47) | Райвоенкомат |
START_DATE | Дата | Датаначала срочнойслужбы |
CLOSE_DATE | Дата | Датаокончаниясрочной службы |
LAST_DATE | Дата | Датапоследнегопрохождениямед. Комиссии |
RECORD_NUM | Числовой(2) | Количествозаписей в разделе«Трудоваякнижка» |
PURPOS_NUM | Числовой(2) | Количествозаписей в разделе«Назначенияи перемещения» |
QUAL_NUM | Числовой(2) | Количествозаписей в разделе«Квалификационныйразряд» |
COMPANY | Текстовый(47) | Названиеучреждения |
SUBDIVIS | Текстовый(30) | Подразделение |
CUR_POST | Текстовый(30) | Текущаядолжность |
EMPLOYMENT | Дата | Датаприема на работу |
TRIAL_CLOS | Дата | Датаокончанияиспытательногосрока |
TRIAL_NUM | Числовой(2) | Количествозаписей в разделе«Командировки» |
HOLID_NUM | Числовой(2) | Количествозаписей в разделе«Отпуска» |
DATE_DIS | Дата | Датаувольнения |
REASON_DIS | Текстовый(47) | Причинаувольнения |
INN | Текстовый(12) | Индивидуальныйномер налогоплательщика |
SERIES_TAX | Текстовый(14) | Сериясвидетельстваналогоплательщика |
NUM_TAX | Текстовый(14) | Номерсвидетельстваналогоплательщика |
DATE_TAX | Дата | Датавыдачи свидетельстваналогоплательщика |
Имя таблицы: | EDUCAT.DBF | |
Краткоеописание: | Дополнительноеобразование | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
DATE_BEGIN | Дата | Датапоступленияв у/з |
DATE_END | Дата | Датаокончанияу/з |
EDUCATION | Текстовый(30) | Образование |
NAME_EDUC | Текстовый(15) | Названиеу/з |
DIPL | Текстовый(15) | Диплом |
FORM_TR | Текстовый(15) | Формаобучения |
QUALIFIC | Текстовый(15) | Квалификация |
SPECIAL | Текстовый(15) | Специальность |
Имя таблицы: | LANGUAGE.DBF | |
Краткоеописание: | Владениеиностраннымиязыками | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
OTH_LANG | Текстовый(20) | Язык |
LEVEL | Текстовый(30) | Уровеньвладения |
Имя таблицы: | CONVICT.DBF | |
Краткоеописание: | Наличиесудимости | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
DATE_VERD | Дата | Датавынесенияприговора |
ARTICLE | Текстовый(20) | Статья |
PERIOD | Текстовый(20) | Срок |
Имя таблицы: | FAMILY.DBF | |
Краткоеописание: | Составсемьи | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
RELATION | Текстовый(20) | Степеньродства |
NAMES | Текстовый(20) | Фамилия,инициалыродственника |
DATE_RELAT | Дата | Датарождения |
EXPENSE | Текстовый(20) | Наиждивении |
Имя таблицы: | PASSPORT.DBF | |
Краткоеописание: | Паспортныеданные | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
EXP_GIVEN | Текстовый(50) | Кемвыдан |
DATE_DISTR | Дата | Датавыдачи |
INDEX_P | Текстовый(6) | Индекс |
AREA_P | Текстовый(30) | Область |
REGION_P | Текстовый(30) | Район |
CITY_P | Текстовый(30) | Город |
POINT_P | Текстовый(30) | Населенныйпункт |
STREET_P | Текстовый(30) | Улица |
HOUSE_P | Текстовый(10) | Дом |
CORPS_P | Текстовый(10) | Корпус |
FLAT_P | Текстовый(10) | Квартира |
Имя таблицы: | WORKCARD.DBF | |
Краткоеописание: | Трудоваякнижка | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
DATE_WRK | Дата | Датапостановки |
DATE_DISM | Дата | Датаувольнения |
NAME_WRK | Текстовый(20) | Названиеучреждения |
POST_WRK | Текстовый(20) | Должность |
REASON_WRK | Текстовый(20) | Причина |
BASIS_WRK | Текстовый(20) | Основание |
Имя таблицы: | MOVING.DBF | |
Краткоеописание: | Назначенияи перемещения | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
DATE_MOV | Дата | Дата |
REASON_MOV | Текстовый(20) | Основание |
DEPART | Текстовый(20) | Отдел |
POST_MOV | Текстовый(15) | Должность |
METHOD_MOV | Текстовый(15) | Режимработы |
Имя таблицы: | QUALIFIC.DBF | |
Краткоеописание: | Квалификационныйразряд | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
DATE_QUAL | Дата | Дата |
REASON_QUAL | Текстовый(20) | Основание |
QUALIFICAT | Текстовый(20) | Квалификация |
Имя таблицы: | BUS_TRIP.DBF | |
Краткоеописание: | Командировки | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
START_TRP | Дата | Датаначала |
CLOSED_TRP | Дата | Датаокончания |
DESTINAT | Текстовый(25) | Местоназначения |
Имя таблицы: | HOLIDAY.DBF | |
Краткоеописание: | Отпуска | |
Имяполя | Типданных | Описание |
ORG_NUM | Числовой(6) | Табельныйномер сотрудника |
KIND_HOL | Текстовый(15) | Видотпуска |
BASIS_HOL | Текстовый(15) | Основание |
WITH_HOL | Дата | За времяс |
ON_HOL | Дата | За времяпо |
D_ST_HOL | Дата | Датаначала |
AMOUNT | Числовой(3) | Количестводней |
D_END_HOL | Дата | Датаокончания |
Итак, спроектировано11 таблиц базыданных «Кадры».Для удобстваработы, 10 из нихследует проиндексировать:
таблицуSTUFF.DBF по полю ORG_NUM;
таблицуEDUCAT.DBF по полю DATE_BEGIN;
таблицуLANGUAGE.DBF по полю OTH_LANG;
таблицуCONVICT.DBF по полю DATE_VERD;
таблицуFAMILY.DBF по полю DATE_RELAT;
таблицуWORKCARD.DBF по полю DATE_WRK;
таблицуMOVING.DBF по полю DATE_MOV;
таблицуQUALIFIC.DBF по полю DATE_QUAL;
таблицуBUS_TRIP.DBF по полю START_TRP;
таблицуHOLIDAY.DBF по полю WITH_HOL.
2.4 Разработкаприложения
Для созданияпроекта использоваласьСУБД FoxPro 2.6.
В составпроекта входит28 командныхфайлов. Можнобыло бы в качествепроцедур объединитьих в один файл,но тогда, вдальнейшем,стало былонеудобно ихизменять. Взаимосвязькомандныхфайлов представленана рис. 2.4.1 графическогоматериала.
Стартовымв проекте являетсяфайл START.PRG, в которомустанавливаетсяоперационнаясреда системы,формируетсяэкран, а такжеописываетсярабочее меню.В состав рабочегоменю входятгоризонтальноеBAR-меню и тривертикальныхPOPUP-меню:
Данныео сотрудниках | Сервис | Справки | Выход |
В пункте:
Просмотр |
Редактирование |
Добавление |
Удаление |
В пункте:
Переиндексациябаз |
Инициализациябаз |
Впункте :
Краткаясправка осотруднике |
При выборе,или ,запускаютсяпрограммныефайлы (модули)READ.PRG, WRITE.PRG или NEW.PRG соответственно.Задача этихмодулей - запускR_W.PRG с необходимымипараметрами.В частностизадаются переменныеedit и type (edit=.t. – редактированиеполей разрешено,edit=.f. – редактированиезапрещено,type=1 – выводитсясообщение«просмотрданных», type=2 –«редактированиеданных», type=3 –«добавлениеданных»). NEW.PRG такжедолжен добавитьпустую записьв таблицу STUFF.DBF.
Так как анкетныеданные довольнообширны, дляих отображенияпользоватьсятолько командамиBROWSE или CHANGE неудобно.В данном проектеиспользовалисьGET-поля для таблицSTUFF.DBF, PASSPORT.DBF и BROWSE-окнадля остальных.Описание экрановс GET-полями, а такжеусловия вводаданных, заложеныв модулях WIEV1.PRG,WIEV2.PRG, WIEV3.PRG, WIEV4.PRG, WIEV5.PRG, которыезапускаетR_W.PRG (чтобы неперечислятькаждый раз,назову их WIEVn). Взависимостиот значенияпеременной edit, в GET-полях разрешеноили запрещеноредактированиеданных. Экраны,формируемыеэтими модулями,кроме областиредактированияданных содержатв верхней частиэкрана номер«листа», Ф.И.О.сотрудника,вид операции,а в нижней частиэкрана - опцииуправления:
ЛИСТАТЬ
|
ЗАПИСЬ
|
|
-передает управлениеследующемуэкрану.
- передаетуправлениепредыдущемуэкрану
- переходит кследующемусотруднику.
- возвращаетсяк предыдущемусотруднику
Если номерэкрана больше5, то управлениепередаетсяэкрану №1.
Если номерэкрана меньше1, то управлениепередаетсяэкрану №5.
Подобнаяже схема действуети на выбор следующегоили предыдущегосотрудника.
- позволяетне перебиратьсотрудниковпо порядку, асразу выбратьего из списка.
-выводит напечать вседанные о текущемсотруднике.
- возвратв главное меню.
Кроме данныхопций, экранысодержатдополнительноопции, позволяющиепросмотретьсвязанную сними дополнительнуюинформацию.На каждом экранеэти опции разные.С правой частиот опции - выводитсяколичествозаписей в разделе.
Все опцииописаны LIGHTBAR-меню.
При выборе некоторойопции происходитвыход из текущегомодуля WIEVn с возвращениемсписка переменныхв модуль R_W.PRG. Всоответствиисо значениемпеременных,управлениепередаетсятому или иномумодулю.
Переменная | Значение | Условиена выполнение | Действие | |
Выбрано | невыбрано | |||
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 WITHorgnum1, edit (переменнаяorgnum1 необходимадля связи сключом, переменнаяedit разрешает(edit=.t.) или запрещает(edit=.f.) редактированиеполя) |
1 | 5 | Print=1 | DO print.prg | |
exit | 1 | 5 | Exit=1 | END DO (возвращениев вышестоящиймодуль и затемв модуль с главнымменю START.PRG) |
eduadd | 1 | 5 | Eduadd=1 | DO educat.prg WITHorgnum1, edit |
forlang | 1 | 5 | Forlang=1 | DO language.prg WITHorgnum1, edit |
conv | 1 | 5 | Conv=1 | DO convict.prg WITHorgnum1, edit |
structfam | 1 | 5 | Structfam=1 | DO family.prg WITHorgnum1, edit |
bok | 1 | 5 | Bok=1 | DO workcard.prg WITHorgnum1, edit |
purpos | 1 | 5 | Purpos=1 | DO move.prg WITHorgnum1, edit |
qualcateg | 1 | 5 | Qualcateg=1 | DO qualif.prg WITHorgnum1, edit |
tripsbus | 1 | 5 | Tripsbus=1 | DO bus_trip.prg WITHorgnum1, edit |
holid | 1 | 5 | Holid=1 | DO holiday.prg WITHorgnum1, edit |
pass | 1 | 5 | Pass=1 | DO passport.prg WITHorgnum1, 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-распечаткиэкранов, приведеныв приложении.
3. ОХРАНАТРУДА
Охрана труда– системазаконодательныхактов, постановлений,организационных,санитарныхи техническихмер, обеспечивающихбезопасныедля здоровьяусловия трудана рабочемместе. Научно-техническийпрогресс внесизменения вусловия производственнойдеятельностиработниковумственноготруда. Их трудстал болееинтенсивным,напряженным,требующимзатрат умственной,эмоциональнойи физическойэнергии. Этоимеет прямоеотношение ик специалистам,связанным спроектированием,разработкой,эксплуатацией,сопровождениеми модернизациейавтоматизированныхсистем управленияразличногоназначения.
На рабочемместе операторадолжны бытьсозданы условиядля высокопроизводительноготруда. ОператорАРМ испытываетзначительнуюнагрузку, какфизическую(сидячее положение,нагрузка наглаза), так иумственную,что приводитк снижению еготрудоспособностик концу рабочегодня.
Существуютнормативы,определяющиекомфортныеусловия и предельнодопустимыенормы запыленности,температурывоздуха, шума,освещенности.В системе мер,обеспечивающихблагоприятныеусловия труда,большое местоотводитсяэстетическимфакторам: оформлениепроизводственногоинтерьера,оборудования,применениефункциональноймузыки и др.,которые оказываютопределенноевоздействиена организмчеловека. Важнуюроль играетокраска помещений,которая должнабыть светлой.В данном разделедипломногопроекта рассчитываетсянеобходимаяосвещенностьрабочего местаи информационнаянагрузка оператора.
Развитиюутомляемостина производствеспособствуютследующиефакторы:
-неправильнаяэргономическаяорганизациярабочего места,нерациональныезоны размещенияоборудованияпо высоте отпола, по фронтуот оси симметриии т.д.;
-характер протеканиятруда. Трудовойпроцесс организовантаким образом,что операторвынужден спервых минутрабочего днярешать наиболеесложные и трудоемкиезадачи, в товремя как впервые минутыработы функциональнаяподвижностьнервных клетокмозга низка.Важное значениеимеет чередованиетруда и отдыха,смена однихформ работыдругими.[4]
Одним изосновных вопросовохраны трудаявляется организациярациональногоосвещенияпроизводственныхпомещений ирабочих мест.
Для освещенияпомещения, вкотором работаетоператор,используетсясмешанноеосвещение, т.е.сочетаниеестественногои искусственногоосвещения.
Естественноеосвещение –осуществляетсячерез окна внаружных стенахздания.
Искусственноеосвещение –используетсяпри недостаточноместественномосвещениии осуществляетсяс помощью двухсистем: общегои местногоосвещения.Общим называютосвещение,светильникикоторого освещаютвсю площадьпомещения.Местным называютосвещение,предназначенноедля определенногорабочего места.
Для помещения,где находитсярабочее местооператора,используетсясистема общегоосвещения.
Нормамидля данныхработ установленанеобходимаяосвещенностьрабочего местаЕН=300лк (для работвысокой точности,когда наименьшийразмер объектаразличенияравен 0.3 – 0.5 мм).
Для исключениязасветки экрановдисплеев прямымисветовымипотоками светильникиобщего освещениярасполагаютсбоку от рабочегоместа, параллельнолинии зренияоператора истене с окнами.[5]
Кроме того,необходимов течение 8-мичасового рабочегодня предусмотретьодин часовойперерыв наобед, 5-ти минутныеперерывы каждыеполчаса и 15-тиминутные перерывыкаждые 1.5 – 2 часа.Работу необходимоорганизоватьтаким образом,чтобы наиболеесложные задачирешались с11:00 до 16:00 – в периоднаибольшейактивностичеловека, а нев начале дня,когда оператореще не достигмаксимальнойактивности,и не в концедня, когда ужеразвиваетсяутомление.
Так как работаоператора несвязана с решениемкрупных логическихзадач и достаточнооднообразна,то рекомендуетсяпо-возможностичередоватьвиды деятельности.
4. ЗАКЛЮЧЕНИЕ
Вданной дипломнойработе разработанаархитектурабазы «Кадры».в результатеанализа данныхприведенынеобходимыеполя базы данных,их структураи тип. Сведениеих в определенныеобъекты и построениесвязи междуобъектами базы.
Показаныопределенныеправила, покоторым проектироваласьбаза данных.
База данныхпроектироваласьв среде СУБДFoxPro 2.6. В связис этим разработаны28 командныхфайлов предназначенныедля ведениябазы, включающиев себя сервисныефункции управлениябазой данных,ввода и выводаданных. В программныеприложениявошли предлагаемыеменю для полученияопределенныхсправок осотрудниках.
Спроектированнаябаза данных«Кадры» и программноеобеспечение,обслуживающеебазу, даетвозможностьоблегчитьработу отделакадров и применятьразличныепоисковыесистемы длявыбора необходимыхсведений осотрудниках,составе и структурештатов предприятия.
Работа базына контрольныхданных ОАО «ССЗ«Лотос» показалаее работоспособностьи эффективность.
5. БИБЛИОГРАФИЧЕСКИЙСПИСОК
1.Теоретическоеучебное пособиеРГТК «Тантал»по дисциплине«Создание иведение информационногообеспечения».
2. Теоретическоеучебное пособиеРГТК «Тантал»по дисциплине«Технологияразработкипрограммногообеспечения».
3. Попов А. А.«Программированиев среде СУБДFoxPro 2.0.», М. изд. Радиои связь, 1993 г.
4.Сибаров Ю. Б.«Охрана трудав вычислительныхцентрах» и др.,М. Машиностроение,1990 г.
5.Самгин Э. Б.«Освещениерабочих мест»,изд. МИРЭА, 1989 г.
6. ПРИЛОЖЕНИЕ
Распечаткакомандныхфайлов
START.PRG
CLEAR
CLEARMACROS
SETCOLOR TO N
SETHELP OFF
SETCLOCK OFF
SETRESOURCE OFF
SETTALK OFF
SETDOHISTORY OFF
SETSTATUS OFF
SETBRSTATUS OFF
SETESCAPE OFF
SETBELL OFF
SETSCOREBOARD OFF
SETCONFIRM ON
SETDATE GERMAN
SETCENTURY ON
SETDELETED ON
SETEXACT ON
SETHOURS TO 24
SETSTICKY ON
SETCURSOR ON
SETSAFETY OFF
RELEASEMENU
RELEASEPOPUP
RELEASEWINDOW
SETMESSAGE TO SROWS()-1 CENTER
USEstuff.dbf IN a INDEX stuff.idx
USEpassport.dbf IN b
USEeducat.dbf IN c INDEX educat.idx
USElanguage.dbf IN d INDEX language.idx
USEconvict.dbf IN e INDEX convict.idx
USEfamily.dbf IN f INDEX family.idx
USEworkcard.dbf IN g INDEX workcard.idx
USEmoving.dbf IN h INDEX moving.idx
USEqualific.dbf IN i INDEX qualific.idx
USEbus_trip.dbf IN j INDEX bus_trip.idx
USEholiday.dbf IN 11 INDEX holiday.idx
SELECTa
SETCOLOR TO W+/B
@0, 0, 24, 79 BOX (REPLICATE(CHR(176),9))
DOWHILE .T.
DEFINEMENU MAINMENU COLOR SCHEME 3
DEFINEPAD data OF MAINMENU PROMPT ' Д\
AT0,0
DEFINEPAD service OF MAINMENU PROMPT ' \ DEFINEPAD list OF MAINMENU PROMPT ' СП\ DEFINEPAD exit OF MAINMENU ; PROMPT' ВЫ\ ONSELECTION PAD data OF MAINMENU ACTIVATE POPUP dat ONSELECTION PAD service OF MAINMENU ACTIVATE POPUP serv ONSELECTION PAD list OF MAINMENU ACTIVATE POPUP lst ONSELECTION PAD exit OF MAINMENU DO end.prg DEFINEPOPUP dat FROM 1,0 SHADOW COLOR SCHEME 4 DEFINEBAR 1 OF dat PROMPT ' Просмотр'COLORSCHEME 3 DEFINEBAR 2 OF dat PROMPT '\-' DEFINEBAR 3 OF dat PROMPT ' Редактирование'COLOR SCHEME 3 DEFINEBAR 4 OF dat PROMPT '\-' DEFINEBAR 5 OF dat PROMPT ' Добавление'COLOR SCHEME 3 DEFINEBAR 6 OF dat PROMPT '\-' DEFINEBAR 7 OF dat PROMPT ' Удаление'COLOR SCHEME 3 ONSELECTION BAR 1 OF dat DO read.prg ONSELECTION BAR 3 OF dat DO write.prg ONSELECTION BAR 5 OF dat DO new.prg ONSELECTION BAR 7 OF dat DO del_rec.prg DEFINEPOPUP serv FROM 1,24 SHADOW COLOR SCHEME 4 DEFINEBAR 1 OF serv PROMPT ' Переиндексациябазы ' ; COLORSCHEME 3 DEFINEBAR 2 OF serv PROMPT '\-' DEFINEBAR 3 OF serv PROMPT ' Инициализациябазы' ; COLORSCHEME 3 ONSELECTION BAR 1 OF serv DO index.prg ONSELECTION BAR 3 OF serv DO initial.prg DEFINEPOPUP lst FROM 1,34 SHADOW COLOR SCHEME 4 DEFINEBAR 1 OF lst PROMPT ' Краткаясправка о сотруднике' ; COLORSCHEME 3 ONSELECTION BAR 1 OF lst DO referen.prg SHOWMENU MAINMENU ACTIVATEMENU MAINMENU ENDDO RETURN READ.PRG SELECTa edit=.f. type=1 DOr_w.prg WITH edit,type RETURN WRITE.PRG SELECTa edit=.t. type=2 DOr_w.prg WITH edit,type RETURN NEW.PRG SELECTa edit=.t. type=3 APPENDBLANK DOr_w.prg WITH edit,type RETURN DEL_REC.PRG SELECTa DEFINEWINDOW win3 FROM 2, 11 TO 23, 69 NOGROW ; NOFLOATNOZOOM SHADOW CLOSE ; TITLE'Пометьте удаляемыезаписи [CTRL+T] и нажмите ACTIVATEWINDOW win3 ONKEY LABEL ctrl+t DO dl_undl.prg WITH org_num SETDELETED OFF BROWSENOAPPEND NOMODIFY LOCK 0 FIELDS org_num :H='Таб.N:', ; surname:H='Фамилия:', name:H='Имя:',patron :H='Отчество:' ONKEY LABEL ctrl+t RELEASEWINDOW win3 WAIT'Удаление помеченныхзаписей' NOWAIT WINDOW PACK SELECTb PACK SELECTc PACK SELECTd PACK SELECTe PACK SELECTf PACK SELECTg PACK SELECTh PACK SELECTi PACK SELECTj PACK SELECT11 PACK WAITCLEAR SETDELETED ON RETURN DL_UNDL.PRG PARAMETERorg_num org_num1=org_num IFDELETED()=.t. RECALL SELECTb RECALLFOR org_num=org_num1 SELECTc RECALLFOR org_num=org_num1 SELECTd RECALLFOR org_num=org_num1 SELECTe RECALLFOR org_num=org_num1 SELECTf RECALLFOR org_num=org_num1 SELECTg RECALLFOR org_num=org_num1 SELECTh RECALLFOR org_num=org_num1 SELECTi RECALLFOR org_num=org_num1 SELECTj RECALLFOR org_num=org_num1 SELECT11 RECALLFOR org_num=org_num1 ELSE DELETE SELECTb DELETEFOR org_num=org_num1 SELECTc DELETEFOR org_num=org_num1 SELECTd DELETEFOR org_num=org_num1 SELECTe DELETEFOR org_num=org_num1 SELECTf DELETEFOR org_num=org_num1 SELECTg DELETEFOR org_num=org_num1 SELECTh DELETEFOR org_num=org_num1 SELECTi DELETEFOR org_num=org_num1 SELECTj DELETEFOR org_num=org_num1 SELECT11 DELETEFOR org_num=org_num1 ENDIF SELECTa RETURN R_W.PRG PARAMETERedit,type,up,down,next,previos,find,print,exit,eduadd,forlang, ; conv,structfam,pass,bok,purpos,qualcateg,tripsbus,holid list=1 exit=5 SETCOLOR TO N/W+ SELECTA IFRECCOUNT()=0 APPENDBLANK ENDIF DEFINEWINDOW win0 FROM 0, 0 TO 2, 79 NOGROW ; NOFLOATNOZOOM COLOR W+/N DEFINEWINDOW win1 FROM 3, 0 TO 24, 79 NOGROW; NOFLOATNOZOOM COLOR GR+/B DOWHILE exit1 ACTIVATEWINDOW win0 CLEAR @0,8 SAY ALLTRIM(surname)+' '+ALLTRIM(name)+' '+ALLTRIM(patron) IFtype=1 @0,63 SAY 'ПРОСМОТРДАННЫХ' ENDIF IFtype=2 @0,57 SAY 'РЕДАКТИРОВАНИЕДАННЫХ' ENDIF IFtype=3 @0,61 SAY 'ДОБАВЛЕНИЕДАННЫХ' ENDIF IFlist=1 @0,0 SAY 'Экран 1' DOwiev1.prg WITH edit ENDIF IFlist=2 @0,0 SAY 'Экран 2' DOwiev2.prg WITH edit ENDIF IFlist=3 @0,0 SAY 'Экран 3' DOwiev3.prg WITH edit ENDIF IFlist=4 @0,0 SAY 'Экран 4' DOwiev4.prg WITH edit ENDIF IFlist=5 @0,0 SAY 'Экран 5' DOwiev5.prg WITH edit ENDIF IFprevios=1 SKIP-1 IFBOF()=.t. GOBOTTOM ENDIF ENDIF IFnext=1 SKIP1 IFEOF()=.t. GOTOP ENDIF ENDIF IFdown=1 IFlist1 list=list-1 ELSE list=5 ENDIF ENDIF IFup=1 IFlist5 list=list+1 ELSE list=1 ENDIF ENDIF IFfind=1 DOsearch.prg ENDIF org_num1=org_num IFeduadd=1 DOeducat.prg WITH org_num1,edit ENDIF IFforlang=1 DOlanguage.prg WITH org_num1,edit ENDIF IFconv=1 DOconvict.prg WITH org_num1,edit ENDIF IFstructfam=1 DOfamily.prg WITH org_num1,edit ENDIF IFpass=1 DOpassport.prg WITH org_num1,edit ENDIF IFbok=1 DOworkcard.prg WITH org_num1,edit ENDIF IFpurpos=1 DOmove.prg WITH org_num1,edit ENDIF IFqualcateg=1 DOqualif.prg WITH org_num1,edit ENDIF IFtripsbus=1 DObus_trip.prg WITH org_num1,edit ENDIF IFholid=1 DOholiday.prg WITH org_num1,edit ENDIF IFprint=1 DOprint.prg ENDIF ENDDO RELEASEWINDOW win1 RELEASEWINDOW win0 RETURN WIEV1.PRG PARAMETERedit ACTIVATEWINDOW 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 STORE6 TO org_num,ins_num,surname,name,up,down,next,; previos,find,print,exit @1,30 GET org_num VALID UN()=.t. ERROR ; 'Такойтабельный номеруже существует'SIZE1,6 WHEN edit=.t. COLOR SCHEME 2 @2,30 GET ins_num PICTURE 'NNN-NNN-NNN' SIZE 1,11 ; WHENedit=.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='м'ORsex='ж' ; ERROR'[М]ужской или[Ж]енский' SIZE 1,1 ; WHENedit=.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 READCYCLE IForg_norg_num org_n1=org_num SELECT2 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT3 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT4 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT5 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT6 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT7 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT8 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT9 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT10 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT11 REPLACEorg_num WITH org_n1 FOR org_num=org_n SELECT1 ENDIF RETURN FUNCTIONun rec_un=RECNO() tab_un=org_num SEEKtab_un IFRECNO()=rec_un SKIP ENDIF IFtab_un=org_num AND !EOF() GOrec_un RETURN.f. ENDIF GOrec_un RETURN WIEV2.PRG PARAMETERedit ACTIVATEWINDOW 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 STORE6 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' ; SIZE1,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 READCYCLE RETURN WIEV3.PRG PARAMETERedit ACTIVATEWINDOW 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 STORE6 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='н'ORpensioner='Н' ERROR 'Только[Д]а или [Н]ет' ; SIZE1,1 WHEN edit=.t. COLOR SCHEME 2 @2,30 GET partic_war VALID partic_war='д'OR partic_war='Д'OR; partic_war='н'ORpartic_war='Н' ERROR 'Только[Д]а или [Н]ет' ; SIZE1,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 '###-##-## код: ###' ; SIZE1,18 WHEN edit=.t. COLOR SCHEME 2 STORE"* Паспортныеданные:__________" TOMPROMPTS @8,0 GET pass FUNCTION MPROMPTS SIZE 1, 30 COLOR SCHEME 11 @8,30 GET passport PICTURE 'серия:XXXXXXX-XXномер ######' ; SIZE1,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номер #######' ; SIZE1,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='Д'; ORmobile_ins='н'OR mobile_ins='Н' ; ERROR'Только [Д]а или[Н]ет' SIZE 1,1 WHEN edit=.t. ; COLORSCHEME 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 READCYCLE RETURN WIEV4.PRG PARAMETERedit ACTIVATEWINDOW 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 STORE4 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"* Трудоваякнижка:____________" TOMPROMPTS @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 READCYCLE RETURN WIEV5.PRG PARAMETERedit ACTIVATEWINDOW 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 STORE6 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 READCYCLE RETURN BUS_TRIP.PRG PARAMETERorg_num1,edit SELECTj DEFINEWINDOW win3 FROM 3, 11 TO 20, 68 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Командировки'LOCK 0 ; FIELDSstart_trp :H='Дата начала:',closed_trp :H='Дата окончания:',; destinat:H='Место назначения:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Командировки'NOAPPEND NOMODIFY NODELETE ; LOCK0 FIELDS start_trp :H='Дата начала:',closed_trp :H='Дата окончания:',; destinat:H='Место назначения:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEtrial_num WITH f RETURN CONVICT.PRG PARAMETERorg_num1,edit SELECTe DEFINEWINDOW win3 FROM 3, 5 TO 20, 75 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Наличиесудимости' LOCK0 ; FIELDSdate_verd :H='Дата вынесенияприговора:',article :H='Статья:', ; period:H='Срок:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Наличиесудимости' ; NOAPPENDNOMODIFY NODELETE LOCK 0 ; FIELDSdate_verd :H='Дата вынесенияприговора:',article :H='Статья:', ; period:H='Срок:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEconv_num WITH f RETURN EDUCAT.PRG PARAMETERorg_num1,edit SELECTc DEFINEWINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Образование(дополнительно)'LOCK 0 ; FIELDSdate_begin :H='Поступил:',date_end:H='Окончил:', ; education:H='Образование:',name_educ:H='Название у/з:',; dipl:H='Диплом:',form_tr :H='Формаобучения:', ; qualific:H='Квалификация:',special:H='Специальность:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Образование(дополнительно)'NOAPPEND ; NOMODIFYNODELETE LOCK 0 FIELDS date_begin :H='Поступил:',; date_end:H='Окончил:', education:H='Образование:',; name_educ:H='Названиеу/з:',dipl :H='Диплом:',; form_tr:H='Форма обучения:',qualific:H='Квалификация:',; special:H='Специальность:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEEDU_NUM WITH f RETURN FAMILY.PRG PARAMETERorg_num1,edit SELECTf DEFINEWINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Составсемьи' LOCK 0 ; FIELDSrelation :H='Степеньродства:', names:H='Фамилия, инициалы:',; date_relat:H='Дата рождения:',expense :H='На иждивении:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Составсемьи' NOAPPEND NOMODIFY NODELETE ; LOCK0 FIELDS relation :H='Степеньродства:', ; names:H='Фамилия, инициалы:',date_relat :H='Дата рождения:',; expense:H='На иждивении:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEfamil_num WITH f RETURN HOLIDAY.PRG PARAMETERorg_num1,edit SELECT11 DEFINEWINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Отпуска'LOCK 0 ; FIELDSkind_hol :H='Вид отпуска:',basis_hol :H='Основание:',; with_hol:H='За время с',on_hol:H='За время по:',; d_st_hol:H='Дата начала:',amount :H='Кол-во дней:',; d_en_hol:H='Дата окончания:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Отпуска'NOAPPEND NOMODIFY NODELETE LOCK 0 ; FIELDSkind_hol :H='Вид отпуска:',basis_hol :H='Основание:',; with_hol:H='За время с',on_hol:H='За время по:',d_st_hol :H='Дата начала:',; amount:H='Кол-во дней:',d_en_hol:H='Дата окончания:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEholid_num WITH f RETURN LANGUAGE.PRG PARAMETERorg_num1,edit SELECTd DEFINEWINDOW win3 FROM 3, 13 TO 20, 67 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Владениеиностраннымиязыками' LOCK 0 ; FIELDSoth_lang :H='Язык:', level :H='Уровеньвладения:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Владениеиностраннымиязыками' ; NOAPPENDNOMODIFY NODELETE LOCK 0 ; FIELDSoth_lang :H='Язык:', level :H='Уровеньвладения:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACELANG_NUM WITH f RETURN MOVE.PRG PARAMETERorg_num1,edit SELECTh DEFINEWINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Назначенияи перемещения'LOCK 0 ; FIELDSdate_mov :H='Дата:', reason_mov:H='Основание:',depart :H='Отдел:', ; post_mov:H='Должность:',method_mov:H='Режим работы:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Назначенияи перемещения'NOAPPEND NOMODIFY NODELETE LOCK 0 ; FIELDSdate_mov :H='Дата:', reason_mov:H='Основание:',depart :H='Отдел:', ; post_mov:H='Должность:',method_mov:H='Режим работы:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEpurpos_num WITH f RETURN PASSPORT.PRG PARAMETERorg_num1,edit SELECTb LOCATEFOR org_num=org_num1 IFFOUND()=.f. APPENDBLANK REPLACEorg_num WITH org_num1 ENDIF DEFINEWINDOW win3 FROM 3, 1 TO 24, 78 NOGROW ; NOFLOATNOZOOM SHADOW CLOSE COLOR SCHEME 10 TITLE 'ПАСПОРТНЫЕДАННЫЕ' ACTIVATEWINDOW 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 ' Адрес прописки' STORE5 TOexp_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 READCYCLE SELECTa RELEASEWINDOW win3 RETURN QUALIF.PRG PARAMETERorg_num1,edit SELECTi DEFINEWINDOW win3 FROM 3, 10 TO 20, 69 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Квалификационныйразряд' LOCK 0 ; FIELDSdate_qual :H='Дата:', reas_qual:H='Основание:',; qualificat:H='Квалификационныйразряд:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Квалификационныйразряд' NOAPPEND NOMODIFYNODELETE LOCK 0 ; FIELDSdate_qual :H='Дата:', reas_qual:H='Основание:',; qualificat:H='Квалификационныйразряд:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACEqual_num WITH f RETURN WORKCARD.PRG PARAMETERorg_num1,edit SELECTg DEFINEWINDOW win3 FROM 3, 0 TO 20, 79 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 10 DEFINEWINDOW win4 FROM 21, 0 TO 24, 79 NOGROW ; NOFLOATNOZOOM COLOR R+/N IFedit=.t. ACTIVATEWINDOW win4 @0,1 SAY'[Ctrl+T]-удалитьзапись, [Ctrl+N]-создатьновую, [Ctrl+W]-сохранитьи выйти' @1,30 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Трудоваякнижка' LOCK 0 ; FIELDSdate_wrk :H='Дата пост:',date_dism :H='Дата увольн:',; name_wrk:H='Названиеучреждения:',post_wrk :H='Должность:',; reason_wrk:H='Причина:',basis_wrk:H='Основание:' REPLACEorg_num WITH org_num1 FOR org_num=0 ELSE ACTIVATEWINDOW win4 @0,26 SAY'Нажмите [ESC] длявыхода' @1,28 SAY'[Ctrl+F]-поиск поля' ACTIVATEWINDOW win3 BROWSEFOR org_num=org_num1 TITLE 'Трудоваякнижка' NOAPPEND NOMODIFY ; NODELETELOCK 0 FIELDS date_wrk :H='Дата пост:',; date_dism:H='Дата увольн:',name_wrk :H='Названиеучреждения:',; post_wrk:H='Должность:',reason_wrk:H='Причина:', ; basis_wrk:H='Основание:' ENDIF GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SELECTa RELEASEWINDOW win4 RELEASEWINDOW win3 REPLACErecord_num WITH f RETURN PRINT.PRG SELECTa n=alltrim(surname)+''+alltrim(name)+' '+alltrim(patron) _peject='after' SETPRINTER ON SETCONSOLE 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 SELECTc SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO EDU_NUM1 ?' Поступил:',date_begin,' Окончил:',date_end ?' Название у/з: ',name_educ ?' Образование: ',education ?' Диплом: ',dipl ?' Форма обучения:',form_tr ?' Квалификация: ',qualific ?' Специальность:',special ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Владениеиностран.языками:',LANG_NUM LANG_NUM1=LANG_NUM SELECTd SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO LANG_NUM1 ?' Язык:',oth_lang,' Уровеньвладения:',level SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Наличиесудимости:',conv_num conv_num1=conv_num SELECTe SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO conv_num1 ?' Дата вынесенияприговора: ',date_verd ?' Статья:',article,' Срок:',period ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Составсемьи:',famil_num struct_f1=famil_num SELECTf SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO struct_f1 ?' Дата рождения:',date_relat,' Фамилия, инициалы:',names ?' Степеньродства:',relation, ' Наиждивении:',expense ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (12),'Паспортныеданные:',passport SELECTb GOTOP f=0 LOCATEFOR org_num=org_num1 DOWHILE EOF()=.f. IFFOUND()=.t. f=f+1 ENDIF CONTINUE ENDDO SETFILTER TO org_num=org_num1 GOTOP FORn=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 NEXTn SETFILTER TO SELECTa ?SPACE (25),'Трудоваякнижка:',record_num record_num1=record_num SELECTg SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO record_num1 ?' Дата постановки: ',date_wrk,' Дата увольнения:',date_dism ?' Названиеучреждения:',name_wrk ?' Должность: ',post_wrk ?' Причина: ',reason_wrk ?' Основание: ',basis_wrk ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Назначенияи перемещения:',purpos_num purpos_num1=purpos_num SELECTh SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO purpos_num1 ?' Дата: ',date_mov,' Основание:',reason_mov ?' Отдел: ',depart ?' Должность: ',post_mov ?' Режим работы:',method_mov ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Квалификационныйразряд:',qual_num qual_num1=qual_num SELECTi SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO qual_num1 ?' Дата: ',date_qual,' Основание:',reas_qual ?' Квалификация:',qualificat ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Командировки:',trial_num trips1=trial_num SELECTj SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO trips1 ?' Дата начала: ',start_trp,' Датаокончания:',closed_trp ?' Место назначения:',destinat ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa ?SPACE (25),'Отпуска:',holid_num holid_num1=holid_num SELECT11 SETFILTER TO org_num=org_num1 GOTOP FORn=1 TO holid_num1 ?' Вид отпуска: ',kind_hol ?' Основание: ',basis_hol ?' За время с: ',with_hol,' За время по: ',on_hol ?' Дата начала: ',d_st_hol,' Количестводней:',amount ?' Дата окончания:',d_en_hol ?REPLICATE(' -',39) SKIP NEXTn SETFILTER TO SELECTa WAITCLEAR ENDPRINTJOB SETPRINTER OFF SETCONSOLE ON RETURN SEARCH.PRG DEFINEWINDOW win3 FROM 3, 11 TO 20, 69 NOGROW ; NOFLOATNOZOOM SHADOW CLOSE; TITLE'Выберите записьи нажмите ACTIVATEWINDOW win3 BROWSENOAPPEND NOMODIFY NODELETE LOCK 0 FIELDS org_num :H='Таб.N:', ; surname:H='Фамилия:', name:H='Имя:',patron :H='Отчество:' RELEASEWINDOW win3 RETURN INDEX.PRG WAIT"Индексируютаблицы" NOWAIT WINDOW SELECTa INDEXON org_num TO stuff.idx SELECTc INDEXON date_begin TO educat.idx SELECTd INDEXON oth_lang TO language.idx SELECTe INDEXON date_verd TO convict.idx SELECTf INDEXON date_relat TO family.idx SELECTg INDEXON date_wrk TO workcard.idx SELECTh INDEXON date_mov TO moving.idx SELECTi INDEXON date_qual TO qualific.idx SELECTj INDEXON start_trp TO bus_trip.idx SELECT11 INDEXON with_hol TO holiday.idx WAITCLEAR RETURN INITIAL.PRG DEFINEWINDOW win3 FROM 7, 10 TO 13, 70 NOGROW ; NOFLOATNOZOOM CLOSE COLOR SCHEME 12 ACTIVATEWINDOW win3 @0,12 SAY'ЭТО действиеуничтожит вседанные' @1,13 SAY'Вы увереныв его необходимости?' STORE2 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 READCYCLE RELEASEWINDOW win3 IFyes=2 RETURN ENDIF WAIT"Инициализациятаблиц" NOWAIT WINDOW SELECTa ZAP SELECTb ZAP SELECTc ZAP SELECTd ZAP SELECTe ZAP SELECTf ZAP SELECTg ZAP SELECTh ZAP SELECTi ZAP SELECTj ZAP SELECT11 ZAP WAITCLEAR RETURN REFEREN.PRG SELECTa DOsearch.prg _peject='after' SETPRINTER ON SETCONSOLE 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) IFd=1 n='января' ENDIF IFd=2 n='февраля' ENDIF IFd=3 n='марта' ENDIF IFd=4 n='апреля' ENDIF IFd=5 n='мая' ENDIF IFd=6 n='июня' ENDIF IFd=7 n='июля' ENDIF IFd=8 n='августа' ENDIF IFd=9 n='сентября' ENDIF IFd=10 n='октября' ENDIF IFd=11 n='ноября' ENDIF IFd=12 n='декабря' ENDIF IFsex='Ж' 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(),'г' SELECTa WAITCLEAR ENDPRINTJOB SETPRINTER OFF SETCONSOLE ON RETURN END.PRG CLEAR CLOSEALL 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.
Опробациябазы данныхна ОАО «ССЗ«Лотос» показалиее практическуюценность вчасти облегченияи скоростиобработкибольшого объемаданных и составлениинеобходимыхсведений.
Рецензент:ПетровП.П., ОАО «ССЗ«Лотос», начальникбюро корпусообработки,инженер
(ф.и.о.,местоработы, должность,звание)
Дата_______________ Подпись_______________