Определение объемов заработка и выпуска продукции

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет: Информационных Систем

Кафедра: Информационные Системы в Экономике

Курсовая работа на тему:

«Определение объемов заработка и выпуска продукции «

Выполнила: ст-ка 3-го курса гр. 3912

Абдуллаева Э.К.

Принял: ст. преподаватель

Мурадов М.М.

МАХАЧКАЛА 2002 г.

Введение

В данной курсовой работе основной задачей является автоматизация рабочего места пользователя. Это необходимо для того, чтобы облегчить работу пользователя с базой данных; для удобства таких операций с БД, как поиск данных, их редактирование, ввод, удаление; для наглядного представления данных в БД. Использование вычислительной техники в настоящее время невозможно без рациональной организации информационной базы и обеспечения эффективного доступа к ней пользователей. Для этой цели и служат банки данных, которые нашли применение в автоматизированных системах разных типов и уровней. Таким образом, целью курсовой работы является создание автоматизированного банка данных.

Конкретная задача этой курсовой работы — определение объемов заработка и выпуска продукции. Для этого необходимо построить инфологическую и датологическую модели данных, в которых должны быть указаны:

ь Табельный номер

ь Шифр детали

ь Наименование

ь Дата

ь ФИО

ь Выработка (единиц)

ь Расценка за 1 шт.

ь Начисление з/п.

ь Выпуск деталей.

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

1. Значение БД

Вычислительная техника с каждым годом все шире применяется в различных сферах человеческой деятельности. Это объясняется рядом объективных причин. Современные вычислительные машины и системы достигли высокого уровня развития. Ускорение научно-технического прогресса требует дальнейшего расширения сферы применения вычислительной техники. Появившийся термин «компьютеризация» метко отражает эту перспективу. Причина широкого применения средств электронно-вычислительной техники связана с информационным взрывом, сущность которого состоит в том, что количество информации, которое человек должен воспринимать и перерабатывать, лавинообразно растет. Это касается экономики и техники, науки и технологии, медицины и социального обеспечения. Информация, данные все чаще рассматриваются как общие жизненно важные национальные ресурсы, которые должны быть организованы так, чтобы ценность их была по возможности максимальной. Перерабатывать большой объем информации в заданные сроки практически невозможно без специальных средств обработки информации. Резкий рост объемов перерабатываемой информации и накопленный опыт использования электронно-вычислительной техники в различных областях приводят к необходимости пересматривать такую традиционную область обработки информации, как управление данными.

Новый подход к организации процессов обработки данных нашел наиболее яркое выражение в концепции банков данных, которые позволили по-новому подойти к вопросам управления информацией в автоматизированных системах. Автоматизированные системы управления, спроектированные на основе концепций банков данных, обладают рядом характерных свойств, выгодно отличающих их от предшествующих разработок, основой которых была система массивов данных, ориентированная на решение комплекса установившихся задач. Использование автоматизированных банков данных позволяет обеспечить многоаспектный доступ к совокупности взаимосвязанных данных, интеграцию и централизацию управления данными, устранение излишней избыточности данных, возможность совмещения эффективных режимов пакетной и телепроцессорной обработки данных. 2]

В БД отражается определённая информация о предметной области.

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

В автоматизированных информационных системах отражение предметной области представлено моделями данных нескольких уровней. Независимо от того поддерживаются ли в явном виде уровни модели физического и логического уровня можно выделить эти уровни модулей и соответственно к ним этапы проектирования БД. [4]

2. Описание объекта управления

Как и средства труда, предметы труда являются одним из трех простых моментов труда. На предметы труда направлено воздействие человека в процессе труда; они потребляются в одном цикле производства и поэтому их стоимость полностью переносится на стоимость изготовляемой в данном цикле продукции. К предметам труда относят сырьё, материалы, топливо и др.

В процессе производства потребляется огромное, постоянно возрастающее к5оличество самых разнообразных видов сырья и материалов.

В состав понятия «материалы» включают различные предметы труда. Рассмотрим важнейшие из них.

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

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

Топливо является, как правило, вспомогательным материалом. Различают топливо технологическое (в металлургии), двигательное (горючее), хозяйственное (на отопление).

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

Номенклатура- ценник представляет систематизированный перечень материалов, применяемых на предприятии. Обычно в нем указываются номенклатурный номер материала, наименование, сорт, размер и другие признаки, а также единица измерения и учетная цена.

Применение в учете ЭВМ позволяет несколько расширить содержание номенклатур — ценников и ввести в нее некоторые дополнительные постоянные признаки: норма запаса, естественная убыль, синтетический счет и др. кодирование номенклатуры материальных ценностей должно вестись по строго выдержанной системе. Чаще всего оно осуществляется по смешанной порядково-серийной системе. Обычно коды номенклатуры материальных ценностей семи — восьмизначные. Из них первые два знака обозначают группу материалов, а следующие — характеристику материала.

Первичные документы по учету движения материалов в целом делятся на приходные и расходные. К ним относятся, прежде всего, первичные документы, которые заполняются вручную или с помощью вычислительных машин и другой оргтехники. Они играют важнейшую роль в организации материального учета, так как составляют его основу. Именно по первичным документам осуществляется предварительный, текущий и последующий контроль за движением и сохранностью материалов. Оформление первичных документов на получение и отпуск материалов должно быть полным и тщательным, документы должны содержать подписи лиц, совершивших операцию. Весьма важным является их предварительная нумерация. Обязательное условие — проставление в документах кодов объектов учета.

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

На поступающие материалы поставщики присылают счета- платежные требования с различными приложениями (спецификациями, сертификатами, качественными удостоверениями), товарно-транспортные накладные, счета- фактуры. При приемке же материалов оформляется ряд внутренних документов. Одной из задач здесь является избежание дублирования одних и тех же записей во внешних и внутренних документах.

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

Большое значение имеет организация на предприятиях контроля за поступлением материала, а также за розыском грузов, которые своевременно не поступили. В этих целях используется журнал учета поступающих грузов.

Приемка и оприходование материалов, поступивших от поставщиков, оформляются соответствующими складами путем составления приходных ордеров, выписываемых на основании расчетных и других сопроводительных документов поставщиков. [5]

3. СУБД, FoxPro

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

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

Для обеспечения гибкости использования данных, необходимо учитывать два аспекта разработки баз данных: во-первых, данные должны быть независимыми от программ, использующих их, для того, чтобы данные можно было добавлять или перестраивать без изменения программ; во-вторых, должна быть обеспечена возможность запрашивать и отыскивать информацию в базе данных без трудоемкого написания программ на обычном языке программирования. Таким образом, проектирование баз данных должно основываться на вполне определенной системе положений — четко сформулированной концепции.

