Разработка приложений базы данных «Командировка»
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Разработка приложений базы данных «Командировка»

 

Калуга 2007


Содержание

 

Введение

1. Исследовательская часть

1.1 Выбор предметной области

1.2 Описание предметной области

1.3 Выбор инструментов и средств программирования

1.4 Проектирование БД

2. Конструкторская часть

2.1 Основные этапы разработки БД и обзор используемых средств

Delphi

3. Технологическая часть

3.1 Руководство пользователя

3.2 Руководство программиста

3.3 Системные и программные требования

Заключение

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

Графические приложения

Листинг




Введение

 

Задачей данного курсовой работы является реализация базы данных на тему «Командировка».

· разработать информационную и инфологическую модели, заданной предметной области;

· выбрать модель данных и разработать концептуальную схему;

· разработать базу данных по выбранной предметной области, содержащую не менее пяти объектов этой предметной области и не менее десяти записей;

· получить доступ к БД средствами Delphi;

· реализовать пользовательский интерфейс;

· создать приложения позволяющие редактировать, сортировать, находить необходимые данные;

· реализовать SQL запросы;

· сформировать отчеты.

 

 



Исследовательская часть

Выбор предметной области

 

При выборе предметной области важным фактором было наличие в данной области всей необходимой информации для создания полноценной БД. Была выбрана предметная область, связанная с созданием БД «Командировка». В данной предметной области было выделено 5 объектов (командировка, работник, денежные средства, детали / инструменты, документы) и выделены их атрибуты.

1. Командировка: номер запроса, цель, дата прибытия, дата отбытия, место назначения, виды выполняемых работ, работники;

2. Работник: номер паспорта, Ф.И.О., должность, телефон, отдел, специализация;

3. Денежные средства: номер запроса, суточные, на проезд, оплата труда, итого;

4. Детали/инструменты: номер запроса, название, количество, стоимость каждой, итого;

5. Документы: номер документа, название, дата подписания, кем подписан.

 

Описание предметной области

 

Положение о служебных командировках.

Общие положения.

1. Служебная командировка – поездка работника по распоряжению работодателя на определенный срок для выполнения служебного поручения вне места постоянной работы. Служебные поездки работников, постоянная работа которых осуществляется в пути или имеет разъездной характер, служебными командировками не признаются. Командировка оформляется выдачей командировочного удостоверения по форме №Т‑10, подписанного директором комплекса по принадлежности. При направлении работника предприятия за пределы РФ наряду с командировочным удостоверением оформляется приказ, утвержденный генеральным или исполнительным директором.

2. Срок командировки определяется директором комплекса, направляющим работника в командировку.

3. Фактическое время пребывания в месте командировки определяется по отметкам в командировочном удостоверении. Если работник командирован в разные населенные пункты, отметки о дне прибытия и дне выбытия делаются в каждом пункте.

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

5. Выбытие работника в командировку и возвращение из нее регистрируется в канцелярии в «Журнале учета работников, выбывающих в командировки из ОАО «Калугапутьмаш»».

Гарантии и компенсации.

6.3а командированным работником сохраняется место постоянной работы (должность) и средний заработок за все рабочие дни, в том числе и за время нахождения в пути. Если работник специально командирован для работы в выходные или праздничные дни, компенсация за работу в эти дни производится в соответствии с действующим законодательством (ст. 149,152ТК РФ). В этом случае работа в выходной день компенсируется предоставлением другого дня отдыха или по согласованию с руководителем предприятия в денежной форме – не менее чем в двойном размере. В случае отъезда в командировку в выходной день по распоряжению администрации, работнику по возвращении из командировки предоставляется другой день отдыха в установленном порядке (по заявлению).

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

Оформление выдачи денежного аванса на командировочные расходы.

8. Перед отъездом командированному работнику выдается денежный аванс в пределах сумм, причитающихся на оплату суточных, проезда и проживания. Нормы суточных и оплаты проживания без документов устанавливаются приказом по ОАО «Калугапутьмаш». Для расчета аванса руководитель соответствующего структурного подразделения на основании командировочного удостоверения составляет смету расходов на каждую командировку, которая согласовывается с бухгалтером по учету подотчетных сумм и включается в общий список на выдачу денежных средств, который утверждается руководителем комплекса по принадлежности, главным бухгалтером и начальником финансового отдела.

