Определение объемов заработка и выпуска продукции
Методика создания автоматизированного банка данных. Построение инфологической и датологической модели данных. Инфологический подход к проектированию информационных систем. Проектирование базы данных для определения объемов заработка и выпуска продукции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 08.02.2012 |
Размер файла | 44,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет: Информационных Систем
Кафедра: Информационные Системы в Экономике
Курсовая работа на тему:
“Определение объемов заработка и выпуска продукции ”
Выполнила: ст-ка 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:\arsen\audi.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 audi_01
SELECT b
COPY TO audi2_01
SELECT c
COPY TO audimes_01
SELECT d
COPY TO audinal_01
SELECT a
USE audi_01 IN a
SELECT b
USE audi2_01
SELECT c
USE audimes_01
SELECT d
COPY TO audinal_01
JOIN WITH a TO audi FOR kod=a.kod FIELDS kod,a.name,a.predl,a.cena
use sklad_01 index sklad_01 in a
use pokyp_01 index pokyp_01 in b
use prodav_01 index prodav_01
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:\ARSEN\AUDI2.DBF in a |
|||||
USE C:\ARSEN\AUDIMES.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г.
Размещено на Allbest.ru
Подобные документы
Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.
курсовая работа [1,4 M], добавлен 14.01.2018Характеристика основных этапов разработок и проектирования базы данных, определение целей ее создания и функциональных особенностей, предметной области и необходимой информации. Требования к инфологической модели. Методы физической организации данных.
курсовая работа [1,7 M], добавлен 22.02.2011Исследование теоретических основ проектирования и разработки баз данных. Выявление функциональных зависимостей, построение инфологической модели. Обзор языковых и программных средств, предназначенных для создания, ведения и совместного использования БД.
курсовая работа [1,5 M], добавлен 22.02.2012Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Разработка проектных решений по созданию подсистемы учета студентов в деканате различных форм и видов обучения, диагностический анализ системы управления. Проектирование информационной базы данных, построение инфологической и датологической модели.
дипломная работа [1,1 M], добавлен 24.06.2011Проектирование базы данных, предназначенной для хранения информации о деканате (сотрудниках, кафедрах, факультетах, специальностях). Анализ запросов на кафедру, выделение основных необходимых записей. Построение инфологической модели приложения.
контрольная работа [85,8 K], добавлен 12.03.2013Общая характеристика инфологической модели информационной системы. Знакомство с особенностями проектирования базы данных "Библиотека", анализ основных этапов. Рассмотрение способов составления запросов по выборке информации из таблиц базы данных.
контрольная работа [831,2 K], добавлен 08.12.2013Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.
курсовая работа [1,7 M], добавлен 10.02.2013Обзор преимуществ и недостатков среды программирования Delphi, ее сравнение с аналогичными продуктами. Разработка инфологической, датологической, модели базы данных. Проектирование структуры программного обеспечения и понятного интерфейса базы данных.
курсовая работа [964,8 K], добавлен 27.09.2014Понятие информации, автоматизированных информационных систем и банка данных. Общая характеристика описательной модели предметной области, концептуальной модели и реляционной модели данных. Анализ принципов построения и этапы проектирования базы данных.
курсовая работа [1,7 M], добавлен 18.01.2012