Концепция баз данных стала определяющим фактором при создании эффективных систем автоматизированной обработки информации. 3]

Описание команд:

ACTIVATE MENU Вывод на дисплей и активация линейки меню Формат: ACTIVATE MENU < имя1> [PAD < имя2>]

Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально.

Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как < имя1>, и активирует ее для использования.

Для деактивации всплывающего меню без выполнения выбора нужно нажать Esc. Деактивировать меню можно также командой DEACTIVATE MENU или активировав другую линейку меню.

Если используется необязательное предложение PAD < имя2>, то при выводе на дисплей выделен будет элемент линейки, указанный в < имя2>. Если это предложение опущено, то выделен будет первый элемент.

ACTIVATE POPUP Вывод на дисплей и активация всплывающего меню Формат: ACTIVATE POPUP < имя>Данная команда активации меню работает в сочетании с командами DEFINE POPUP и DEFINE BAR. Эти две команды определяют всплывающее меню, которое затем может быть выведено в любой позиции крана.

Команда ACTIVATE POPUP вызывает определение, ранее всплывающее меню с именем < имя>, которое затем размещается на экране или в окне и активируется для последующего использования. Опция меню считается выбранной, если в момент, когда она выделена, нажать Enter или кнопку мыши

ACTIVATE WINDOW Вывод на дисплей и активация окна Формат: ACTIVATE WINDOW[[< имя1>]

[,< имя2>][,… ]] | ALL

[BOTTOM | TOP | SAME][NOSHOW]

Данная команда выводит на дисплей и активирует ранее определенное пользователем окно или окна. Активация окна означает направление всего экранного вывода на данное окно.

Окна пользователя создаются и определяются командой DEFINE WINDOW. При определении окон их имена добавляются к нижней части всплывающего меню WINDOW. Окно, определенное первым, будет находиться в вершине этого списка, а далее будут следовать остальные окна в порядке их определения. При наличии более чем одного окна деактивация текущего окна вывода вызовет его удаление с экрана с перенаправлением вывода на окно, которое было активировано до него. Если окна вывода активны, то вывод происходит на экран.

BROWSE Полноэкранное редактирование базы данных Формат: BROWSE

[FIELDS < список_полей>]

[FORMAT]

[FREEZE < поле>]

[LAST]

[NOAPPEND]

[NOCLEAR]

[NODELETE]

[NOEDIT | NOMODIFY]

[NOFOLLOW]

[NOMENU]

[NORMAL]

[NOWAIT]

[PREFERENCE=< выражC>]

[SAVE]

[WIDTH < выражN>]

[WINDOW < имя>]

BROWSE — используется для открытия окна и вывода на дисплей записей базы данных. При этом можно редактировать записи и добавлять новые. Одновременно может быть открыто до 10 окон BROWSE (по одному на каждую рабочую область

В окне BROWSE можно редактировать поля памяти типа memo.

Для этого нужно выбрать такое поле и нажать Ctrl-PgDn. Для выхода из редактирования поля памяти с сохранением внесенных изменений нажмите Ctrl-W или кнопку мыши на поле закрытия команды. Команда BROWSE поддерживает многочисленные опции.

DEACTIVATE MENU

Команда DEACTIVATE MENU удаляет активное меню с экрана, но не из памяти. Одновременно активным может являться только одно меню, поэтому указывать имя меню нет необходимости. Меню можно повторно активировать командой ACTIVATE MENU с именем меню.

Для освобождения конкретного меню из памяти следует дать команду RELEASE MENUS с именем меню. Команды CLEAR ALL и CLEAR MENUS позволяют освободить из памяти все меню.

Команда DEACTIVATE MENUS выполняется только из программных файлов. Управление программой затем возвращается в строку программы, непосредственно после строки, активировавшей меню. Из командного окна команда DEACTIVATE MENU не действует.

DEACTIVATE POPUP Деактивация всплывающего меню и удаление его с экрана Формат: DEACTIVATE POPUP Команда DEACTIVATE POPUP удаляет активное всплывающее меню с экрана или из окна, оставляя его в памяти. Одновременно может быть активным только одно всплывающее меню, поэтому задавать его имя нет необходимости. Для повторной активации всплывающего меню следует дать команду ACTIVATE POPUP с именем всплывающего меню.

Для освобождения конкретного всплывающего меню из памяти следует дать команду RELEASE MENUS с именем меню. Команды CLEAR POPUPS и CLEAR ALL позволяют освободить из памяти все всплывающие меню.

Команда DEACTIVATE POPUP выполняется только из программных файлов. Управление программой затем возвращается в строку про граммы, непосредственно после строки, активировавшей всплывающее меню. Из командного окна команда DEACTIVATE POPUP не действует.

DEACTIVATE WINDOW

Деактивация окон и удаление их с экрана

Формат: DEACTIVATE WINDOW < имя1>[,<имя2>]

[,…] | ALL

Команда DEACTIVATE WINDOW деактивирует активное окно или набор активных окон и удаляет их с экрана. Окно или окна при этом не удаляются из памяти и могут быть снова вызваны на дисплей при помощи команд ACTIVATE WINDOW или SHOW WINDOW.

На экране одновременно может находиться более одного окна, но вывод может быть направлен только на окно, активированное последним. При наличии более чем одного окна деактивация текущего окна вывода удалит его с экрана и перенаправит последующий вывод на окно, которое было активировано перед этим. Если окна вывода не существует, вывод направляется на экран.

Активные окна могут быть удалены с экрана и из памяти командами CLEAR WINDOWS или RELEASE WINDOWS.

DEFINE BAR Определение опции всплывающего меню формат: DEFINE BAR < выраж N> OF < имя> PROMPT < выраж C1>

[MESSAGE < выражC2>][SKIP[FOR<выражL>]]

Команда DEFINE BAR добавляет опцию всплывающего меню. DEFINE BAR используется совместно с командами DEFINE POPUP и ACTIVATE POPUP для создания всплывающего меню и вывода его на экран. Прежде чем можно будет пользоваться командой DEFINE BAR, необходимо определить само всплывающее меню командой DEFINE POPUP.

DEFINE MENU Создание линейки меню формат: DEFINE MENU < имя>[MESSAGE<выражC>]Команда DEFINE MENU создает линейку меню и назначает ей имя. После того, как линейка меню определена, вы можете при помощи команды DEFINE PAD определять элементы линейки меню.

DEFINE PAD Определение элемента линейки меню формат: DEFINE PAD < имя> OF < имя_меню> PROMPT < выражC1> [AT < строка>,<столбец>] [MESSAGE< выражC2>]Команда DEFINE PAD служит для помещения в линейку меню элементов меню. Эта команда используется совместно с командой DEFINE MENU, обычно при создании системы меню. Перемещения между элементами линейки меню выполняются при помощи клавиш управления курсором или мыши.

ON SELECTION PAD Назначает подпрограмму на поле меню.

Формат: ON SELECTION PAD < имя поля >

OF < имя меню > [ < команда > ]

Команда ON SELECTION PAD назначает подпрограмму на поле меню.

Подпрограмма, которая будет выполняться при выборе поля меню, может быть командой, программой или процедурой.

ACTIVATE MENU Вывод на дисплей и активация линейки меню формат: ACTIVATE MENU < имя1> [PAD < имя2>]Данная команда работает в сочетании с командами DEFINE MENU и DEFINE PAD. Две эти команды определяют линейку меню, которая может располагаться на экране горизонтально или вертикально.

Команда ACTIVATE MENU вызывает на экран или в окно ранее определенную линейку меню, помеченную как < имя1>, и активирует ее для использования.

CLEAR MENUS освобождает все меню из памяти, а также с экрана или из окон.

PROCEDURE. Определяет начало подпрограммы Формат: PROCEDURE < имя > Во многих программах некоторые подпрограммы часто повторяются.

Для уменьшения размера и сложности программ определите эти общеупотребительные подпрограммы как процедуры. Здесь мы будем называть эти процедуры подпрограммами.

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

SCATTER

Перемещение данных из отдельной записи базы данных в массив или множество переменных памяти

Формат: SCATTER [ FIELDS < field_list> ]

TO < array> | MEMVAR | BLANK

Команда SCATTER перемещает данные из текущей записи базы данных в массив переменных памяти или в множество переменных памяти. Этот массив или переменные памяти могут быть отредактированы, и запись может получить новое содержимое из 35-го отредактированного массива переменных памяти или из множества переменных памяти. Команда GATHER запускает перемещение информации из массивов или из переменных памяти в записи базы данных. 1]