По автотранспортному цеху №7 согласно представляемым в установленное время заявкам на направление водителя транспортного средства в командировку, службами указывается точное наименование груза (характер, вес, габариты), место загрузки, разгрузки, маршрут движения, время выезда, лица, сопровождающего груз. Согласно заявке диспетчерская служба цеха выписывает путевой лист и передает в техбюро, где инженер-технолог рассчитывает количество топлива, необходимого для данной поездки. Эти данные передаются в соответствующие службы для включения в общую смету затрат на данную командировку, с последующим включением в список на получение денежного аванса.

9. Выдача аванса на командировочные расходы производится при условии полного отчета работника по ранее выданному авансу.

Документальное оформление отчетов о командировках.

10. В течение 3-х дней по возвращении из командировки работник обязан представить письменный отчет о выполнении служебного задания, утвержденный начальником подразделения и руководителем комплекса, также авансовый отчет по форме №АО-1. К авансовому отчету прикладывается командировочное удостоверение с отметками о выбытии в командировку и прибытии в пункт назначения, выбытии из него и прибытии к месту работы; документ о найме жилого помещения и расходам по проезду, включая плату за пользование постельными принадлежностями. К авансовому отчету работников ОТОВП следует прикладывать копию Акта выполненных работ. Работник бухгалтерии производит проверку авансовых отчетов с точки зрения наличия первичных расчетно-платежных документов и качества их оформления.

Затем руководитель структурного подразделения производит проверку целесообразности расходования денежных средств и результатов командировки. Для оценки качества и полноты выполнения командировочного задания используется информация служебного задания для направления в командировку и отчет о его выполнении. Отчет передается руководителю организации на утверждение. После утверждения авансового отчета бухгалтер производит бухгалтерские записи: списывает подотчетные денежные суммы в установленном порядке.

Суточные.

11. Нормы суточных расходов при направлении работника в командировку в пределах РФ устанавливаются приказом руководителя предприятия. Суммы выплачиваемых суточных, превышающие нормы действующего законодательства (100 руб. в сутки) включаются в совокупный доход работника и подлежат обложению НДФЛ (налог на доходы физических лиц)

Суточные по командировкам за пределы РФ выплачиваются по нормам, установленным действующим законодательством, по курсу установленному ЦБ РФ на дату утверждения авансового отчета руководителем предприятия.

Расходы по найму жилого помещения.

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

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

Согласно ст. 217, НК РФ не подлежат налогообложению НДФЛ суммы компенсации за проживание без документов в размере, установленном действующим законодательством (12 рублей в сутки). Компенсация за проживание сверх указанных размеров подлежит обложению НДФЛ.

При направлении работника в командировку за пределы РФ – расходы на проживание без предоставления оправдательных документов не оплачиваются.

Расходы по проезду.

13. Проезд командированного работника к месту командировки и обратно (кроме тех случаев, когда администрация предоставляет средство передвижения) оплачивается при предоставлении проездных документов, но не свыше:

а) по железной дороге – стоимости проезда в плацкартном (купейном) вагоне,

б) по шоссейным и грунтовым дорогам – стоимости проезда транспортным средством общего пользования (кроме такси),

в) при пользовании воздушным транспортом – возмещается стоимость билета обычного класса.

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

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

14. Если работник не предоставил документы на проезд, то ему может быть возмещена оплата проезда по минимальной стоимости. Основанием для возмещения оплаты проезда будет являться заявление работника о возмещении ему израсходованных средств с указанием даты и времени отправления транспортного средства, его вида и номера, стоимости билета, а также причин утраты документов. На заявлении руководитель предприятия должен написать распоряжение о размерах возмещаемых сумм или о невозмещении. Данное заявление прилагается к авансовому отчету и должно храниться в бухгалтерии предприятия. Возможно оформление приказа руководителя. Эта сумма включается в совокупный доход работника и подлежит обложению НДФЛ.

Оплата телефонных переговоров.

15. Оплата произведенных в командировке телефонных переговоров производится при наличии квитанции с приложением расшифровки конкретных телефонных номеров. Если такой расшифровки нет, то суммы переговоров подлежат обложению НДФЛ.

Однодневные командировки.

