Помощь в написании студенческих работ
Антистрессовый сервис

Построение инфологической и даталогической модели

РефератПомощь в написанииУзнать стоимостьмоей работы

Для того, чтобы база данных адекватно отражала предметную область, проектировщик базы данных должен хорошо представлять себе все нюансы, присущие данной предметной области (ПО), и уметь отобразить их в базе данных. Поэтому прежде чем начинать проектирование базы данных, необходимо как следует разобраться, как функционирует предметная область, для отображения которой создается БД. Предметная… Читать ещё >

Построение инфологической и даталогической модели (реферат, курсовая, диплом, контрольная)

Описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства, называется инфологической моделью [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.

Amount education 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.

Amount family.

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.

Additional education.

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.

Город.

Passport registration.

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.

Date qualification.

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.

Краткое описание:

Основные анкетные данные сотрудников.

Связанные объекты:

Имя:

Education additional.

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).

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

Требуется.

Social origin.

Текстовый (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).

Профсоюз.

Требуется.

Group of 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).

Количество записей в разделе «Квалификационный разряд» .

Company name.

Текстовый (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.

Дата.

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

Требуется.

Reason of dismissal.

Текстовый (47).

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

Требуется.

Individual number.

Текстовый (12).

Индивидуальный номер налогоплательщика.

Требуется.

Tax bearer series.

Текстовый (14).

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

Требуется.

Tax bearer number.

Текстовый (14).

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

Требуется.

Tax bearer distribution date.

Дата.

Дата выдачи свидетельства налогоплательщика.

Требуется.

Имя объекта:

Education additional.

Краткое описание:

Сведения о дополнительном образовании.

Связанные объекты:

Имя:

Stuff.

Связь:

Один.

Имя элемента данных.

Тип данных.

Описание.

Условие на значение.

Date begin in education.

Дата.

Дата поступления в у/з.

Требуется.

Date of end education.

Дата.

Дата окончания у/з.

Требуется.

Additional education.

Текстовый (30).

Образование.

Требуется.

Name education.

Текстовый (15).

Название у/з.

Требуется.

Diploma education.

Текстовый (15).

Диплом.

Требуется.

Form of training additional.

Текстовый (15).

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

Требуется.

Qualification additional.

Текстовый (15).

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

Требуется.

Speciality additional.

Текстовый (15).

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

Требуется.

Имя объекта:

Language.

Краткое описание:

Знание дополнительных иностранных языков.

Связанные объекты:

Имя:

Stuff.

Связь:

Один.

Имя элемента данных.

Тип данных.

Описание.

Условие на значение.

Other language.

Текстовый (20).

Язык.

Требуется.

Level of possession.

Текстовый (30).

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

Требуется.

Имя объекта:

Conviction.

Краткое описание:

Наличие судимости у сотрудника.

Связанные объекты:

Имя:

Stuff.

Связь:

Один.

Имя элемента данных.

Тип данных.

Описание.

Условие на значение.

Date of verdict.

Дата.

Дата вынесения приговора.

Требуется.

Article.

Текстовый (20).

Статья.

Требуется.

Period.

Текстовый (20).

Срок.

Требуется.

Имя объекта:

Family.

Краткое описание:

Сведения о составе семьи.

Связанные объекты:

Имя:

Stuff.

Связь:

Один.

Имя элемента данных.

Тип данных.

Описание.

Условие на значение.

Degree of relationship.

Текстовый (20).

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

Требуется.

Names.

Текстовый (20).

Фамилия, инициалы родственника.

Требуется.

Date of birth relative.

Дата.

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

Требуется.

Expense.

Текстовый (20).

На иждивении.

Требуется.

Имя объекта:

Passport registration.

Краткое описание:

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

Связанные объекты:

Имя:

Stuff.

Связь:

Один.

Имя элемента данных.

Тип данных.

Описание.

Условие на значение.

By whom is given.

Текстовый (50).

Кем выдан.

Требуется.

Date of distribution.

Дата.

Дата выдачи.

Требуется.

SELECT 11.

REPLACE org_num WITH org_n1 FOR org_num=org_n.

SELECT 1.

ENDIF.

RETURN.

FUNCTION un.

rec_un=RECNO ().

tab_un=org_num.

SEEK tab_un.

IF RECNO ()=rec_un.

SKIP.

ENDIF.

IF tab_un=org_num AND! EOF ().

GO rec_un.

RETURN .f.

ENDIF.

GO rec_un.

RETURN.

WIEV2.PRG.

PARAMETER edit.

ACTIVATE WINDOW win1.

CLEAR.

eduadd=5.

forlang=5.

conv=5.

structfam=5.

pass=5.

bok=5.

purpos=5.

qualcateg=5.

tripsbus=5.

holid=5.

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

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

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

@ 4,30 SAY EDU_NUM COLOR SCHEME 2.

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

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

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

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

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

@ 10,30 SAY LANG_NUM COLOR SCHEME 2.

@ 11,30 SAY conv_num COLOR SCHEME 2.

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

@ 13,30 SAY famil_num COLOR SCHEME 2.

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

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

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

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

@ 16,0,16,77 BOX.

@ 17,26,19,26 BOX.

@ 17,52,19,52 BOX.

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

kind_hir, KIND_WRK, s_degree, s_rank, mar_spec, ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

STORE «* ВПЕРЕД» TO MPROMPTS.

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

STORE «* НАЗАД «TO MPROMPTS.

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

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

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

STORE «* ПРЕДЫДУЩАЯ» TO MPROMPTS.

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

STORE «* НАЙТИ «TO MPROMPTS.

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

STORE «* ПЕЧАТЬ» TO MPROMPTS.

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

STORE «* ВЫХОД» TO MPROMPTS.

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

READ CYCLE.

RETURN.

WIEV3.PRG.

PARAMETER edit.

ACTIVATE WINDOW win1.

CLEAR.

eduadd=5.

forlang=5.

conv=5.

structfam=5.

pass=5.

bok=5.

purpos=5.

qualcateg=5.

tripsbus=5.

holid=5.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ 16,0,16,77 BOX.

@ 17,26,19,26 BOX.

@ 17,52,19,52 BOX.

STORE 6 TO pensioner, ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

COLOR SCHEME 2.

STORE «* ВПЕРЕД» TO MPROMPTS.

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

STORE «* НАЗАД «TO MPROMPTS.

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

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

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

STORE «* ПРЕДЫДУЩАЯ» TO MPROMPTS.

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

STORE «* НАЙТИ «TO MPROMPTS.

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

STORE «* ПЕЧАТЬ» TO MPROMPTS.

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

STORE «* ВЫХОД» TO MPROMPTS.

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

READ CYCLE.

RETURN.

WIEV4.PRG.

PARAMETER edit.

ACTIVATE WINDOW win1.

CLEAR.

eduadd=5.

forlang=5.

conv=5.

structfam=5.

pass=5.

bok=5.

purpos=5.

qualcateg=5.

tripsbus=5.

holid=5.

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

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

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

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

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

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

@ 7,30 SAY record_num COLOR SCHEME 2.

@ 8,30 SAY purpos_num COLOR SCHEME 2.

@ 9,30 SAY qual_num COLOR SCHEME 2.

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

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

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

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

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

@ 15,30 SAY trial_num COLOR SCHEME 2.

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

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

@ 16,0,16,77 BOX.

@ 17,26,19,26 BOX.

@ 17,52,19,52 BOX.

STORE 4 TO group_acc, ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

STORE «* ВПЕРЕД» TO MPROMPTS.

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

STORE «* НАЗАД «TO MPROMPTS.

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

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

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

STORE «* ПРЕДЫДУЩАЯ» TO MPROMPTS.

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

STORE «* НАЙТИ «TO MPROMPTS.

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

STORE «* ПЕЧАТЬ» TO MPROMPTS.

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

STORE «* ВЫХОД» TO MPROMPTS.

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

READ CYCLE.

RETURN.

WIEV5.PRG.

PARAMETER edit.

ACTIVATE WINDOW win1.

CLEAR.

eduadd=5.

forlang=5.

conv=5.

structfam=5.

pass=5.

bok=5.

purpos=5.

qualcateg=5.

tripsbus=5.

holid=5.

@ 1,30 SAY holid_num COLOR SCHEME 2.

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

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

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

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

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

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

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

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

@ 16,0,16,77 BOX.

@ 17,26,19,26 BOX.

@ 17,52,19,52 BOX.

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

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

STORE «* Отпуска:____________________» TO MPROMPTS.

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

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

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

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

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

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

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

STORE «* ВПЕРЕД» TO MPROMPTS.

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

STORE «* НАЗАД «TO MPROMPTS.

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

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

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

STORE «* ПРЕДЫДУЩАЯ» TO MPROMPTS.

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

STORE «* НАЙТИ «TO MPROMPTS.

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

STORE «* ПЕЧАТЬ» TO MPROMPTS.

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

STORE «* ВЫХОД» TO MPROMPTS.

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

READ CYCLE.

RETURN.

BUS_TRIP.PRG.

PARAMETER org_num1,edit.

SELECT j.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE trial_num WITH f.

RETURN.

CONVICT.PRG.

PARAMETER org_num1,edit.

SELECT e.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

period :H='Срок:'.

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

NOAPPEND NOMODIFY NODELETE LOCK 0 ;

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

period :H='Срок:'.

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE conv_num WITH f.

RETURN.

EDUCAT.PRG.

PARAMETER org_num1,edit.

SELECT c.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE EDU_NUM WITH f.

RETURN.

FAMILY.PRG.

PARAMETER org_num1,edit.

SELECT f.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE famil_num WITH f.

RETURN.

HOLIDAY.PRG.

PARAMETER org_num1,edit.

SELECT 11.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE holid_num WITH f.

RETURN.

LANGUAGE.PRG.

PARAMETER org_num1,edit.

SELECT d.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

NOAPPEND NOMODIFY NODELETE LOCK 0 ;

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE LANG_NUM WITH f.

RETURN.

MOVE.PRG.

PARAMETER org_num1,edit.

SELECT h.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE purpos_num WITH f.

RETURN.

PASSPORT.PRG.

PARAMETER org_num1,edit.

SELECT b.

LOCATE FOR org_num=org_num1.

IF FOUND ()=.f.

APPEND BLANK.

REPLACE org_num WITH org_num1.

ENDIF.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

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

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

@ 10,5 SAY’Населенный пункт:'.

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

@ 12,5 SAY’Дом:'.

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

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

@ 4,2,16,73 BOX.

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

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

house_p, corps_p, flat_p, end.

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

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

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

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

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

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

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

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

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

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

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

STORE «* ВЫХОД» TO MPROMPTS.

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

READ CYCLE.

SELECT a.

RELEASE WINDOW win3.

RETURN.

QUALIF.PRG.

PARAMETER org_num1,edit.

SELECT i.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE qual_num WITH f.

RETURN.

WORKCARD.PRG.

PARAMETER org_num1,edit.

SELECT g.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 10.

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

NOFLOAT NOZOOM COLOR R+/N.

IF edit=.t.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

REPLACE org_num WITH org_num1 FOR org_num=0.

ELSE.

ACTIVATE WINDOW win4.

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

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

ACTIVATE WINDOW win3.

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

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

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

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

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

ENDIF.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SELECT a.

RELEASE WINDOW win4.

RELEASE WINDOW win3.

REPLACE record_num WITH f.

RETURN.

PRINT.PRG.

SELECT a.

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

_peject='after'.

SET PRINTER ON.

SET CONSOLE OFF.

PRINTJOB.

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

WAIT «Печать» NOWAIT WINDOW.

  • ?
  • ? ' Таб. номер: ', org_num
  • ? ' Страховой номер: ', ins_num
  • ? ' Фамилия: ', surname
  • ? ' Имя: ', name
  • ? ' Отчество: ', patron
  • ? ' Пол: ', sex
  • ? ' Дата рождения: ', birth_date
  • ? ' Место рождения: ', birthplace
  • ? ' Национальность: ', national
  • ? ' Социальное происхождение: ', SOCIAL
  • ? ' Гражданство: ', citizen
  • ? ' Образование: ', educat
  • ? ' Название учебного заведения:', NAME_EDU
  • ? ' Форма обучения: ', form_train
  • ? ' Год окончания: ', year_end
  • ? ' Диплом: ', diploma
  • ? ' Квалификация по диплому: ', qual_dip
  • ? ' Специальность по диплому: ', spec_dip
  • ? ' Вид найма: ', kind_hir
  • ? ' Вид работы: ', KIND_WRK
  • ? ' Ученая степень: ', s_degree
  • ? ' Ученое звание: ', s_rank
  • ? ' Узкая специальность: ', mar_spec
  • ? ' Семейное положение: ', mar_status
  • ? ' Профсоюз: ', tr_union
  • ? ' Группа инвалидности: ', group
  • ? ' Пенсионер?: ', pensioner
  • ? ' Участник войны?: ', partic_war
  • ? ' Домашний индекс: ', post_index
  • ? ' Район: ', region
  • ? ' Область: ', area
  • ? ' Домашний адрес: ', address
  • ? ' Домашний телефон: ', telephone
  • ? ' Воинская обязанность: ', conscript
  • ? ' Воинское звание: ', milit_rank
  • ? ' Номер ВУС: ', number
  • ? ' Военный билет: ', mil_ticket
  • ? ' Годность к военной службе: ', mil_valid
  • ? ' Отношение к бронированию: ', attitude
  • ? ' Наличие моб. предписания: ', mobile_ins
  • ? ' Группа учета: ', group_acc
  • ? ' Категория учета: ', category_a
  • ? ' Райвоенкомат: ', commissar
  • ? ' Дата начала срочной службы: ', start_date
  • ? ' Дата окончания срочн. службы:', close_date
  • ? ' Дата посл. прохождения: ', last_date
  • ? ' Учреждение: ', company
  • ? ' Подразделение: ', subdivis
  • ? ' Текущая должность: ', cur_post
  • ? ' Дата приема на работу: ', employment
  • ? ' Дата окончания испыт. срока:', trial_clos
  • ? ' Дата увольнения: ', date_dis
  • ? ' Причина увольнения: ', reason_dis
  • ? ' ИНН: ', inn
  • ? ' Серия свидет. налогоплател.:', series_tax
  • ? ' Номер свидет. налогоплател.:', num_tax
  • ? ' Дата свидет. налогоплател.: ', date_tax
  • ? SPACE (25),'Образование (дополнит.):', EDU_NUM

org_num1=org_num.

EDU_NUM1=EDU_NUM.

SELECT c.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO EDU_NUM1.

  • ? ' Поступил:', date_begin,' Окончил:', date_end
  • ? ' Название у/з: ', name_educ
  • ? ' Образование: ', education
  • ? ' Диплом: ', dipl
  • ? ' Форма обучения:', form_tr
  • ? ' Квалификация: ', qualific
  • ? ' Специальность: ', special
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

LANG_NUM1=LANG_NUM.

SELECT d.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO LANG_NUM1.

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

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

conv_num1=conv_num.

SELECT e.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO conv_num1.

  • ? ' Дата вынесения приговора: ', date_verd
  • ? ' Статья:', article,' Срок:', period
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

struct_f1=famil_num.

SELECT f.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO struct_f1.

  • ? ' Дата рождения:', date_relat,' Фамилия, инициалы:', names
  • ? ' Степень родства:', relation, ' На иждивении:', expense
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

SELECT b.

GO TOP.

f=0.

LOCATE FOR org_num=org_num1.

DO WHILE EOF ()=.f.

IF FOUND ()=.t.

f=f+1.

ENDIF.

CONTINUE.

ENDDO.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO f.

  • ? ' Кем выдан: ', exp_given
  • ? ' Дата выдачи:', date_distr
  • ? SPACE (25),'Прописка:'
  • ? ' Индекс: ', index_p
  • ? ' Область: ', area_p
  • ? ' Район: ', region_p
  • ? ' Город: ', city_p
  • ? ' Населенный пункт:', point_p
  • ? ' Улица: ', street_p
  • ? ' Дом: ', house_p
  • ? ' Корпус: ', corps_p
  • ? ' Квартира: ', flat_p

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

record_num1=record_num.

SELECT g.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO record_num1.

  • ? ' Дата постановки: ', date_wrk,' Дата увольнения:', date_dism
  • ? ' Название учреждения:', name_wrk
  • ? ' Должность: ', post_wrk
  • ? ' Причина: ', reason_wrk
  • ? ' Основание: ', basis_wrk
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

purpos_num1=purpos_num.

SELECT h.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO purpos_num1.

  • ? ' Дата: ', date_mov,' Основание:', reason_mov
  • ? ' Отдел: ', depart
  • ? ' Должность: ', post_mov
  • ? ' Режим работы:', method_mov
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

qual_num1=qual_num.

SELECT i.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO qual_num1.

  • ? ' Дата: ', date_qual,' Основание:', reas_qual
  • ? ' Квалификация:', qualificat
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

trips1=trial_num.

SELECT j.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO trips1.

  • ? ' Дата начала: ', start_trp,' Дата окончания:', closed_trp
  • ? ' Место назначения:', destinat
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

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

holid_num1=holid_num.

SELECT 11.

SET FILTER TO org_num=org_num1.

GO TOP.

FOR n=1 TO holid_num1.

  • ? ' Вид отпуска: ', kind_hol
  • ? ' Основание: ', basis_hol
  • ? ' За время с: ', with_hol,' За время по: ', on_hol
  • ? ' Дата начала: ', d_st_hol,' Количество дней:', amount
  • ? ' Дата окончания:', d_en_hol
  • ? REPLICATE (' -', 39)

SKIP.

NEXT n.

SET FILTER TO.

SELECT a.

WAIT CLEAR.

ENDPRINTJOB.

SET PRINTER OFF.

SET CONSOLE ON.

RETURN.

SEARCH.PRG.

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

NOFLOAT NOZOOM SHADOW CLOSE;

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

ACTIVATE WINDOW win3.

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

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

RELEASE WINDOW win3.

RETURN.

INDEX.PRG.

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

SELECT a.

INDEX ON org_num TO stuff.idx.

SELECT c.

INDEX ON date_begin TO educat.idx.

SELECT d.

INDEX ON oth_lang TO language.idx.

SELECT e.

INDEX ON date_verd TO convict.idx.

SELECT f.

INDEX ON date_relat TO family.idx.

SELECT g.

INDEX ON date_wrk TO workcard.idx.

SELECT h.

INDEX ON date_mov TO moving.idx.

SELECT i.

INDEX ON date_qual TO qualific.idx.

SELECT j.

INDEX ON start_trp TO bus_trip.idx.

SELECT 11.

INDEX ON with_hol TO holiday.idx.

WAIT CLEAR.

RETURN.

INITIAL.PRG.

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

NOFLOAT NOZOOM CLOSE COLOR SCHEME 12.

ACTIVATE WINDOW win3.

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

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

STORE 2 TO no, yes.

STORE «* НЕТ» TO MPROMPTS.

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

STORE «* ДА» TO MPROMPTS.

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

READ CYCLE.

RELEASE WINDOW win3.

IF yes=2.

RETURN.

ENDIF.

WAIT «Инициализация таблиц» NOWAIT WINDOW.

SELECT a.

ZAP.

SELECT b.

ZAP.

SELECT c.

ZAP.

SELECT d.

ZAP.

SELECT e.

ZAP.

SELECT f.

ZAP.

SELECT g.

ZAP.

SELECT h.

ZAP.

SELECT i.

ZAP.

SELECT j.

ZAP.

SELECT 11.

ZAP.

WAIT CLEAR.

RETURN.

REFEREN.PRG.

SELECT a.

DO search.prg.

_peject='after'.

SET PRINTER ON.

SET CONSOLE OFF.

PRINTJOB.

WAIT «Печать» NOWAIT WINDOW.

n=ALLTRIM (company).

  • ? space ((80-len (n))/2), n
  • ? ''
  • ? SPACE (28),'О Т Д Е Л К, А Д Р О В'
  • ? REPLICATE ('-', 79)
  • ? SPACE (26),'Краткая справка о сотруднике'
  • ? REPLICATE ('-', 79)

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

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

d=MONTH (birth_date).

IF d=1.

n='января'.

ENDIF.

IF d=2.

n='февраля'.

ENDIF.

IF d=3.

n='марта'.

ENDIF.

IF d=4.

n='апреля'.

ENDIF.

IF d=5.

n='мая'.

ENDIF.

IF d=6.

n='июня'.

ENDIF.

IF d=7.

n='июля'.

ENDIF.

IF d=8.

n='августа'.

ENDIF.

IF d=9.

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

ENDIF.

IF d=10.

n='октября'.

ENDIF.

IF d=11.

n='ноября'.

ENDIF.

IF d=12.

n='декабря'.

ENDIF.

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

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

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

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

ELSE.

sx1='Родился'.

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

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

ENDIF.

  • ? ' ', sx1, DAY (birth_date), n, YEAR (birth_date),'года ,'
  • ? ' ', ALLTRIM (national),',', sx2, ALLTRIM (birthplace),','
  • ? ' имеет', ALLTRIM (citizen),'гражданство .'
  • ? ' ', sx3, ALLTRIM (NAME_EDU),'.'
  • ? ' Семейное положение:', ALLTRIM (mar_status),'.'
  • ? ' В настоящее время работает в должности: ', ALLTRIM (cur_post),','
  • ? ' в подразделении:', ALLTRIM (subdivis),'.'
  • ? ' Домашний адрес:', ALLTRIM (address),',', ALLTRIM (region),'район .'
  • ? ' Домашний телефон:', telephone
  • ? ''
  • ? SPACE (60), DATE (),'г'

SELECT a.

WAIT CLEAR.

ENDPRINTJOB.

SET PRINTER OFF.

SET CONSOLE ON.

RETURN.

END.PRG.

CLEAR.

CLOSE ALL.

QUIT.

Графический материал.

Описание связи .

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

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

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

Показать весь текст
Заполнить форму текущей работой