база данный заработок продукция

4. Инфологический подход к проектированию информационных систем

База данных — это некоторая целевая модель предметной области, т. е. в БД находят отражения только те факты о ПО, которые необходимо для функционирования автоматизированных систем, в состав которой входит БнД. При проектировании БД проектировщик должен выделить и описать эти ожидаемые факты, тем самым будет очерчена граница предметной области банка данных, затем необходимо выполнить интерпретацию описаний этих фактов с помощью допустимых конкретной СУБД структур данных.

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

Сущность инфологического подхода к проектированию информационных систем заключается в установлении соответствия между состоянием предметной области, его восприятием и представлением в базе данных. Согласно инфологическому подходу при проектировании необходимо различать: 1) явления реального мира; 2) информацию об этих явлениях; 3) представление этой информации посредством данных.

Задача инфологического этапа проектирования базы данных — получение семантических (смысловых) моделей, отражающих информационное содержание конкретной ПО.

В инфологическом подходе выделены следующие три сферы: 1) реальный мир или объектная система; 2) информационная сфера; 3) даталогическая сфера.

Объектная система имеет следующие основные составляющие: объект, свойство, связь (или объектное отношение), время. Объект в инфологическом подходе — это то, о чем должна накапливаться информация в информационной системе. Выбор объектов производится в соответствии с целевым назначением информационной системы.

Каждый объект в конкретный момент времени характеризуется определенным состоянием. Это состояние описывается с помощью ограниченного набора свойств и связей (отношений) с другими объектами.

Свойства объекта могут не зависеть от его связей (объектных отношений) с другими объектами, т. е. являются локальными. Если свойства объектов зависят от связей с другими объектами, то называются реляционными. 4]

Цель инфологического моделирования — создать точное и полное отображение реального мира, используемое в дальнейшим в качестве источника информации для построения БД.

Для инфологической модели используют как аналитические, так и графические способы ее представления. 2]

5. Разработка датологической модели

Модель данных логического уровня, поддерживаемую средствами СУБД, называют датологической моделью. Эта модель представляет собой отображение логических связей между элементами данных безотносительно к их содержанию и среде хранения. Датологическая модель строится с учетом ограничений конкретной СУБД.

При построение датологической модели учитываются особенности отображаемой предметной области. БД предполагает интегрированное и взаимосвязанное хранение данных, поэтому для проектирования датологической модели необходимо иметь соответствующее описание предметной области. Описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства, называется инфологической моделью предметной области. Иногда к инфологической модели относят и описание характера информационных потребностей пользователей. [2]

Инфологическая модель предметной области является исходной по отношению к датологической модели БД.

Для привязывания датологической модели в среде хранения данных используется модель данных физического уровня. Эта модель определяет используемое запоминающее устройство, способ представления данных в среде хранения. Модель физического уровня строится также с учетом возможности предоставленных СУБД. [4]

7. Инфологическая модель данных

Датологическая модель

1 БД —DET-ДЕТАЛЬ

имя

тип

размерность

комментарий

TAB

DATE

SHIFR

VIRAB

NAME

CENA

N

D

N

N

C

N

3

8

3

2

10

5

ТАБЕЛЬНЫЙ НОМЕР РАБОЧЕГО

ДАТА

ШИФР ДЕТАЛИ

ВЫРАБОТКА

НАИМЕНОВАНИЕ

ЦЕНА ДЕТАЛИ

2 БД— RAB-РАБОЧИЙ

имя

тип

размерность

комментарий

ТАВ

FIO

VIRAB

NAL

DETI

NACHIS

N

C

N

N

N

N

3

25

2

5

2

5

ТАБЕЛЬНЫЙ НОМЕ РАБОЧЕГО

ФИО РАБОЧЕГО

ВЫРАБОТКА

НАЛОГ

КОЛИЧЕСТВО ДЕТЕЙ

СУММА НАЧИСЛЕНИЯ

3 БД —NAL-НАЛОГ

имя

тип

размерность

комментарий

PODOH

MED

B. NAL

N

N

N

3

3

3

ПОДОХОДНЫЙ НАЛОГ

МЕДИЦИНСКИЙ НАЛОГ

НАЛОГ ЗА БЕЗДЕТНОСТЬ

4 БД —NACHIS-НАЧИСЛЕНИЕ

имя

тип

размерность

комментарий

ТАВ

MES

CHISLO

N

C