16. Если работник может ежедневно возвращаться к месту жительства (однодневные командировки), то суточные по ним выплачиваются согласно действующего приказа по предприятию. Сумма суточных расходов по однодневным командировкам включается в совокупный доход работника и подлежит обложению НДФЛ.

Окончательный расчет с работником за командировку.

17. Остаток денежных средств (если он имеется) работник обязан внести в кассу предприятия не позднее 3‑х дней после прибытия из командировки.

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

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

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

 

Проектирование БД

 

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

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

Выбранная предметная область связанна с созданием БД «Командировка». На подготовительном этапе были выявлены основные объекты и потоки данных ПО, по которым была составлена информационная модель (Приложение 1).

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

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

Т.к. программа разрабатывается на языке Object Paskal, то используется реляционная модель данных. В основе реляционной модели данных лежит понятие отношение. Отношение – это не связь между объектами, это таблица в виде которой в реляционной модели представляются данные. Столбцы таблицы представляют элементы данных, то есть атрибуты. Строки – это записи, называемые кортежами. Значения в столбце выделятся из домена. Домен – это множество значений, которые может принимать некоторый атрибут. Ключ – это столбец, значения которого однозначно идентифицируют строки таблицы. Ключей может быть несколько. Связь между таблицами осуществляется через общие атрибуты. Любое отношение обладает следующими свойствами:

· отсутствуют одинаковые строки,

· порядок строк не существенен,

· все значения имеют атомарный характер, то есть их нельзя разбить на компоненты без потери информации.

Вследствие этого при проектировании связанных таблиц пришлось учитывать необходимость минимальной избыточности, для установления необходимых соответствий между таблицами (Приложение 3).

Для создания таблиц данных использовалась утилита Database Desktop. На этапе проектирования было создано 5 таблиц (Приложение 4).

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

 

 



Конструкторская часть

 

Прежде всего, создается псевдоним будущей базы данных с помощью утилиты BDE Administrator. Все инструментальные средства баз данных Borland – Paradox, dBase, Database Desktop – используют BDE. Все особенности, имеющиеся в Paradox или dBase, «наследуются» BDE, и поэтому этими же особенностями обладает и Delphi.

Утилита конфигурации BDE по умолчанию устанавливается в папку Program Files\Common Files\Borland Shared\BDE и носит имя bdeadmin.exe. После ее запуска на экране появится следующее окно:

 

 

Главное окно программы BDE Administrator состоит из двух основных областей. В левой части при первоначальном запуске активна закладка Databases (Базы данных), на которой отображаются все зарегистрированные в системе псевдонимы баз данных. Справа выводится информация о выбранной в левой части базе данных.

Работа с псевдонимами БД.

Псевдоним (alias) БД – специальное имя базы данных, служащее для обозначения каталога, в котором хранятся таблицы БД.

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

Псевдоним для работы с локальными БД имеет всего три параметра. Для таблиц Paradox можно оставить значения первых двух параметров Default Driver, Enable BCD по умолчанию. Третий параметр Path (Путь) необходимо задать.

Затем необходимо создать таблицы с помощью утилиты Database Desktop (Приложение 4).

Borland Database Desktop доступна в разделе меню Tools / Database Desktop. При разработке новых приложений наиболее удобна база данных Paradox 7. Таблицы Paradox хранят данные в двух файлах:.DB и.MB. В.DB‑файле содержится большинство типов полей таблицы, такие как: строковые, числовые, даты и т.п. В.MB‑файле содержаться части больших полей, таких как Мемо. Для этого типа поля колонка Size определяет, сколько запоминается в.DB‑файле, а остаток сохраняется в.MB‑файле. Т. е. колонка Size ни в коей мере не ограничивает количество данных, которые могут содержаться в поле Мемо. Delphi справляется с проблемой наличия нескольких файлов автоматически. Некоторые типы данных требуют указания размера. Это говорит базе данных о наибольшем объеме данных, который может храниться в поле. Тип данных Number не использует понятия размер поля.

Использование ключей

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

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

Обеспечение связи

Delphi имеет возможность доступа к информации в базе данных, которая поставляется рядом компонентов, известных как наборы данных (DataSets), одним из которых является компонент TTable. Компоненты другого типа, связанные с данными – это компоненты, которые отображают и манипулируют теми данными, которые доступны Delphi. Чтобы обеспечить уровень абстракции для компонентов, которые могут перемещаться по данным и отображать информацию, был разработан компонент связи TdataSource – источник данных. TdataSource также позволяет узнать, изменялись ли данные, и определить, каково состояние набора или источника данных.