N

3

8

2

ТАБЕЛЬНЫЙ НОМЕР РАБОЧЕГО

МЕСЯЦ НАЧИСЛЕНИЯ

ЧИСЛО НАЧИСЛЕНИЯ

Текст программы

**Программа осуществляет вывод титульного листа в окне.

*******************************************************

** PROCEDURE AR_PRG

clear

ACTIVATE WINDOW AR

HIDE MENU menu0

set curs off

@ 1,13 say 'ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ'

@ 3,3 say 'The program was executed by the student of the 3-rd rate'

@ 4,11 say 'Факультет информационных систем'

@ 5,9 say 'Специальность информационные системы в экономике '

@ 6,23 say ' 3912 группа'

@ 7,18 say 'Абдуллаева Эльнара'

@ 11,26 say 'WARNING!' COLOR g+/r

@ 12,10 say 'Coping of givenned program is PROSHIBITED' COLOR b/r

read

set curs on

DEACTIVATE WINDOW AR

SHOW MENU menu0

return

****************************************

КУРСОВАЯ

*Определение объемов зароботка и выпуска продукции

*Структура БД AUDI: дата, шифр детали, выработка,

*наименование, расценка (за1 деталь),

*Структура БД AUDI2: табельный номер, фамилия, выработка,

*налог, к-во детей, начисленно

*Форма документов:

*Ведомость

set date german

set talk off

set deleted on

set escape on

set help on

set near on

clear macros

close data

on key

clear

use c: arsenaudi. dbf

define menu manu shad

DEFINE PAD zagr OF manu PROMPT '< ЗАГРУЗИТЬ'

DEFINE PAD dan OF manu PROMPT '< ДАННЫЕ'

DEFINE PAD poisk OF manu PROMPT '< ПОИСК'

DEFINE PAD print OF manu PROMPT '< ПЕЧАТЬ'

DEFINE PAD konec OF manu PROMPT '< ВЫХОД'

ON PAD zagr OF manu ACTIVATE POPUP zagry

ON PAD dan OF manu ACTIVATE POPUP dann

ON PAD poisk OF manu ACTIVATE POPUP poiski

ON SELECTION PAD print OF manu DO printe

ON SELECTION PAD konec OF manu CANCEL

DEFINE POPUP zagry

DEFINE BAR 1 OF zagry PROMPT'< ВЕДОМОСТЬ по З/П'

DEFINE BAR 2 OF zagry PROMPT'< ВЫПУСК ДЕТАЛЕЙ'

*DEFINE BAR 3 OF zagry PROMPT'< ОТКРЫТИЕ ФАЙЛА'

ON BAR 1 OF zagry ACTIVATE POPUP mes

ON BAR 2 OF zagry DO period

* ON BAR 3 OF zagry DO

DEFINE POPUP dann SHAD

DEFINE BAR 1 OF dann PROMPT'< ДОПОЛНЕНИЕ’KEY Ctrl+N,'^N'

DEFINE BAR 2 OF dann PROMPT'< КОРРЕКЦИЯ '

DEFINE BAR 3 OF dann PROMPT'< УДАЛЕНИЕ’KEY Ctrl+T,'^T'

*DEFINE BAR 4 OF dann PROMPT'< СОХРАНЕНИЕ'

*DEFINE BAR 5 OF dann PROMPT'< ОЧИСТКА БД'

ON BAR 1 OF dann DO dopol

ON BAR 2 OF dann ACTIVATE POPUP korek

ON BAR 3 OF dann DO deleted

* ON BAR 4 OF dann DO

* ON BAR 5 OF dann DO

define window poisk shado from 8,45 to 10,73 title’Укажите ключ’zoom grow float system close color schem (2)

define window wipysk shado from 6,2 to 10,77 title’Выпуск деталей’zoom grow float system close color schem (3)

set window of memo to wipysk

define window f1 shado from 1,1 to 12,50 title’Выход-любая клавиша’zoom grow float system close color schem (3)

define popup poisk from 5,14 title’Выбор критерия поиска’key F3 shadow

define bar 1 of poisk prompt’По таб номеру'

define bar 2 of poisk prompt’По дате'

define bar 3 of poisk prompt’По шифру детали'

define bar 4 of poisk prompt’По выработке'

define bar 5 of poisk prompt’По ФИО'

define bar 6 of poisk prompt’По наименованию'

define bar 7 of poisk prompt’По расценке'

on selection popup poisk do poisk

ACTIVATE menu manu

DEFINE POPUP mes SHAD

DEFINE BAR 1 OF mes PROMPT'< ЯНВАРЬ '

DEFINE BAR 2 OF mes PROMPT'< ФЕВРАЛЬ '

DEFINE BAR 3 OF mes PROMPT'< МАРТ '

DEFINE BAR 4 OF mes PROMPT'< АПРЕЛЬ '

DEFINE BAR 5 OF mes PROMPT'< МАЙ '

DEFINE BAR 6 OF mes PROMPT'< ИЮНЬ '

DEFINE BAR 7 OF mes PROMPT'< ИЮЛЬ '

DEFINE BAR 8 OF mes PROMPT'< АВГУСТ '

DEFINE BAR 9 OF mes PROMPT'< СЕНТЯБРЬ '

DEFINE BAR 10 OF mes PROMPT'< ОКТЯБРЬ '

DEFINE BAR 11 OF mes PROMPT'< НОЯБРЬ '

DEFINE BAR 12 OF mes PROMPT'< ДЕКАБРЬ '

ON SELECTION POPUP mes DO mes1

PROCEDURE mes1

*PUSH KEY CLEAR

* nt=RECNO ()

* str =' '

DO CASE

CASE PROMPT ()='ЯНВАРЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=01 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='ФЕВРАЛЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=02 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='МАРТ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=03 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='АПРЕЛЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=04 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='МАЙ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=05 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='ИЮНЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=06 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='ИЮЛЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=07 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='АВГУСТ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=08 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='СЕТЯБРЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=09 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='ОКТЯБРЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=10 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='НОЯБРЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=11 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

CASE PROMPT ()='ДЕКАБРЬ '

m=PROMPT ()

DEFINE WINDOW mes2 FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW mes2

FOR CMONTH (DATE ())=12 TO;

BROWSE TITLE 'ВЕДОМОСТЬ ЗА m МЕСЯЦ';

FIELD TAB: H='ТАБ', FIO: H='ФАМИЛИИ', NACH: ='НАЧИСЛЕННО'

ENDFOR

DEACTIVATE WINDOW mes2

PROCEDURE period

STORE {} TO n, k

DEFINE WINDOW per FROM 2,1 TO 20,73 GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW per

@ 1,1 SAY 'С КАКОГО' GET n PICTURE ''

@ 1,2 SAY 'ПО КАКОУ' GET k PICTURE ''

USE AUDI

???SCAN FOR BETWEEN (n k)

ENDSCAN

BROWSE TITLE 'ВЫПУСК ДЕТАЛЕЙ ЗА ПЕРИОД С n ПО k';

FIELD NAME: H='НАИМЕНОВАНИЕ', K-VO: H='КОЛИЧЕСТВО'

*DEFINE POPUP dann SHAD

DEFINE BAR 1 OF dann PROMPT'< ДОПОЛНЕНИЕ’KEY Ctrl+N,'^N'

DEFINE BAR 2 OF dann PROMPT'< КОРРЕКЦИЯ '

DEFINE BAR 3 OF dann PROMPT'< УДАЛЕНИЕ’KEY Ctrl+T,'^T'

DEFINE BAR 4 OF dann PROMPT'< СОХРАНЕНИЕ'

DEFINE BAR 5 OF dann PROMPT'< ОЧИСТКА БД'

ON BAR 1 OF dann DO dopol

ON BAR 2 OF dann ACTIVATE POPUP

ON BAR 3 OF dann DO deleted

ON BAR 4 OF dann DO

ON BAR 5 OF dann DO

ACTIVATE POPUP dann

PROCEDURE dopol

DEFINE WINDOW dop FROM 10,10 TO 40,40 TITLE’ДОПОЛНЕНИЕ ' GROW FLOAT MINIM SYSTE ZOOM COLOR SCHEM 20

ACTIVATE WINDOW dop

CHANGE

DEACTIVATE WINDOW dop

define window poisk shado from 8,45 to 10,73 title’Укажите ключ’zoom grow float system close color schem (2)

define window wipysk shado from 6,2 to 10,77 title’Выпуск деталей’zoom grow float system close color schem (3)

set window of memo to wipysk

define window f1 shado from 1,1 to 12,50 title’Выход-любая клавиша’zoom grow float system close color schem (3)

define popup poisk from 5,14 title’Выбор критерия поиска’key F3 shadow

define bar1 of poisk prompt’По таб номеру'

define bar2 of poisk prompt’По дате'

define bar3 of poisk prompt’По шифру детали'

define bar4 of poisk prompt’По выработке'

define bar5 of poisk prompt’По ФИО'

define bar6 of poisk prompt’По наименованию'

define bar7 of poisk prompt’По расценке'

on selection popup poisk do poisk

on key label ctrl+p do prin

on key label ctrl+PgUp go top

on key label ctrl+PgDn go bottom

on key label ctrl+w do config

on key label f7 do f7

on key label f1 do f1

wait window 'Загр. окно: '+chr (13)+'в станд. виде-Esc'+chr (13)+'в предыд. виде-любая клав. '

if lastkey ()=27

set resource off

store'' to s, ns

else

set resource on

s='^w-сохр'

ns='^q-не сохр'

endif

*z='F3-поискn-доп. ^t-удал ^p-печать^pgup-^pgdn-'

PROCEDURE poisk

PUSH KEY CLEAR

n=RECNO ()

srt=''

DO CASE

CASE PROMPT ()='По ФИО'

SET ORDER TO FIO

ACTIVATE WINDO poisk

@ 1,1 SAY 'ВВЕДИТЕ ФАМИЛИЮ' GET a PICTURE '@!'DEFAU SPACE (20)

READ

a=ALLTRIM (a)

d=a

srt='ПОИСК ПО ФАМИЛИИ'

CASE PROMPT ()='По таб номеру'

SET ORDER TO TAB

ACTIVATE WINDO poisk

@ 1,1 SAY 'ВВЕДИТЕ ТАБ N°' GET a PICTURE '999'DEFAU 0

READ

d=srt (a, 3)

srt='ПОИСК ПО ТАБЕЛЮ'

CASE PROMPT ()='По дате'

SET ORDER TO DATE

ACTIVATE WINDO poisk

a={}

@ 1,1 SAY 'ВВЕДИТЕ ТАБ N°' GET a PICTURE ''

READ

??? d=

srt='ПОИСК ПО ДАТЕ'

CASE PROMPT ()='По шифру детали'

SET ORDER TO SHRIF

ACTIVATE WINDO poisk

@ 1,1 SAY 'ВВЕДИТЕ N° ДЕТАЛИ' GET a PICTURE '999'DEFAU 0

READ

??? d=srt (a, 3)

srt='ПОИСК ПО ШРИФТУ'

CASE PROMPT ()='По выработке'

SET ORDER TO VIRAB

ACTIVATE WINDO poisk

@ 1,1 SAY 'ВВЕДИТЕ N° ДЕТАЛИ' GET a PICTURE '999'DEFAU 0

READ

??? d=srt (a, 3)

srt='ПОИСК ПО ШРИФТУ'

ACTIVATE MENU manu

**---------Программа POISK. PRG---------

**Программа осуществляет возможность поиска. В случае удачи запись выводится программой

**PRIN в дополнительном окне, иначе выводится сообщение об

**не удачном поиске.

set talk off

clear

sem2=space (10)

***********************************

DEFINE WINDOW PSK1 from 10,12 to 14,66 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

DEFINE WINDOW PSK2 from 5,18 to 14,64 DOUBLE CLOSE SHADOW color g+/n TITLE 'RESULT OF SEARCH '

************************************

ACTIVATE WINDOW PSK1

fio2=" «

@ 1,1 say 'Введите, пожалуйста, фамилию ' get fio2

read

DEACTIVATE WINDOW PSK1

*DO TRANSLATION_OF_SURNAMES

locate for fio=fio2

if fio< >fio2

clear

set cursor off

ACTIVATE WINDOW PSK2

@ 3,0 say «В БАЗЕ ДАННЫХ ТАКАЯ ФАМИЛИЯ» color w+/n

@ 3,29 say «ОТСУТСВУЕТ» color w+*/n

read

set cursor on

DEACTIVATE WINDOW PSK2

else

clear

DEFINE WINDOW PSK1 FROM 14,1 TO 23,78 color scheme 5

ACTIVATE WINDOW PSK2

SET CURSOR OFF

DO SEMP

proce SEMP

@ 0,0 say «Табельный номер: ¦"+padl (tab, 18)

@ 1,0 say «Фамилия Имя Отчество: ¦"+padl (fio, 18)