Создание интерфейса

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

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

procedure TOsnForma. Rabotnik1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Работник';

Tag:=1;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Работник';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=false;

DenSredstva1. Enabled:=true;

Documenty1. Enabled:=true;

Detali1. Enabled:=true;

end;

 

procedure TOsnForma. DenSredstva1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Денежные средства';

Tag:=2;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Денежные средства';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=true;

DenSredstva1. Enabled:=false;

Documenty1. Enabled:=true;

Detali1. Enabled:=true;

end;

 

procedure TOsnForma. Documenty1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Сопроводительные документы';

Tag:=3;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Сопроводительные документы';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=true;

DenSredstva1. Enabled:=true;

Documenty1. Enabled:=false;

Detali1. Enabled:=true;

end;

 

procedure TOsnForma. Detali1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Детали, инструменты';

Tag:=4;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Детали, инструменты';

Komandirovka1. Enabled:=true;

Rabotnik1. Enabled:=true;

DenSredstva1. Enabled:=true;

Documenty1. Enabled:=true;

Detali1. Enabled:=false;

end;

 

procedure TOsnForma. Komandirovka1Click (Sender: TObject);

begin

OsnTable. Active:=false;

OsnTable. TableName:='Командировка';

Tag:=5;

Redakt;

OsnTable. Active:=true;

OsnForma. Caption:='Командировка';

Komandirovka1. Enabled:=false;

Rabotnik1. Enabled:=true;

DenSredstva1. Enabled:=true;

Documenty1. Enabled:=true;

Detali1. Enabled:=true;

end;

 

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

Редактирование осуществляется следующими процедурами программы

procedure TOsnForma. Redaktioravt1Click (Sender: TObject);

begin

Redakt;

RedForm. ShowModal;

end;

 

procedure TOsnForma. Redakt;

begin

case Tag of

1: with RedForm do begin

Label1. Caption:='Номер документа';

Label2. Caption:='ФИО';

Label3. Caption:='Должность';

Label4. Caption:='Телефон';

Label5. Caption:='Название отдела';

Label6. Caption:='Специализация';

Label7. Visible:=false;

DBEdit1. DataField:='№ документа';

DBEdit2. DataField:='ФИО';

DBEdit3. DataField:='Должность';

DBEdit4. DataField:='Телефон';

DBEdit5. DataField:='Название отдела';

DBEdit6. DataField:='Специализация';

DBEdit7. DataField:='';

DBEdit7. Visible:=false;

DBEdit6. Visible:=true;

Label6. Visible:=true;

end;

2: with RedForm do begin

Label1. Caption:='Номер запроса';

Label2. Caption:='Суточные';

Label3. Caption:='Оплата проезда';

Label4. Caption:='Оплата труда';

Label5. Caption:='Количество человек';

Label6. Caption:='Итого';

Label7. Visible:=false;

DBEdit1. DataField:='№ запроса';

DBEdit2. DataField:='Суточные';

DBEdit3. DataField:='Оплата проезда';

DBEdit4. DataField:='Оплата труда';

DBEdit5. DataField:='Количество человек';

DBEdit6. DataField:='Итого';

DBEdit7. DataField:='';

DBEdit7. Visible:=false;

DBEdit6. Visible:=true;

Label6. Visible:=true;

end;

3: with RedForm do begin

Label1. Caption:='Номер запроса';

Label2. Caption:='Номер документа';

Label3. Caption:='Название';

Label4. Caption:='Дата подписания';

Label5. Caption:='Кем подписан';

Label6. Visible:=false;

Label7. Visible:=false;

DBEdit1. DataField:='№ запроса';

DBEdit2. DataField:='№ документа';

DBEdit3. DataField:='Название';

DBEdit4. DataField:='Дата подписания';

DBEdit5. DataField:='Кем подписан';

DBEdit6. DataField:='';

DBEdit6. Visible:=false;

DBEdit7. DataField:='';

DBEdit7. Visible:=false;

end;

4: with RedForm do begin

Label1. Caption:='Номер запроса';