@ 2,0 say «Дата рождения: ¦"+padl (gr, 18)

*@ 3,0 say «Семейное положение: ¦"+padl (sem2,18)

@ 3,0 say «Количество детей: ¦"+padl (deti, 18)

@ 4,0 say «Размер оклада: ¦"+padl (oklad, 18)+» $"

@ 5,0 say «Занимаемая должность: ¦"+padl (dol, 18)

@ 6,0 say «Удерживаемый налог: ¦"+padl (b. nal, 18)+» $"

read

SET CURSOR ON

DEACTIVATE WINDOW PSK2

endif

**************************************

*PROCEDURE TRANSLATION_OF_SURNAMES

*DO CASE

* CASE fio2="Абакарова Р. «

* fio2="Abukarova R. «

* CASE fio2="Абдулаева Э. «

* fio2="Abdulaeva E. «

* OTHERWISE fio2

*ENDCASE

*RETURN

****************************************

set talk off

clear

sem2=space (10)

***********************************

DEFINE WINDOW PSK1 from 10,19 to 14,60 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' ВВЕДИТЕ ТАБ НОМЕР ДЛЯ ПОИСКА'

DEFINE WINDOW PSK2 from 5,18 to 14,64 DOUBLE CLOSE SHADOW color g+/n TITLE 'RESULT OF SEARCH '

************************************

ACTIVATE WINDOW PSK1

tab2='00'

@ 1,1 say 'Введите, пожалуйста, табельный номер ' get tab2

read

DEACTIVATE WINDOW PSK1

SEEK tab2

if found ()

*locate for tab=tab2

*if tab< >tab2

clear

DEFINE WINDOW PSK1 FROM 14,1 TO 23,78 color scheme 5

ACTIVATE WINDOW PSK2

DO SEMP

proce SEMP

@ 0,0 say «Табельный номер: ¦"+padl (tab, 18)

@ 1,0 say «Фамилия Имя Отчество: ¦"+padl (fio, 18)

@ 2,0 say «Дата рождения: ¦"+padl (gr, 18)

*@ 3,0 say «Семейное положение: ¦"+padl (sem, 1)

@ 3,0 say «Количество детей: ¦"+padl (deti, 18)

@ 4,0 say «Размер оклада: ¦"+padl (oklad, 18)+» $"

@ 5,0 say «Занимаемая должность: ¦"+padl (dol, 18)

@ 6,0 say «Удерживаемый налог: ¦"+padl (b. nal, 18)+» $"

read

DEACTIVATE WINDOW PSK2

else

ACTIVATE WINDOW PSK2

set cursor off

@ 3,3 say «В БАЗЕ ДАННЫХ ТАКОЙ ТАБЕЛЬНЫЙ НОМЕР» color w+/n

@ 4,15 say «ОТСУТСВУЕТ» color w+*/n

read

set cursor on

DEACTIVATE WINDOW PSK2

endif

RETURN

**---------Программа FLT_FIO---------**

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,61 CLOSE SHADOW color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kluch=space (10)

@ 0,1 say 'Введите, пожалуйста, ключ фильтрации:' get kluch

read

DEACTIVATE WINDOW FLT1

kluch=ALLTRIM (kluch)

DO ZAMENA

SET FILTER TO fio=kluch

*************************************

activate window WIW

Browse & &fields tab: h='Taбельный номер: ', fio: h='Фамилия, Имя, Отчество: ', gr: h='Год рождения: ', sm=IIF (sem='Н','not married', IIF (sem='Б','married','divorced')): h='Семейное положение: ', deti: h='Количество детей: ', oklad: h='Оклад: ', zar: h='Заработная плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

deactivate window WIW

RETURN

**********************************************

PROCEDURE ZAMENA

k=' '

k=SUBSTR (kluch, 1,1)

DO CASE

CASE k="a" k="A"

CASE k="b" k="B"

CASE k="c" k="C"

CASE k="d" k="D"

CASE k="e" k="E"

CASE k="f" k="F"

CASE k="g" k="G"

CASE k="h" k="H"

CASE k="i" k="I"

CASE k="j" k="J"

CASE k="k" k="K"

CASE k="l" k="L"

CASE k="m" k="M"

CASE k="n" k="N"

CASE k="o" k="O"

CASE k="p" k="P"

CASE k="q" k="Q"

CASE k="r" k="R"

CASE k="s" k="S"

CASE k="t" k="T"

CASE k="u" k="U"

CASE k="v" k="V"

CASE k="w" k="W"

CASE k="x" k="X"

CASE k="y" k="Y"

CASE k="z" k="Z"

OTHERWISE k

ENDCASE

kluch=STUFF (kluch, 1,1,k)

RETURN

**********************************************

**---------Программа FLT_OKL1 ---------**

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,64 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kl=000. 0

@ 0,1 say 'Введите, пожалуйста, ключ фильтрации:' get kl

read

DEACTIVATE WINDOW FLT1

SET FILTER TO oklad=kl

*************************************

activate window WIW

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', gr: h='Год рождения: ', sem: h='Сем пол: ', deti: h='Дети: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

deactivate window WIW

RETURN

**---------Программа FLT_OKL2 ---------**

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,64 DOUBLE CLOSE SHADOW color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kl=000. 0

@ 0,1 say 'Введите, пожалуйста, ключ фильтрации:' get kl

read

DEACTIVATE WINDOW FLT1

SET FILTER TO oklad> =kl

*************************************

activate window WIW

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', gr: h='Год рождения: ', sem: h='Сем пол: ', deti: h='Дети: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

deactivate window WIW

RETURN

**********************************************

**---------Программа FLT_OKL3 ---------**

set talk off

clear

***********************************

DEFINE WINDOW FLT1 from 10,12 to 12,64 DOUBLE CLOSE SHADOW;

color scheme 5 TITLE ' INPUT DATE FOR SEARCH '

************************************

ACTIVATE WINDOW FLT1

kl=000. 0

@ 0,1 say 'Введите, пожалуйста, ключ фильтрации:' get kl

read

DEACTIVATE WINDOW FLT1

SET FILTER TO oklad< =kl

*************************************

activate window WIW

Browse;

fields;

tab: h='Taбельный номер: ',;

fio: h='Фамилия, Имя, Отчество: ',;

gr: h='Год рождения: ',;

sm=IIF (sem='Н','not married', IIF (sem='Б','married','divorced'));

: h='Семейное положение: ',;

deti: h='Количество детей: ',;

oklad: h='Оклад: ',;

zar: h='Заработная плата: ',;

dol: h='Должность: ',;

b. nal: h='Налог за бездетность: ';

redit in window WIW partition 12 lpartition;

nomenu nomodify nodelete noappend

deactivate window WIW

RETURN

**********************************************

set talk off

clear

*DEFINE POPUP mform FROM 1,30 SHADOW

*DEFINE BAR 1 OF mform PROMPT 'Ведомость по з/п';

* message 'Просмотр Базы Данных на членов бригады' COLOR, w+/r

*DEFINE BAR 2 OF mform PROMPT 'Выпуск продукции';

* message 'Ввод новой записи' COLOR, w+/r

*DEFINE BAR 3 OF mform PROMPT 'Отчет'; *

* message 'Вывод Базы Данных на членов бригады в файл «brig. dbf"' COLOR, w+/r

ON SELECTION BAR 1 OF mform DO z. p

ON SELECTION BAR 2 OF mform DO vira

ON SELECTION BAR 3 OF mdann DO otch

*acti popup mform

procedure z. p

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

return

procedure vira

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

return

procedure

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

set talk off

set date GERMAN

clear

clear macros

set clock on

USE BRIG508 IN A INDEX brig508. idx & &audi2. dbf IN A INDEX audi2. cdx

USE NAL508 IN B INDEX nal508. idx & &audi. dbf IN b INDEX audi. idx

*USE audimes IN c INDEX audimes. idx

*USE audinal IN d INDEX audinal. idx

REINDEX

SELECT A

SET RELATION TO TAB INTO B

*SET RELATION TO n_mes INTO C

*SET RELATION TO TAB INTO D

z_min=83

*obl=a. nachis-(z_min*a. deti)

* REPLACE nal WITH d. podh+d. pf+d. med+d. det,;

* nachis WITH nach*(c. chislo-progul),;

* zarp WITH nachis-nal,;

dimen a (10)

DEFINE WINDOW WW from 3,5 to 16,73 SHADOW color scheme 5 TITLE ' Окно ввода '

DEFINE WINDOW WIW from 3,5 to 14,73 SHADOW color scheme 7 TITLE ' Окно вывода '

DEFINE WINDOW AR from 3,8 to 17,70 CLOSE SHADOW color scheme 7 TITLE ' About Programm '

DEFINE WINDOW MAIN FROM 0,0 TO 24,79 TITLE ' WITH DATABASES ' NOCLOSE FILL '-' COLOR bg/n

** Определение главного BAR-меню MENU0 ****

define MENU menu0 SHADOW color

DEFINE PAD dann OF menu0 PROMPT 'ДАННЫЕ'

DEFINE PAD deistv OF menu0 PROMPT 'ДЕЙСТВИЯ'

DEFINE PAD form OF menu0 PROMPT 'ФОРМЫ'

DEFINE PAD poi OF menu0 PROMPT 'СЕРВИС'

DEFINE PAD vihod OF menu0 PROMPT 'ВЫХОД'

ON SELECTION PAD dann OF menu0 ACTIVATE POPUP mdann

ON SELECTION PAD deistv OF menu0 ACTIVATE POPUP mdeistv

ON SELECTION PAD vihod OF menu0 ACTIVATE POPUP mvihod

ON SELECTION PAD form OF menu0 ACTIVATE POPUP mform

ON SELECTION PAD poi OF menu0 ACTIVATE POPUP mpoisk

DEFINE POPUP mdann FROM 1,0 SHADOW

DEFINE BAR 1 OF mdann PROMPT 'Посмотр данных';

message 'Просмотр Базы Данных на членов бригады' COLOR, w+/r

DEFINE BAR 2 OF mdann PROMPT 'Ввод данных';

message 'Ввод новой записи' COLOR, w+/r

DEFINE BAR 3 OF mdann PROMPT 'Вывод данных в файл';

message 'Вывод Базы Данных на членов бригады в файл «brig. dbf"' COLOR, w+/r

ON SELECTION BAR 1 OF mdann DO BR

ON SELECTION BAR 2 OF mdann DO WWOD with 1

ON SELECTION BAR 3 OF mdann DO CREATF

***********************************

DEFINE POPUP mpoisk FROM 2,33 SHADOW

DEFINE BAR 1 OF mpoisk PROMPT 'По номеру';

message 'Поиск члена бригады по табельному номеру' COLOR, w+/r

DEFINE BAR 2 OF mpoisk PROMPT 'По фамилии';

message 'Поиск члена бригады по фамилии' COLOR, w+/r

ON SELECTION BAR 1 OF mpoisk DO poisk_n. prg

ON SELECTION BAR 2 OF mpoisk DO poisk_f. prg

**************************************

DEFINE POPUP mfiltr FROM 3,33 SHADOW

DEFINE BAR 1 OF mfiltr PROMPT 'По фамилии';

message 'Фильтрация базы данных по фамилии' COLOR, w+/r

DEFINE BAR 2 OF mfiltr PROMPT 'По окладу _';

message 'Фильтрация базы данных по окладу' COLOR, w+/r

ON SELECTION BAR 1 OF mfiltr DO flt_fio. prg

ON SELECTION BAR 2 OF mfiltr ACTIVATE POPUP mflt2

**************************************

DEFINE POPUP mdeistv FROM 1,9 SHADOW

DEFINE BAR 1 OF mdeistv PROMPT 'Поиск данных _';

message 'Поиск записи на члена бригады' COLOR, w+/r

DEFINE BAR 2 OF mdeistv PROMPT 'Фильтрация данных _';

message 'Фильтрация записей в Базе Данных' COLOR, w+/r

DEFINE BAR 3 OF mdeistv PROMPT 'Редактирование данных ';

message 'Редактирование выбранной записи из Базы Данных' COLOR, w+/r

DEFINE BAR 4 OF mdeistv PROMPT 'Печать данных ';

message 'Печать выбранной записи из Базы Данных' COLOR, w+/r

ON SELECTION BAR 1 OF mdeistv ACTIVATE POPUP mpoisk

ON SELECTION BAR 2 OF mdeistv ACTIVATE POPUP mfiltr

ON SELECTION BAR 3 OF mdeistv DO WWOD with 2

ON SELECTION BAR 4 OF mdeistv DO PECHAT. PRG

**************************************

DEFINE POPUP mform FROM 1,20 SHADOW

DEFINE BAR 1 OF mform PROMPT 'Ведомость по з/п';

message 'Просмотр Ведомости по з/п на членов бригады' COLOR, w+/r

DEFINE BAR 2 OF mform PROMPT 'Выпуск продукции';

message 'Просмотр ведомости по выпуску продукции' COLOR, w+/r