Label2. Caption:='Название';

Label3. Caption:='Количество';

Label4. Caption:='Стоимость каждой';

Label5. Caption:='Итого';

Label6. Visible:=false;

Label7. Visible:=false;

DBEdit1. DataField:='№ запроса';

DBEdit2. DataField:='Название';

DBEdit3. DataField:='Количество';

DBEdit4. DataField:='Стоимость каждой';

DBEdit5. DataField:='Итого';

DBEdit6. DataField:='';

DBEdit6. Visible:=false;

DBEdit7. DataField:='';

DBEdit7. Visible:=false;

end;

5: with RedForm do begin

Label1. Caption:='Номер запроса';

Label2. Caption:='Цель';

Label3. Caption:='Дата отбытия';

Label4. Caption:='Дата прибытия';

Label5. Caption:='Место назначения';

Label6. Caption:='Виды выполняемых работ';

Label7. Caption:='ФИО работника';

DBEdit1. DataField:='№ запроса';

DBEdit2. DataField:='Цель';

DBEdit3. DataField:='Дата прибытие';

DBEdit4. DataField:='Дата отбытия';

DBEdit5. DataField:='Место назначения';

DBEdit6. DataField:='Виды выполняемых работ';

DBEdit7. DataField:='ФИО работника';

DBEdit6. Visible:=true;

Label6. Visible:=true;

DBEdit7. Visible:=true;

Label7. Visible:=true;

end;

end;

end;

 

procedure TOsnForma. Ydalit1Click (Sender: TObject);

begin

if (MessageDlg('Вы уверены?', mtConfirmation, mbOkCancel, 0)=mrOk) then

OsnTable. Delete;

end;

 

procedure TOsnForma. Dobavit1Click (Sender: TObject);

begin

OsnTable. Insert;

Redakt;

RedForm. ShowModal;

if (OsnTable. Modified) then

OsnTable. Post;

end;

Сортировка набора данных

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

procedure TOsnForma.N0Click (Sender: TObject);

begin

OsnTable. IndexName:=TMenuItem(Sender).Name;

end;

VII. Запросы

Запросы – существенная часть управления базами данных. Для выполнения запросов к БД в Delphi используется компонент TQuery. Основные отличия компонента данных TQuery, возвращающего наборы данных, от выполняющего сходные функции компонента TTable следующие:

· набор данных, возвращаемый TQuery, может быть составлен из записей нескольких таблиц;

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

Результирующий набор данных компонента TQuery формируется путем выполнения запроса к БД на языке SQL. Самые большие реляционные базы данных, такие, как Oracle, Informix, Sybase, так же выполняют запросы, используя SQL.

Писать и исполнять SQL‑запросы в приложениях Delphi можно различными способами. Один метод – запись текста SQL‑команды в свойство SQL компонента TQuery. В этом случае во время работы приложения Delphi выполнит указанный запрос. Если при этом соединить компонент TQuery через TDataSoource с компонентом доступа к данным, результаты запроса будут показаны в компоненте просмотра данных, связанным с TQuery.

Другой способ задания SQL‑команд – включение их в паскалевские модули (в блоки исполняемого Pascal‑кода), которые Delphi создает для вашего проекта.

procedure TOsnForma.SQL1Click (Sender: TObject);

begin

PoiskForm. PoiskBox. Clear;

PoiskForm. PoiskBox. Items. Add (OsnTable. Fields. Fields[1].DisplayName);

PoiskForm. PoiskBox. Items. Add (OsnTable. Fields. Fields[2].DisplayName);

PoiskForm. PoiskBox. Items. Add (OsnTable. Fields. Fields[5].DisplayName);

PoiskForm. PoiskBox. ItemIndex:=0;

PoiskForm. ShowModal;

with OsnUnit. OsnForma. Query do begin

Active:=false;

SQL. Clear;

SQL. Add ('Select *');

SQL. Add ('From Работник');