DEFINE BAR 3 OF mform PROMPT 'Отчет';

message 'Вывод отчетов по з/п и выпуску продукции ' COLOR, w+/r

ON SELECTION POPUP mform DO form. prg

*acti popup mform

DEFINE POPUP mflt2 FROM 5,47 SHADOW

DEFINE BAR 1 OF mflt2 PROMPT '= заданному окладу';

message 'Вывод списка членов бригады имеющих данный оклад' COLOR, w+/r

DEFINE BAR 2 OF mflt2 PROMPT '>= заданного оклада';

message 'Вывод списка членов бригады имеющих оклад больший чем данный' COLOR, w+/r

DEFINE BAR 3 OF mflt2 PROMPT '<= заданного оклада';

message 'Вывод списка членов бригады имеющих оклад меньший чем данный' COLOR, w+/r

ON SELECTION BAR 1 OF mflt2 DO flt_okl1. prg

ON SELECTION BAR 2 OF mflt2 DO flt_okl2. prg

ON SELECTION BAR 3 OF mflt2 DO flt_okl3. prg

**************************************

DEFINE POPUP mvihod FROM 1,37 SHADOW

DEFINE BAR 1 OF mvihod PROMPT 'Выход в DOS';

message 'Выход в OS DOS' COLOR, w+/r

DEFINE BAR 2 OF mvihod PROMPT 'Выход в FoxPro';

message 'Выход в оболочку FoxPro' COLOR, w+/r

ON SELECTION BAR 1 OF mvihod QUIT

ON SELECTION BAR 2 OF mvihod Do conec

** Основная программа ***

ACTIVATE WINDOW MAIN

ACTIVATE MENU menu0

release window WW, WIW

release MENU menu0

DEACTIVATE WINDOW MAIN

clear

set clock off

cancel

procedure BR

activate window WIW

Browse fields tab: h='Taб номер: ', fio: h='Фамилия: ', gr: h='Год рождения: ', sem: h='Сем пол: ', deti: h='Дети: ', oklad: h='Оклад: ', zar: h='Зар плата: ', dol: h='Должность: ', b. nal: h='Налог за бездетность: ' nomodify nodelete noappend

deactivate window WIW

return

Procedure WWOD

parameter vid

if reccount ()=0

vid=1

endif

if vid=1

a (1)=space (6)

a (2)=space (20)

a (3)={}

a (4)=' '

a (5)=0

a (6)=0

a (7)=space (20)

a (8)='Введите данные о новом сотрудн'

else

do br

scatter FIELDS tab, fio, oklad to a

a (8)='Произведите необходимые преоброзования данных'

endif

do READLN

if a (1)#' '

select a

if vid=1

append blank

endif

gather FROM a FIELDS a. name, kod, predl, cena

select b

if vid=1

append blank

endif

*replace kod with a. kod

replace nal with iif (a. deti=0,a. oklad*0. 02, IIf (a. deti=1,;

a. oklad*0. 01, IIF (a. deti=2,a. oklad*0. 005,0)))

select a

replace zarpl with a. oklad-b. nal

endif

* if lastkey ()≠27

*select a

*dELETE FOR TAB=0

* PACK

* APPEND BLANK

* gather memvar

* SELECT B

* DELETE FOR TAB=0

* PACK

* APPEND BLANK

* * IIF (M. DETI=0,M. OKLAD*0. 02, IIF (M. DETI=1,M. OKLAD*0. 01,;

* IIF (M. DETI=2,M. OKLAD*0. 005, M. OKLAD))),;

* d. podoh WITH

ENDIF

return

**********************************

** Ввод/изменение данных *********

Procedure readln

activate window WW

clear

@ 1,0 say padc (a (8), WCOLS ()) COLOR SCHEME 5

@ 2,4 say 'Код товара: ' get a (1) valid a (1)#' ';

default a (1) message ' Введите шифр товара'

@ 3,4 say 'Наименование товара :' get a (2);

default a (2) valid a (2)#' ';

message ' Введите наимен товара: '

*@ 4,4 say 'Год рождения: ' get a (3) range DATE ()-80*365,DATE ()-16*365;

default a (3) valid a (3)#{};

message ' Введите год рождения члена бригады '

*@ 5,4 say 'Семейное положение: ' get a (4) FUNCTION 'M Б, Н, Р';

default a (4);

message 'Н-не в браке, Р-разведен (а), Б-в браке. Выбор-кл. Пробел'

@ 4,4 say 'Цена: ' get a (5) RANGE 0,15;

default a (5) message ' Введите цену единицы товара '

@ 5,4 say 'Предлогаемое к-во: ' get a (6) valid a (6)#0;

default a (6) message ' Введите значение оклада члена бригады '

*@ 8,4 say 'Должность: ' get a (7);

default a (7) valid a (7)#space (20);

message ' Введите должность члена бригады '

read

deactivate window WW

return

****************************************

Процедура копирования активного файла БД в другой

PROCEDURE CREATF

DEFINE WINDOW mes2 from 10,20 to 12,63 color g+/n

COPY TO audi01

SELECT b

COPY TO audi201

SELECT c

COPY TO audimes01

SELECT d

COPY TO audinal01

SELECT a

USE audi01 IN a

SELECT b

USE audi201

SELECT c

USE audimes01

SELECT d

COPY TO audinal01

JOIN WITH a TO audi FOR kod=a. kod FIELDS kod, a. name, a. predl, a. cena

use sklad01 index sklad01 in a

use pokyp01 index pokyp01 in b

use prodav01 index prodav01

select a

set relation to kod into b

ACTIVATE WINDOW mes2

set cursor off

@ 0,1 say «Output data in file is made»

@ 0,29 say «successfully» color g+*/n

read

set cursor on

DEACTIVATE WINDOW mes2

return

***********************************

** Вывод авторства программы

PROCEDURE AR_PRG

ACTIVATE WINDOW AR

close all

*USE AUDI. DBF

USE C: ARSENAUDI2. DBF in a

USE C: ARSENAUDIMES. DBF in b

sele a

set rela to n_mes into b

Browse fields b. mes: h='месяц'

deti: h='дети'

Список использованной литературы

А. В. Попов. «FoxPro 2. 5/2. 6». 2000 г.

В.Н. Четвериков, Г. И. Ревунков. «Базы и банки данных», 1987 г.

М.И. Евдокимов. «Экономическая информатика». 1996 г.

С.М. Диго. «Проектирование баз данных», 1988 г.

П.С. Безруких. «Бухгалтерский учет». 1989 г.

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