SQL. Add ('Where '+PoiskForm. PoiskBox. Text+' Like «'+PoiskForm. PoiskEdit. Text+'''');

Active:=true;

end;

SQLForm. ShowModal;

end;

 

VIII. Создание отчетов по базе данных

Для создания отчетов создается новая форма, на ней размещается компонент TquickRep.

procedure TOsnForma.N7Click (Sender: TObject);

begin

OtchetForm. QuickRep1. PreviewModal;

end;

 

 



Технологическая часть

 

Руководство пользователя

 

При запуске программы открывается основное окно программы и выводится таблица «Командировка», в которой содержится наиболее общая информация, связанная с предметной областью (рис. 1).

 

Рис. 1

 

Главное меню содержит следующие пункты: «Файл», «Таблица», «Редактирование», «Поиск», «Сортировать по…» (рис. 2)

 

Рис. 2

 

Пункт меню «Файл» позволяет осуществить выход из программы и вывести отчет (рис. 3).

 


Рис. 3

 

При выборе подменю отчет выведется информация о каждом работнике (рис. 4). На каждой странице – информация об одном человеке.

 

Рис. 4

 

Для работы с записями используется панель задач (рис. 5)

 

Рис. 5


Пункт основного меню «Таблица» позволяет осуществлять переключение между таблицами БД (рис. 6)

 

Рис. 6

 

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

Редактирование записей в таблице может осуществляться двумя способами

· используя встроенный навигатор (рис. 7)

 

Рис. 7

 

Перечисление назначения кнопок навигатора слева направо:

1. указатель на начало всех записей

2. указатель на одну запись назад

3. указатель на одну запись вперед

4. вставить новую запись

5. удалить указанную запись

6. редактировать указанную запись

7. сохранить отредактированную запись

8. выйти из режима редактирования

9. обновить данные

· при помощи пункта меню «Редактирование» (рис. 8)

 

Рис. 8

 

При выборе подпункта «Добавить» выведется следующее диалоговое окно (рис. 9)

 

Рис. 9

 

При вводе данные будут отображаться в соответствующих полях таблицы (рис. 10)

 


Рис. 10

 

Для редактирования какой-либо записи следует установить на неё указатель и выбрать Редактирование – Редактировать. После чего выведется диалоговое окно, поля которого будут содержать значения этой записи (рис. 11).

 

Рис. 11


Чтобы удалить какую-либо запись следует установить на неё указатель и выбрать Редактирование – Удалить.

Пункт основного меню «Поиск» позволяет осуществлять поиск двумя способами. (рис. 12): когда по введенному значению установится указатель на соответствующую запись (рис. 14) и когда по введенному значению данные выведутся в отдельную таблицу (рис. 15). В обоих случаях перед поиском выведется диалоговое окно, в котом необходимо выбрать поле, по которому следует осуществлять поиск и то значение, которое нужно найти (рис. 13).

 

                         

Рис. 11                                                 Рис. 12

 

Рис. 14


Рис. 15

 

Сортировка выполняется по любому полю соответствующей таблицы в порядке возрастания.

 






Руководство программиста

 

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

 

3 .3 Системные и программные требования

 

Для нормальной работы программы необходимо:

1. Процессор Pentium II 100MHz (минимально) и выше;

2. ОЗУ 8 Mb;

3. 10 Mb свободного места на диске;

4. Операционная система Windows 9X/ME/2000/XP;

 

 


    Заключение

 

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

К достоинствам программы можно отнести:

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

2. данная программа может использоваться всеми категориями пользователей, и проста в работе;

3. программа занимает мало места на диске, но имеет большие возможности;

4. простота модернизации;

5. расширенные возможности поиска и сортировки;

К недостаткам можно отнести:

1. довольно простую графику, нет наглядности отображения числовых значений;

2. невозможность работы с сетевыми базами данных.

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

 

 




Список литературы

 

1. С.И. Бобровский. Delphi 7: Учебный курс.–СПб.: Питер, 2004.

2. В.В. Фаронов. Программирование баз данных в Delphi 7: Учебный курс.‑М, 2005.

3. Ананьев А.И., Федоров А.С. Самоучитель Pascal 6.0 – СПБ.: БХВ-Петербург, 1995. – 624 с.: ил.

Разработка приложений базы данных «Командировка»

 

Калуга 2007


Содержание

 

Введение

1. Исследовательская часть

1.1 Выбор предметной области

1.2 Описание предметной области

1.3 Выбор инструментов и средств программирования

1.4 Проектирование БД

2. Конструкторская часть

2.1 Основные этапы разработки БД и обзор используемых средств

Delphi

3. Технологическая часть

3.1 Руководство пользователя

3.2 Руководство программиста

3.3 Системные и программные требования

Заключение

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

Графические приложения

Листинг




Введение

 

Задачей данного курсовой работы является реализация базы данных на тему «Командировка».

· разработать информационную и инфологическую модели, заданной предметной области;

· выбрать модель данных и разработать концептуальную схему;

· разработать базу данных по выбранной предметной области, содержащую не менее пяти объектов этой предметной области и не менее десяти записей;

· получить доступ к БД средствами Delphi;

· реализовать пользовательский интерфейс;

· создать приложения позволяющие редактировать, сортировать, находить необходимые данные;

· реализовать SQL запросы;

· сформировать отчеты.

 

 



Исследовательская часть

Выбор предметной области

 

При выборе предметной области важным фактором было наличие в данной области всей необходимой информации для создания полноценной БД. Была выбрана предметная область, связанная с созданием БД «Командировка». В данной предметной области было выделено 5 объектов (командировка, работник, денежные средства, детали / инструменты, документы) и выделены их атрибуты.

1. Командировка: номер запроса, цель, дата прибытия, дата отбытия, место назначения, виды выполняемых работ, работники;

2. Работник: номер паспорта, Ф.И.О., должность, телефон, отдел, специализация;

3. Денежные средства: номер запроса, суточные, на проезд, оплата труда, итого;

4. Детали/инструменты: номер запроса, название, количество, стоимость каждой, итого;

5. Документы: номер документа, название, дата подписания, кем подписан.

 

Описание предметной области

 

Положение о служебных командировках.

Общие положения.

1. Служебная командировка – поездка работника по распоряжению работодателя на определенный срок для выполнения служебного поручения вне места постоянной работы. Служебные поездки работников, постоянная работа которых осуществляется в пути или имеет разъездной характер, служебными командировками не признаются. Командировка оформляется выдачей командировочного удостоверения по форме №Т‑10, подписанного директором комплекса по принадлежности. При направлении работника предприятия за пределы РФ наряду с командировочным удостоверением оформляется приказ, утвержденный генеральным или исполнительным директором.

2. Срок командировки определяется директором комплекса, направляющим работника в командировку.

3. Фактическое время пребывания в месте командировки определяется по отметкам в командировочном удостоверении. Если работник командирован в разные населенные пункты, отметки о дне прибытия и дне выбытия делаются в каждом пункте.

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

5. Выбытие работника в командировку и возвращение из нее регистрируется в канцелярии в «Журнале учета работников, выбывающих в командировки из ОАО «Калугапутьмаш»».

Гарантии и компенсации.

6.3а командированным работником сохраняется место постоянной работы (должность) и средний заработок за все рабочие дни, в том числе и за время нахождения в пути. Если работник специально командирован для работы в выходные или праздничные дни, компенсация за работу в эти дни производится в соответствии с действующим законодательством (ст. 149,152ТК РФ). В этом случае работа в выходной день компенсируется предоставлением другого дня отдыха или по согласованию с руководителем предприятия в денежной форме – не менее чем в двойном размере. В случае отъезда в командировку в выходной день по распоряжению администрации, работнику по возвращении из командировки предоставляется другой день отдыха в установленном порядке (по заявлению).

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

Оформление выдачи денежного аванса на командировочные расходы.

8. Перед отъездом командированному работнику выдается денежный аванс в пределах сумм, причитающихся на оплату суточных, проезда и проживания. Нормы суточных и оплаты проживания без документов устанавливаются приказом по ОАО «Калугапутьмаш». Для расчета аванса руководитель соответствующего структурного подразделения на основании командировочного удостоверения составляет смету расходов на каждую командировку, которая согласовывается с бухгалтером по учету подотчетных сумм и включается в общий список на выдачу денежных средств, который утверждается руководителем комплекса по принадлежности, главным бухгалтером и начальником финансового отдела.

По автотранспортному цеху №7 согласно представляемым в установленное время заявкам на направление водителя транспортного средства в командировку, службами указывается точное наименование груза (характер, вес, габариты), место загрузки, разгрузки, маршрут движения, время выезда, лица, сопровождающего груз. Согласно заявке диспетчерская служба цеха выписывает путевой лист и передает в техбюро, где инженер-технолог рассчитывает количество топлива, необходимого для данной поездки. Эти данные передаются в соответствующие службы для включения в общую смету затрат на данную командировку, с последующим включением в список на получение денежного аванса.

9. Выдача аванса на командировочные расходы производится при условии полного отчета работника по ранее выданному авансу.

Документальное оформление отчетов о командировках.

10. В течение 3-х дней по возвращении из командировки работник обязан представить письменный отчет о выполнении служебного задания, утвержденный начальником подразделения и руководителем комплекса, также авансовый отчет по форме №АО-1. К авансовому отчету прикладывается командировочное удостоверение с отметками о выбытии в командировку и прибытии в пункт назначения, выбытии из него и прибытии к месту работы; документ о найме жилого помещения и расходам по проезду, включая плату за пользование постельными принадлежностями. К авансовому отчету работников ОТОВП следует прикладывать копию Акта выполненных работ. Работник бухгалтерии производит проверку авансовых отчетов с точки зрения наличия первичных расчетно-платежных документов и качества их оформления.

Затем руководитель структурного подразделения производит проверку целесообразности расходования денежных средств и результатов командировки. Для оценки качества и полноты выполнения командировочного задания используется информация служебного задания для направления в командировку и отчет о его выполнении. Отчет передается руководителю организации на утверждение. После утверждения авансового отчета бухгалтер производит бухгалтерские записи: списывает подотчетные денежные суммы в установленном порядке.

Суточные.

11. Нормы суточных расходов при направлении работника в командировку в пределах РФ устанавливаются приказом руководителя предприятия. Суммы выплачиваемых суточных, превышающие нормы действующего законодательства (100 руб. в сутки) включаются в совокупный доход работника и подлежат обложению НДФЛ (налог на доходы физических лиц)

Суточные по командировкам за пределы РФ выплачиваются по нормам, установленным действующим законодательством, по курсу установленному ЦБ РФ на дату утверждения авансового отчета руководителем предприятия.

Расходы по найму жилого помещения.

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

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

Согласно ст. 217, НК РФ не подлежат налогообложению НДФЛ суммы компенсации за проживание без документов в размере, установленном действующим законодательством (12 рублей в сутки). Компенсация за проживание сверх указанных размеров подлежит обложению НДФЛ.

При направлении работника в командировку за пределы РФ – расходы на проживание без предоставления оправдательных документов не оплачиваются.

Расходы по проезду.

13. Проезд командированного работника к месту командировки и обратно (кроме тех случаев, когда администрация предоставляет средство передвижения) оплачивается при предоставлении проездных документов, но не свыше:

а) по железной дороге – стоимости проезда в плацкартном (купейном) вагоне,

б) по шоссейным и грунтовым дорогам – стоимости проезда транспортным средством общего пользования (кроме такси),

в) при пользовании воздушным транспортом – возмещается стоимость билета обычного класса.

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

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

14. Если работник не предоставил документы на проезд, то ему может быть возмещена оплата проезда по минимальной стоимости. Основанием для возмещения оплаты проезда будет являться заявление работника о возмещении ему израсходованных средств с указанием даты и времени отправления транспортного средства, его вида и номера, стоимости билета, а также причин утраты документов. На заявлении руководитель предприятия должен написать распоряжение о размерах возмещаемых сумм или о невозмещении. Данное заявление прилагается к авансовому отчету и должно храниться в бухгалтерии предприятия. Возможно оформление приказа руководителя. Эта сумма включается в совокупный доход работника и подлежит обложению НДФЛ.

Оплата телефонных переговоров.

15. Оплата произведенных в командировке телефонных переговоров производится при наличии квитанции с приложением расшифровки конкретных телефонных номеров. Если такой расшифровки нет, то суммы переговоров подлежат обложению НДФЛ.

Однодневные командировки.

16. Если работник может ежедневно возвращаться к месту жительства (однодневные командировки), то суточные по ним выплачиваются согласно действующего приказа по предприятию. Сумма суточных расходов по однодневным командировкам включается в совокупный доход работника и подлежит обложению НДФЛ.

Окончательный расчет с работником за командировку.

17. Остаток денежных средств (если он имеется) работник обязан внести в кассу предприятия не позднее 3‑х дней после прибытия из командировки.

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

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

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

 

Дата: 2019-05-28, просмотров: 196.