Реферат по предмету "Информатика, программирование"


Проектирование информационной системы "Начисление заработной платы сотрудникам школы"

СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ
1.1 Построение концептуальной модели
1.2 Построение логической модели
1.3 Выбор программного обеспечениядля разработки интерфейса информационной системы
1.4 Экономическое обоснование оплатытруда
2 СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГОИНТЕРФЕЙСА ИНФОРМАЦИОННОЙ СИСТЕМЫ «НАЧИСЛЕНИЯ ЗАРАБОТНОЙ ПЛАТЫ УЧИТЕЛЯМ ШКОЛЫ»
2.1 Создание базы данных с помощьюAccess
2.2 Подключение базы данных к Delphi
2.3 Описание программной реализации
2.4 Элементы интерфейсаинформационной системы «Начисление заработной платы работникам средне-специальныхучебных заведений»
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ A
ПРИЛОЖЕНИЕ Б
ПРИЛОЖЕНИЕ В

ВВЕДЕНИЕ
Для осуществленияпланирования любой фирмы на любом этапе работы осуществляются некоторые расчетыдля автоматизации, которых удобно применять вычислительнуютехнику.
Основой для учета,контроля и планирования служат всевозможные картотеки, регистрационные журналы,списки и т.д. Они постепенно накапливаются и обновляются. При большом объемеинформации поиск и обобщение необходимых сведений, осуществляемых вручную,представляют собой довольно трудоемкий процесс.
С появлением ЭВМ ииспользованием их для обработки информации появилась возможностьавтоматизировать решение многих информационно-справочных и расчетных задач.
Постепенно с развитиемпрограммного обеспечения ЭВМ появились идеи создания управляющих систем,которые позволяли бы накапливать, хранить и обновлять взаимосвязанные данные поцелому комплексу решаемых задач, например при автоматизации бухгалтерскогоучета, на предприятии. Эти идеи нашли свое воплощение в системах управлениябазами данных (СУБД). С появлением персональных компьютеров, СУБД становитсянаиболее популярным средством обработки табличной информации. Они являютсяинструментальным средством проектирования банков данных при обработке большихобъемов информации [1, c.94].
Программное обеспечениедля работы с базами данных используется на персональных компьютерах ужедовольно давно. К сожалению, эти программы либо были элементарными диспетчерамихранения данных и не имели средств разработки приложений, либо были на столькосложны и трудны, что даже хорошо разбирающиеся в компьютерах люди избегалиработать с ними до тех пор, пока не получали полных, ориентированных напользователя приложений.
Система управления базамиданных предоставляет возможность контролировать задание структуры и описаниесвоих данных, работу с ними и организацию коллективного пользования этойинформацией. СУБД также существенно увеличивает возможности и облегчаеткаталогизацию и ведение больших объемов хранящейся в многочисленных таблицахинформации. На практике, как правило, после подсчета или анализа данныхнеобходимо их представить в виде определенной формы или шаблона. В итогепользователю приходится комбинировать программные продукты для получениянеобходимого результата. В этом смысле все существенно упростят возможности,предоставляемые BorlandDelphi. Возможность создавать программы,обслуживающие базы данных, — важная отличительная особенность Delphi.
В данной выпускной работетребуется произвести расчет заработной платы сотрудникам средне-специальныхучебных заведений, организовать выход необходимой информации на печать в видеотчетов, создать удобный интерфейс, для информационной системы «Начислениезаработной платы сотрудникам средних учебных заведений», ориентированный накомфортную работу пользователя.
Целью выпускной работыявляется создание программного обеспечения для расчета заработной платысотрудникам средне-специальных учебных заведений, организация выходнойинформации в виде отчетов, создание установочного файла.
Актуальность. Расчетзаработной платы сотрудникам средне-специальных учебных заведений производитьсябухгалтерами либо с помощью программы «1С-бухгалтерия», либо в ручную. Так какпрограмма «1С-бухгалтерия» очень сложна в применении, и ее может освоить некаждый бухгалтер, то расчет заработной платы производится с помощью электронныхтаблиц. Это довольно трудоемкий процесс, который занимает очень много времени иресурсов компьютера. Данная выпускная работа рассматривает принципы создания информационнойсистемы «Начисление заработной платы сотрудникам школы», ориентированная накомфортную работу бухгалтеров средне – специальных заведений.
Новизна выпускной работысостоит в том, что был создан интерфейс пользователя для базы данных Access, с помощью современной системыпрограммирования Delphi 7, котораяявляется на сегодняшний день новейшей версией.
Практическая ценность –предназначена для бухгалтеров средне – специальных учебных заведений.
Данная выпускная работасостоит из двух разделов, содержит 37 рисунков и одну таблицу.

1 ПРОЕКТИРОВАНИЕ БАЗДАННЫХ
1.1 Построениеконцептуальной модели
Требование пользователейк разрабатываемой базе данных представляет собой список запросов с указанием ихинтенсивности и объемов данных. Эти сведения разработчики базы данных получаютв диалоге с ее будущими пользователями. Здесь же выясняются требования к вводу,обновлению и корректировке информации. Требования пользователей уточняются идополняются при анализе имеющихся и перспективных задач.
Перечень вопросов прианализе различных предметных областей базы данных для начисления заработнойплаты учителям школы:
-  Сколько учителей работает в школе?
-  Сколько часов в неделю, и в какихклассах проводится тот или иной предмет?
-  Сколько дополнительных часов, часовзамены было проведено?
-  Имеется ли классное руководство?
-  Сколько было отработанных дней израбочих дней в месяце?
-  Как часто обновляется информация вбазе данных? и т.д.
При описании предметнойобласти гораздо удобнее и эффективнее использовать такое её представление,которое было бы понятным для большинства категорий пользователей, такойобобщенный взгляд на информационную систему и на её функционированиереализуется через концептуальное проектирование [1, c.94].
Концептуальная модельпредставляет объекты предметной области и их взаимосвязи без указания способових физического хранения. Таким образом, концептуальная модель является, посуществу, моделью предметной области. При проектировании концептуальной моделивсе усилия разработчика должны быть направлены на структуризацию данных ивыявлений взаимосвязей между ними без рассмотрения особенностей реализации ивопросов эффективности обработки. Проектирование концептуальной модели основанона анализе решаемых, на этом предприятии задач по обработке данных [1, c.94-95].
Концептуальная модельвключает описание объектов и их взаимосвязей, представляющих интерес врассматриваемой предметной области и выявляемых в результате анализа данных [1,c.96].
Результатомконцептуального проектирования является некоторая концептуальная схема, котораячаще всего выражается в виде ERдиаграммы (диаграмма «сущности связи») [2, c.48-52], в которой приняты следующие обозначения:
 - объекты; — связи;
Для решения поставленнойзадачи дипломной работы была построена концептуальная схема (рисунок 1)информационной системы «Начисления заработной платы».
/>
Рисунок 1 Концептуальнаясхема информационной системы
Концептуальная модельтранспонируется в модель данных, совместимую с выбранной СУБД. Версияконцептуальной модели, которая может быть обеспечена конкретной СУБД, называемойлогической моделью.
1.2 Построение логическоймодели
Логическое проектированиепредставляет собой необходимый этап при создании базы данных. Основной задачейлогического проектирования является разработка логической схемы,ориентированной на выбранную систему управления базами данных (СУБД). Этаплогического проектирования в отличие от концептуального проектированияполностью ориентирован на инструментальные средства компьютера [2, c.95].
Этапы логическогопроектирования:
-  Выбор конкретной СУБД.
-  Отображение концептуальной схемы налогическую схему.
-  Выбор ключей.
-  Описание языков запросов.
Выбор СУБД зависит оттого, на сколько эффективна внутренняя модель данных, поддерживаемая системой,способна описать концептуальную схему. Существующие СУБД делятся по типаммоделей данных на реляционные, иерархические и сетевые. СУБД, ориентированныена персональные компьютеры, как правило, поддерживают реляционную модельданных. Если выбрана реляционная система, то концептуальную схему базы данныхпредстоит отображать на реляционную модель.
При отображенииконцептуальной схемы базы данных на реляционную модель данных следует учитыватьограничения на размеры таблиц, которая накладывает выбранная СУБД. По размеруполей можно определить требуемый объем памяти для хранения данной таблицы [2,c. 110-119].
Аналогично поступают совсеми остальными объектами концептуальной схемы.
База данных, созданнаядля реализации поставленной задачи дипломной работы, была реализована с помощьюAccess. Поэтому логическая модель имеет следующий вид (таблица 1).
Таблица 1 Логическаямодель информационной системы «Начисление заработной платы учителям школы»Наименование таблицы Ключевое поле Наименование поля Описание поля Кадры Ключ Код сотрудника Числовой ФИО сотрудника Текстовый Стаж Текстовый Адрес Текстовый Разряд Числовой БДО Денежный РабДн Числовой ПропДн Числовой Сведения о классах (Часы) Ключ Код начисления Числовой Код сотрудника Числовой Код должности Числовой Код предмета Числовой Дата начисления Дата 0-ые классы Числовой 1-4 классы Числовой 5-9 классы Числовой 10-11 классы Числовой Надомники (0) класс Числовой Надомники (1-4) класс Числовой Надомники (5-9) класс Числовой Надомники (10-11) класс Числовой ИндГрКонс (0) класс Числовой ИндГрКонс (1-4) класс Числовой ИндГрКонс (5-9) класс Числовой ИндГрКонс (10-11) класс Числовой Замена (0) класс Числовой Замена (1-4) класс Числовой Замена (5-9) класс Числовой Замена (10-11) класс Числовой Коэффиц. классного руковод. Числовой Коэффиц. внеклассной работы Числовой Сведения о классах (Часы) Коэффиц. Углублен. изучение Числовой Коэффиц. проверки тетрадей Числовой Коэффиц. вредности Числовой Коэффиц. расчета Числовой G(группа) Числовой Коэффиц. ОПВ Числовой Сумма ИПН Числовой К выплате Денежный Должности Ключ Код должности Числовой наименов. Должности Текстовый Предметы Ключ Код предмета Числовой наименов. Предмета Текстовый Coff Коэффиц. Нед. Час. (1-4) класс Числовой Коэффиц. Нед. Час. (5-11) класс Числовой Коэффиц. раз. Час. (1-4) класс Числовой Коэффиц. раз. Час. (5-11) класс Числовой Экология Числовой Год Ключ Код сотрудника Числовой Дата_начисления Дата Начислено экологии Денежный Начислено за внеклассную работу Денежный Начислено за проверку тетрадей Денежный Начислено за вредность Денежный Год Начисленно за классное руководство Денежный Начисленно за замену часов Денежный Начисленно за углубленное изучение Денежный Начисленно за замену углубленного изучения Денежный Заработная плата Денежный Итого Денежный
Логическая модельотражает логические связи между элементами данных вне зависимости их содержанияи среды хранения.
Логическая модель данныхможет быть реляционной, иерархической или сетевой. Логическая модельотображается в логическую память, такую как диск, лента или какой-либо другойноситель информации.
1.3 Выбор программногообеспечения для разработки интерфейса информационной системы
В последнее время резковозрос интерес к программированию. Это связано с развитием и внедрением вповседневную жизнь информационно-коммуникационных технологий. Если человекимеет дело с компьютером, то рано или поздно у него возникает желание, а иногдаи необходимость, программировать. Среди пользователей персональных компьютеровв настоящее время наиболее популярно семейство операционных систем Windows и,естественно, что тот, кто собирается программировать, стремится писатьпрограммы, которые будут работать в этих системах. Несколько лет назад рядовомупрограммисту оставалось только мечтать о создании собственных программ,работающих в среде Windows, т.к. единственным средством разработки был BorlandC++ for Windows, явно ориентированный на профессионалов, обладающих серьезнымизнаниями и опытом [3, c.2].
Бурное развитиевычислительной техники, потребность в эффективных средствах разработкипрограммного обеспечения привели к появлению систем программирования,ориентированных на так называемую «быструю разработку», среди которыхможно выделить Borland Delphi и Microsoft Visual Basic.
В основе систем быстройразработки (RAD-систем, Rapid ApplicationDevelopment — среда быстрой разработки приложений) лежит технология визуальногопроектирования и событийного программирования, суть которой заключается в том,что среда разработки берет на себя большую часть рутинной работы, оставляяпрограммисту работу по конструированию диалоговых окон и функций обработкисобытий. Производительность программиста при использовании RAD-систем -фантастическая![3, c.3-4]
Delphi — это средабыстрой разработки, в которой в качестве языка программирования используетсяязык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык,в основе которого лежит хорошо знакомый программистам Object Pascal [4, c. 3-4].
Мощность и гибкость языкапрограммирования Delphi –безусловное достоинство Delphi,отличающую эту среду от других инструментов RAD. Ядром языка Delphi является язык Pascal. За долгие годы язык Pascal превратился в мощный современный объектно-ориентированныйязык, пригодный для эффективного создания программ любой сложности.
От языка Visual Basic Delphi отличает строгая типизированность, позволяющаякомпилятору еще на этапе компиляции обнаружить многие ошибки, а также наличиесредств работы с указателями. Таким образом, в Delphi используется так называемое ранее связывание сбиблиотеками типов в технологии COM, вто время как в Visual Basic используется более медленное позднеесвязывание при обращении к COM.
Синтаксис С++ провоцируетсоздание запутанных программ, в которых трудно разобраться даже автору, в товремя как простой и ясный синтаксис Delphi позволяет ему претендовать на роль языка, идеально подходящего дляописания алгоритма. Во всех случаях Delphi имеет самый быстрый среди продуктов подобного рода оптимизирующийкомпилятор, позволяющий создавать быстрые и относительно компактные программы[4, c.5].
Система Delphi известна как самое эффективноесредство разработки приложений баз данных, то есть программ, обслуживающихэлектронные хранилища информации. Это определяется по трем обстоятельствам:
-  Высокопроизводительная машина доступак данным разного формата(Borland DatabaseEngine, BDE).
-  Наличие многочисленных компонентов итехнологий, ориентированных на эту сферу применения.
-  Поставка вместе с Delphi компактного, мощного и простого вадминистрировании сервера баз данных InterBase.
Машина BDE является средством доступа к даннымразного формата. Особенностью BDEявляется использование собственных высокопроизводительных драйверов для доступак локальным таблицам dBase,Paradox, FoxPro, а также SQL-ориентированных драйверов для доступа к серверам баз данных (этот наборназывается SQL Links). При желании можно использовать драйверы стороннихпроизводителей, соответствующие стандарту ODBC(Open DatabaseConnectivity Interface – открытый интерфейс взаимодействияс базами данных). Более того в версии 6 и 7 появилась возможность использованияальтернативных BDE средствдоступа по технологиям ADO, InterBase Express, dbExpress.
Многочисленныекомпоненты, поддерживающие разработку приложений баз данных, обеспечиваютобслуживание самых разных задач, таких как выборка и сортировка данных, ихнаглядное представление, изменение и публикация данных в виде отчетов(документов) или HTML-страниц вИнтернете и т.д. [4, c.6].
В состав пакета включеныразнообразные утилиты, обеспечивающие работу с базами данных, XML-документами,создание справочной системы, решение других задач. Отличительной особенностьюседьмой версии является поддержка технологии NET. Borland Delphi 7 Studio можетработать в среде операционных систем от Windows 98 до Windows XP [4, c.10].
Последняя на сегодняверсия 7 сохраняет почти полную преемственность по языку программирования иинтегрированной среде разработчика с версией 6. Ее характерное отличие –введение новых технологий, облегчающих (и упрощающих) создание программ для базданных и Интернета [4, c.13-14].
1.4 Экономическоеобоснование оплаты труда
В процессе хозяйственнойдеятельности предприятия происходит прием и увольнение работников, перемещениепо работе, меняется численность персонала. Учет личного состава ведет отделкадров, который обеспечивает получение данных о численности персонала напредприятии в целом, его структурных подразделениях, причинах ее изменения, осоставе персонала по полу, возрасту, категориям, профессиям, должностям,специальности, квалификации, стажу работы, образованию и другим признакам.
При приеме на работуработодатель и работник заключают между собой индивидуальный трудовой договор оместе работы, сроке действия договора, об условиях режима труда, отдыха,оплаты, охраны труда, иных вопросах социально-бытового обеспечения работника,материальной ответственности сторон договора и др. [5, c.407]
Учет использованиярабочего времени всех категорий работающих ведут в табеле учета рабочеговремени, для контроля за соблюдением рабочими и служащими установленного режимарабочего времени, получение данных об отработанном времени, расчета заработнойплаты. Составляется табель уполномоченным лицом; после соответствующегооформления он передается в бухгалтерию. Отметки в табеле о причинах неявок наработу или о работе неполных рабочий день, о работе в сверхурочное время идругих отступлениях от нормальных условий должны быть сделаны только наосновании документов, оформленных надлежащим образом. Учет использованиярабочего времени осуществляю в табелях методом сплошной регистрации явок инеявок на работу либо путем регистрации только отклонений (неявок, опозданий).
Работодательсамостоятельно разрабатывает систему оплаты труда в форме положения «Об оплатетруда» с учетом конкретных условий труда, категорий работников и режимоврабочего времени, установленных в положении «О персонале» [5, c.410-413].
В практике организацииоплаты труда используют две основные формы:
-  При повременной форме оплаты трудазаработную плату начисляют работнику по установленной тарифной ставке илиокладу за фактически отработанное время.
-  При сдельной форме оплаты трудазаработную плату работнику начисляют в заранее установленном размере за каждуюединицу выполненной работы.
В соответствии сдействующим законодательством работодатели удерживают из заработной платыработников: обязательные пенсионные взносы (ОПВ) в накопительные пенсионныефонды, индивидуальный подоходный налог (ИПН), суммы по исполнительным листам, атакже производят любые другие удержания по письменному заявлению работников,либо по инициативе самого работодателя, без согласия работника: для возращениянеизрасходованного аванса, выданного в счет заработной платы. При увольненииработника по его вине за неотработанные им дни полученного отпуска; длявозмещения вреда, причиненного по вине работника предприятию, если размер вредане превышает месячного заработка работника [5, c.425-426].
Удержание индивидуальногоподоходного налога. Заработная плата, а также любые другие доходы работников,выплачиваемые работодателями в денежной или натуральной форме, включая доходы,предоставленные работодателем в виде материальных, социальных благ или инойматериальной выгоды подлежат налогообложению индивидуальным подоходным налогомпо ставкам. Исчисление и удержания индивидуального подоходного налогапроизводят ежемесячно нарастающим итогом в установленном законодательствомпорядке [5, c.429].
При увольнении работникадо истечения налогового года производится перерасчет индивидуальногоподоходного налога, исходя из полученного дохода за фактически проработанныйпериод с учетом коэффициента перерасчета, равного единице. Согласно перерасчетуработнику предоставляется справка о доходах и налогах за проработанный период.При изменении места работы физическое лицо должно представить по новому местуработы расчет с прежнего места работы о полученном доходе и уплаченном налогеза проработанный период [5, c.425-426].
Обязательные пенсионныевзносы в накопительные пенсионные фонды удерживаются и перечисляютсяработодателем за работников в размере 10% из доходов, выплачиваемых работникамв виде оплаты труда, включая все виды заработной платы, а также различныепремии, доплаты, надбавки.
Вычеты из оплаты трудачленских профсоюзных взносов осуществляют по письменным заявлениям работников.Членские взносы, удержанные из оплаты труда работников, предприятие перечисляетна банковский счет соответствующей профсоюзной организации [5, c.429].
Самым волнующим для всехбухгалтеров страны на сегодняшний день стал вопрос правильного расчетасоциального налога (СН) в связи с введением с 2005 года социальных отчислений(СО) [6, c.6].
Для расчета социальногоналога необходимо [6, c.7]:
-  Указать доходы, не подлежащие налогообложениюв соответствии со ст.144 Налогового кодекса.
-  Указать обязательные пенсионныевзносы.
-  Указать сумму налоговых вычетов,определяемых в соответствии с пп. 1,2 и 4 – 6 пункта 1ст. 152 Налоговогокодекса.
-  Коэффициент перерасчета.
-  Расчетная сумма облагаемых ИПНдоходов.
-  Сумма ИПН с расчетной суммыоблагаемых ИПН доходов.
-  Сумма ИПН за отчетный месяц.
-  Доходы, облагаемые социальным налогомза отчетный месяц.
-  Расчетная сумма дохода, облагаемаясоциальным налогом.
-  Сумма социального налога с расчетнойсуммы дохода, облагаемый социальным налогом.
-  Сумма социального налога за отчетныймесяц.
-  Сумма социального налога заподлежащего уплате.
-  Доходы физических лиц, с которыхисчисляются социальные исчисления.
-  Сумма социальных отчислений.
-  Сумма социального налога к уплате иотражению в декларации.
Коэффициент перерасчетасотрудника определяется на основании пункта 11 пункта 2 Правил исчисленияиндивидуального подоходного налога и исчисления социального налога. То есть,если работник был принят с начала года, то коэффициент перерасчета равен 12. Кпримеру, если работник начал работать с марта месяца, то его коэффициент будетравен 10, так как он проработает до конца налогового периода 10 месяцев.

2. СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКОГОИНТЕРФЕЙСА ИНФОРМАЦИОННОЙ СИСТЕМЫ «НАЧИСЛЕНИЯ ЗАРАБОТНОЙ ПЛАТЫ СОТРУДНИКАМШКОЛЫ»
2.1 Создание базы данныхс помощью Access
Для осуществленияпланирования любой фирмы на любом этапе работы осуществляются некоторыерасчеты, для автоматизации которых удобно и рационально применятьвычислительную технику.
В данной задаче требуетсярассчитать заработную плату сотрудникам школы на месяц, с учетом того, чтоизвестны все необходимые данные, такие как разряд, от которого зависиткоэффициент учителя, базовый должностной оклад, количество отработанных дней израбочих дней в месяце, количество плановых часов, дополнительных часов, часовзамены, коэффициенты классного руководства, внеклассной работы и прочиекадровые данные.
Для решения данной задачипервоначально был создан документ для начисления заработной платы бухгалтеромшколы №39 г. Усть-Каменогорска, с помощью электронной таблицы Microsoft Excel (рисунок 2), в котором на каждого сотрудника былзаведен отдельный лист. Microsoft Excel позволяетпредставлять данные в различных форматах и производить с ними некоторыеарифметические действия с помощью формул, а также хранить, изменять ипредоставлять информацию по первому требованию и в профессиональном виде.
В связи с тем, чтоэлектронная таблица содержит большое количество страниц, то работать с нимстановится очень затруднительно. С ростом сотрудников в школе может возникнутьтакая проблема как превышение установленных электронной таблицей ограничений напамять или же вообще исчерпаны возможности компьютерной системы. Разработаннаяэлектронная таблица предназначена для многих пользователей, следовательно,проконтролировать ввод новых и использования уже имеющихся данных невозможно.
/>
Рисунок 2. Расчет заработныйплаты в Microsoft Excel
Учтивая все вышеперечисленное встала необходимость создания базы данных. При разработкеинформационной системы выбор остановился на Access 2000. Так как Microsoft Access – это функционально полная СУБД. В ней предусмотренывсе необходимые средства для определения и обработки данных, а также дляуправления ими при работе с большими объемами информации [7, c.27-29]. СУБД Access очень легка в использовании и входитв состав пакета Microsoft Office,что очень важно для компьютеров, установленных в школах, а также обладает такимдостоинством как интегрированность с электронными таблицами Excel, Word и другими программами пакета Microsoft Office. Microsoft Access значительно упрощает задачу обработки данных.Предназначенная для коллективного пользования СУБД имеет средства, непозволяющие нескольким пользователям одновременно корректировать одни и те жеданные, а также ее установка не требует дополнительных усилий и большихмощностей компьютера [8, c.87].
С помощью Microsoft Access 2000 была создана база данных «ЗарПлата», в которойсодержаться таблицы с данными каждого сотрудника, используемые при начислениизаработной платы. Таблицы «Кадры», «Должности», «Предметы», «Начисления»,«Коэффициенты» и «Год» связанны между собой связями «один – ко многим».
/>
Рисунок 3. База данных«Начисление заработной платы сотрудникам школы» в формате Access
2.2 Подключение базыданных к Delphi
Созданиепользовательского интерфейса производилось с помощью языка программирования Delphi. При подключении базы данных Access к среде Delphi были использованы основные таблицы, содержащиеинформацию о работниках школы. Подключение производилось с помощью технологии ActiveX Data Object (ADO –объекты данных, построенные как объекты ActiveX) и компонентов ADOConnection, ADOTable, DataSource.
Основные особенностииспользования технологии ADO независят от архитектуры баз данных: эта технология характерна не только дляфайл-серверных баз данных, но также и для клиент-серверных и трехзвенных базданных.
Основным достоинствомтехнологии ADO является ее естественная ориентацияна создание «облегченного» клиента. В рамках этой технологии на машинеразработчика баз данных устанавливаются базовые объекты MSADO и соответствующие компоненты Delphi, обеспечивающие использованиетехнологии ADO. На машине сервера данныхустанавливается так называемый провайдер данных – некоторая надстройка надспециальной технологией OLE DB, понимающаязапросы объектов ADO и умеющаяпереводить эти запросы в нужные действия с данными. Взаимодействия компонентов ADO и провайдера осуществляется наоснове технологии ActiveX, причемпровайдер – COM сервер, а ADO-компоненты – COM клиенты.
На машине серверасоздается и размещается источник данных. В случае файл-серверных системотдельные таблицы должны управляться соответствующим ODBC-драйвером. В данной выпускной работе былииспользованы таблицы в формате Access,данный файл управляется машиной баз данных Microsoft Jet 4.0 Database Engine, а в ролипровайдера используется Microsoft Jet4.0 OLE DB Provider [9, c.65-68].
На начальном этапесоздания пользовательского интерфейса был создан проект и к нему добавленмодуль данных. В модуль данных были помещены один компонент ADOConnection, четыре компонент ADOTable и четыре компонент DataSource. Таблицы были названы Person, Predmety, Dolgnosty, Coff, Move, Year и связаны с источниками данных DataSource, которые получили соответствующиеназвания Person1, Predmety1, Dolgnosty1, Coff1, Move1,Year1, (рисунок 4).
/>
Рисунок 4ю Модуль данных

Установление связи собъектом ADO является ключевым моментом всейтехнологии.
Существует два путиустановления связи:
-  Диалоговый способ формирования связи.
-  Формирование связного файла.
Для того чтобы настроитьсвязь объектов ADO ссоответствующим провайдером, необходимо в свойстве ConnectionString компонента ADOConnection1 вызвать окно настройки [9, c.73-78]. На экране появиться диалоговоеокно с четырьмя вкладками:
-  «Поставщик данных», где указываетсяпровайдер Microsoft Jet4.0 OLE DB Provider, предназначенный для работы с базамиданных Access.
-  «Подключение», где указывается путьдоступа к файлу базы данных.
-  «Дополнительно» позволяет задатьдополнительные свойства связи.
-  «Все» здесь приводятся все параметрысвязи, заданные как явно так и назначенные по умолчанию.
Далее в свойстве TableName компонентов ADOTable были указаны соответствующиеназвания таблиц из базы данных Accessи установлены связи между данными таблицами на вкладке Diagram по ключевому полю Код, (рисунок 5).
/>
Рисунок 5 Отображениереляционной связи

2.3 Описание программнойреализации
Результатом дипломной работы явилось создание программного обеспечения,предназначенного для расчета заработной платы сотрудникам средне-специальныхучебных заведений.
Работа выполнялась наосновании индивидуального задания на дипломное проектирование по специальности010240 “Прикладная математика и информатика” на тему “Автоматизированнаясистема начисления заработной платы сотрудникам средне-специальных учебныхзаведений».
Назначениеразрабатываемого программного обеспечения – расчет заработной платы сотрудникамсредне-специальных учебных заведений.
Автоматизации подлежатследующие функции:
-     ввод данных иконтроль за вводом данных;
-     редактирование исохранение данных;
-     расчет заработнойплаты;
-     создание отчётов;
Положительнымирезультатами использования программного продукта являются:
-     сокращение потерьвремени за счет автоматизации получения документации;
-     повышениепроизводительности труда бухгалтера школы, при выполнении расчетных операций;
Целью созданияпрограммного обеспечения является автоматизация расчётов, высвобождениевремени, затрачиваемого на реализацию данных расчетов вручную, а такжереализация конкретной задачи в рамках программного комплекса с учетом всехтребований пользовательского интерфейса и систем требований для оформленияприложений Windows.
Разработанное программноеобеспечение должен обеспечивать выполнение следующих функций:
-     ведение данных;
-     расчет заработнойплаты сотрудникам школы за текущий месяц с соответствующими налоговымивычетами;
-     представлениевыходной информации в виде отчетов;
-     выводзаработной платы сотрудникам школы за год;
Проектирование интерфейсапользователя осуществлялось в соответствии со стандартом SAA, разработанным фирмой IBM. Были реализованы требованияподсистемы CUA (Common User Access), определяющей компоненты пользовательского интерфейса,которые должны присутствовать во всех программах. Эти компоненты строятся надвух основных принципах:
-     пользователимогут разрабатывать концепцию интерфейса;
-     пользовательможет и должен управлять диалогом;
С технической точки зрениядля реализации стандарта использовались следующие приемы:
-     разработкаразвитой системы меню;
-     упрощение режимовобработки данных;
-     созданиемногооконного интерфейса;
-     системавсплывающих подсказок;
-     выдачадополнительных сообщений при осуществлении пользователем некорректных действий;
-     используетсясистема всплывающего меню, активизация происходит при нажатии правой кнопкимыши;
-     использованиестандартных названий в меню;
-     система помощи;
-     функциональныеклавиши для быстрого доступа к командам меню;
Обеспечена унификация и непротиворечивость интерфейса.Продуманный, последовательный интерфейс программной системы и пользователяопределяет скорость адаптации к данной системе и может значительно сократитьвремя на выполнение функций данным пользователем. Интерфейс с пользователемподдерживает стандартные устройства ввода информации (клавиатура и мышь). Приэтом предусмотрена реализация большинства функций программной системы с помощьюманипулятора “мышь”, так как это значительно ускоряет процесс работы и уменьшаетколичество вводимых ошибок.
Диалоги программных систем должны удовлетворяют следующемуминимальному набору требований:
-     время ответасистемы на запрос, как правило, не должно превышать 4-5 секунды; при длительныхвычислениях необходимы комментарии;
-     ошибкипользователя не должны приводить к сбоям системы;
-     изображениедолжно быть как можно более наглядным – во всех случаях желательна заменатаблиц графиками, диаграммами, гистограммами, а черно-белого изображения –цветным;
-     для повышениядоверия к получаемым с помощью ПЭВМ результатам необходимо предусмотретьвозможность эффективного контроля промежуточных результатов и при необходимости– изменения порядка вычислений;
-     результаты работыдолжны отображаться в содержательных, привычных пользователю категориях;
-     система должнапозволять пользователю в любой момент перейти к другому виду работы,воспользоваться справочными таблицами.
Практика показала, чтоиспользование стандарта SAA сокращаетвремя необходимое конечным пользователям для освоения приложения. Причем этокасается как опытных, так и начинающих пользователей.
Временные характеристики выполняемых действий, прежде всего,определяют комфортность работы с программным продуктом. К показателям,описывающим реактивность системы, относят все временные характеристики, которыедолжны обеспечивать комфортную работу пользователя. Просчёт модели можетзанимать до нескольких минут в зависимости от класса ПЭВМ и количества заданныхпараметров.
На практике осуществляютразличные виды защиты данных: защита данных от разрушений, некорректныхобновлений, несанкционированного доступа и др.
Защита данных отразрушения (имеется в виду потеря данных при сбоях) – этот вид защитыназывается обеспечение физической целостности данных и обеспечивается созданиемкопий и архивов данных.
Защита данных от некорректныхобновлений (обеспечение логической целостности, основывается на предупреждениииспользования данных не основными пользователями и обеспечивается путемограничения доступа к данным с помощью программных фильтров). Второй способобеспечения логической целостности состоит в том, что пользователю выдается невся запись, а только ее часть, необходимая для использования. Третий способ защитызаключается в проверки новых значений на принадлежность его значений областидопустимых значений.
Защита данных от несанкционированногодоступа, обеспечивающаяся путем создания программных фильтров, использованиемзамков доступа (пароли) и введением системы кодирования.
В связи с тем, что программное обеспечение содержит экономические данные,изменение которых могут привести к ошибочным расчетам, то доступ к ним долженбыть защищён. Для решения этой задачи на запуск программной системы установленпароль.
Одним из важнейших характеристик качества программного изделия являетсянадежность.
Надежность – это свойство программного изделия сохранятьработоспособность в течение определенного периода времени, в определенныхусловиях эксплуатации с учетом последствий для пользователя каждого отказа.
Работоспособнымназывается такое состояние программного изделия, при котором оно способновыполнять заданные функции с параметрами, с установленными требованиямитехнического задания. С переходом программного изделия в неработоспособноесостояние связано состояние событие отказа.
Причины отказапрограммного изделия и технических систем различны. Если для технических системпричиной отказа может быть физический износ узлов и деталей, то программныеизделия физическому износу не подвержены. Моральный износ, характерный дляпрограммного изделия, не может быть причиной нарушения работоспособности.
Причиной отказапрограммного изделия является невозможность его полной проверки в процессетестирования и испытаний. При эксплуатации программного изделия в реальныхусловиях может возникнуть такая комбинация входных данных, которая вызываетотказ. Таким образом, работоспособность программного изделия зависит от входнойинформации, и чем меньше эта зависимость, тем выше уровень надежности.
В спроектированномпрограммном обеспечении были реализованы функции, повышающие общую надежностьсистемы.
Обработка исключительных ситуаций. Данная функция является наиболеезначимой, поскольку как сама природа численных методов, так и действияпользователя предполагают возможность возникновения некорректных ситуаций. Кпримеру, наиболее распространенной, при проведении вычислений, является попыткаделения на ноль. Основная проблема здесь заключается в том, что привозникновении подобных ситуаций происходит автоматический выход из текущегоблока программы и операторы, стоящие за местом возникновения ошибки, которые,при нормальном выполнении программы должны были бы выполниться, не выполняются.Результатом этого может являться непредсказуемость дальнейшей работы программы.Для избежания подобных последствий, критические участки программы были включеныв защищаемый блок кода. Данный блок характеризуется тем, что он позволяет либосоответствующим образом обработать исключительную ситуацию, либо выполнитьзавершающие действия для обеспечения ликвидации последствий, вызванных даннойошибкой.
Обеспечено блокированиенедоступных в данный момент действий пользователя. Это проявляется в реализациисистемы меню и других элементов управления. Общая схема данного принципазаключается в том, что в каждый момент времени отслеживается возможностьвыполнения той или иной команды. Если выполнение команды возможно – тосоответствующий элемент управления является доступным, и наоборот.
Обеспечена автоматическаяпроверка корректности данных, введённых пользователем.В случае, когда пользователь вводит неверные данные, например, точку вместозапятой в качестве десятичного разделителя, или литеру вместо цифры, программасообщает ему об этом и предлагает повторить ввод.
Следует отметить, чточасть функций обеспечения надежности системы реализуется средствами Delphi, поскольку он обеспечивает механизмстандартной обработки исключительных ситуаций.
2.4 Элементы интерфейсаинформационной системы «Начисление заработной платы сотрудникамсредне-специальных учебных заведений»
При запуске программы пользователюпредлагается указать пароль, окно пароля представлено на рисунке 6.
/>
Рисунок 6. Окно пароля
При правильном вводе пароля (del) происходит загрузка программы,открывается главное окно приложения (рисунок 7).
Окно состоит из пяти объектов:
1)        Кадры;
2)        Расчет;
3)        Справка, при щелчке мышьюоткрывается справочная система. Здесь можно получить информацию о методахэксплуатации программы.
4)        Архив, при щелчке мышьюоткрывается таблица начислений за год. Здесь можно получить информацию оначислениях по конкретному сотруднику.
5)        Выход, при нажатии кнопки в левомнижнем углу с пиктограммой стрелки происходит выход из программы.
/>
Рисунок 7. Главное окно
При щелчке мышью кнопке«Кадры» открывается окно «Окно категорий ввода и редактирования данных осотруднике» (рисунок 8).
Данное окно содержитчетыре объекта:
-  Ввод, при щелчке мышью открываетсяокно «Ввода и редактирования кадровых данных» (рисунок 9).
Данное окно обладаетвсеми условиями для правильного ввода данных о принятом на работу сотруднике.Ввод данных о сотруднике может проводиться как в таблицах, так и с помощьюдиалоговых окон. На форме имеются кнопки «Кадры…» и «Должность…», при нажатиикоторых вызываются диалоговые окна «Ввода личных данных сотрудника» (рисунок10) и «Ввода должностных данных» (рисунок 11). Также здесь организован поискнеобходимой информации о сотруднике по его фамилии. Опции «без учета регистра»и «по части строки» производят поиск по части фамилии и без учета заглавныхбукв и меню в котором предусмотрены операции вставки новой записи и удалениесуществующих записей, сохранение и отмена изменении, обновление, навигация поданным, с помощью меню «Окно» можно вызвать необходимое диалоговое окно.
/>
Рисунок 8. Окно«Категорий ввода и редактирования данных о сотрудниках»
Для ввода данных опринятом сотруднике необходимо нажать кнопку с пиктограммой «+», окно вводастанет пустым. Ввод начинается с Фамилии И.О., код сотруднику присваиваетсяавтоматически. Перемещения по объектам ввода осуществляется с помощью клавишиTab или мыши. После заполнения всех данных необходимо нажать на кнопку спиктограммой />.
Ввод должностных данных осотруднике может производиться как в таблице, так и через форму «Должности»,должность и преподаваемый предмет выбираются в соответствующих списках, далееуказываются G (группа) коэффициент сотрудника и коэффициент обязательныхпенсионных взносов. В случае если сотрудник имеет несколько должностей, тоопция «расчет» определяет по каким данным, будут производиться расчеты. Всписке «ставка» указывается коэффициент ставки. Для учителей ставка при оплатене учитывается, но учитывается при начислениях, следовательно, коэффициентставки равен нулю, а для остальных он равен от 0,5 и далее. После заполнениявсех данных необходимо нажать кнопку />.
/>
Рисунок 9. Окно вводаданных о сотруднике
Если сотрудник занимаетболее одной должности или преподает более одного предмета, то необходимовызвать повторно окно программы «Должности» и повторить действия. Всяинформации о сотруднике отобразится подчиненной таблице окна «Ввод данных».
Редактирование, прищелчке мышью открывается окно программы «редактирование академических часов поклассам» (рисунок 12).
В данном окне дляудобства редактирования записей предусмотрены дополнительные диалоговые окна:

/>
Рисунок 10. Окно вводаличных данных сотрудника
При щелчке на кнопке«Должности» появляется окно для редактирования должностных данных (рисунок 13).
При щелчке на кнопке«Часы» появляется окно для изменения количества часов преподаваемого предмета(рисунок 14).
Учет рабочих дней ипропущенных дней производятся с помощью вызова диалогового окна программы «Учетрабочих дней», при нажатии кнопки столбца таблицы «РабДн».
Также в данном окнепрограммы организован поиск работников по Фамилии. Установлений опций «безучета регистра» позволяет вводить фамилию без заглавных букв, опция «по частистроки», позволяет вводить только часть фамилии. При указании обеих опций поискпроизводиться по двум параметрам одновременно.
Окно программы «Сведенияо должностях» открывается при нажатии кнопки «Должности». Окно программыделиться на две области, если работник занимает более одной должности илипреподает боле одного предмета. Данное диалоговое окно гарантирует безошибочныйввод данных о сотруднике.

/>
Рисунок 11. Окно вводадолжностных данных сотрудника
/>
Рисунок 12. Окноредактирования данных
Окно программы«Редактирования данных» (рисунок 13) наглядно отображает все должности ипредметы, которые соответствуют данному сотруднику. В данном окне удобнопроизводить соответствующие изменения данных о сотруднике.

/>
Рисунок 13. Окноредактирования должностных данных
Окно программы«Распределение учебных часов» (рисунок 14) наглядно отображает все предметы,которые соответствуют данному сотруднику. В данном окне удобно производитьсоответствующие изменения академических часов, закрепленные за данным учителем.
/>
Рисунок 14. Окноредактирования данных
Календарь, при щелчкемышью открывается окно программы «Учет рабочих дней» (рисунок 15).

/>
Рисунок 15. Окнопрограммы «Учет рабочих дней»
Если никаких измененийданных о сотрудниках не производиться, то для того чтобы произвести учетрабочих дней сотрудника вовсе не обязательно открывать окно программы«Редактирование». Окно программы «Учет рабочих дней» можно вызвать из окнакатегорий или любого окна программы из меню «Окно». Оно обеспечивает бухгалтерубыстрый ввод рабочих и пропущенных дней сотрудника. Учет рабочих дней состоитиз нескольких этапов:
-  Устанавливается одна из опций«Пятидневка» или «Шестидневка».
-  Затем устанавливается текущий год имесяц.
В объекте «Дни»автоматически в зависимости от установленного месяца и года отображаетсяколичество дней в месяце без воскресенья. В объекте «Выходные дни»устанавливаются праздничные дни, относящиеся к выходным. После введения всехпараметров необходимо нажать кнопку с пиктограммой />. Нажатие этой кнопки делаетактивной правую часть окна программы. Автоматически в объекты «рабочие дни» и«отработанные дни» помещается количество рабочих дней в месяце и отработанныедни сотрудником.
Если сотрудник покаким-либо причинам пропустил рабочий день, то это фиксируется в объекте«Пропущенные дни» и автоматически происходит изменение значения отработанныхдней.
В данном окне все данныелевой части окна программы считаются общими для всех сотрудников, ихустанавливают однажды, а правая часть окна индивидуальна для каждогосотрудника. Пропущенные дни устанавливаются для каждого сотрудника отдельно.Навигация по записям о сотрудниках происходит с помощью навигатора или поиска,который можно вызвать из меню «Файл».
При щелчке мышью покнопке «Расчет» открывается окно программы «Категории расчета» (рисунок 16).
Данное окно состоит издевяти объектов, при нажатии на которые выходят диалоговые окна программы, вкоторых указывается коэффициент расчета по соответствующей категории расчета.Навигация по записям производится с помощью навигатора или поиска, вызываемычерез меню «Окно».
/>
Рисунок 16. Окнопрограммы «Категории расчета»
Категории расчета:
Вредность, Вредностьрассчитывается работникам, которые в ходе своей деятельности наносят вредсвоему здоровью. Строка «Коэффициент» становится активной только для учителейхимии и ИВТ (рисунок 17).

/>
Рисунок 17. Окнопрограммы расчета вредности
Классное руководство, прищелчке мышью открывается окно программы расчета классного руководства (рисунок18), в котором указывается коэффициент расчета.
/>
Рисунок 18. Окнопрограммы расчета классного руководства
Проверка тетрадей, прищелчке мышью открывается окно программы расчета классного руководства (рисунок19), в котором указывается коэффициент расчета.

/>
Рисунок 19. Окнопрограммы расчета проверки тетрадей
Расчет проверки тетрадейпроисходит в зависимости от количества академических часов и от коэффициентарасчета.
Замена (рисунок 20), влевой части окна указываются часы замены, а в правой части подсчитываетсяначисления.
/>
Рисунок 20. Окно расчета«Замены часов»
Внеклассная работа(рисунок 21), в данном окне указывается расчетный коэффициент внекласснойработы.

/>
Рисунок 21. Окно расчетаза «Внеклассную работу»
Экология (рисунок 22), вданном окне рассчитывается экологические надбавки.
/>
Рисунок 22. Окно расчетаэкологических надбавок
Углубленное изучение(рисунок 23).
/>
Рисунок 23. Окно расчетаэкологических надбавок
Ставка (рисунок 24), приоткрытии данного диалогового окна можно получить сведения о расчетной ставкесотрудника, по которой производятся расчеты заработной платы и ставке, котораяучитывается при выплате заработной платы.

/>
Рисунок 24. Окно расчетаставки
При нажатии кноп «Итог»откроется диалоговое окно «Начисление заработной платы за текущий месяц»(рисунок 25).
Данное диалоговое окнопредоставляет сведения о произведенных начислениях. С помощью кнопки /> производитсявставка записи в таблицу «Год», где хранятся все начисления за проработанныегода. Кнопки /> «Таблица месяц» и «Таблица год»позволяют просмотреть данные о начислениях за текущий месяц и проработанныегода соответственно. При нажатии кнопки /> или кнопки «Удержание из ЗП»открывается окно программы (рисунок 26), в котором отображаются начислениясотрудника с начала года и доходы, не подлежащие налогообложению.
В левой части окнапрограммы отображаются доходы начисленные за текущий месяц, а в правой частиуказываются доходы не подлежащие налогообложению. При щелчке по кнопке «Данные»отображаются данные начисленных доходов и доходов, не подлежащихналогообложению с начала года.
При нажатии кнопки«Далее…» открывается окно программы «Сумма ОПВ и налоговые вычеты» (рисунок27).

/>
Рисунок 25. Окнопрограммы «Начисление заработной платы за текущий месяц»
/>
Рисунок 26 Окно программы«Начисление доходов»

/>
Рисунок 27. Окно программы«Сумма ОПВ и налоговые вычеты»
В левой части окнапрограммы отображаются обязательные пенсионные взносы за текущий месяц вразмере 10% от начисленной суммы, в правой части окна необходимо указатьналоговые вычеты за текущий месяц. При щелчке по кнопке «Данные…» отображаютсясумма ОПВ и налоговые вычеты с начала года.
С помощью меню «Окно»можно получить доступ к окнам просмотра по расчету индивидуального подоходногоналога, социального налога и окну доходов, подлежащих к выплате.
Пункт «Налоги» меню«Окно» состоит из шести подпунктов:
Коэффициент перерасчета,при щелчке мышью открывается окно просмотра (рисунок 28). При нажатии кнопки«Данные» отображаются данные: сумма облагаемого ИПН дохода с начала года,расчетная сумма облагаемого ИПН дохода, сумма ИПН с расчетной суммы облагаемогоИПН доходов и коэффициент перерасчета.

/>
Рисунок 28. Окнопросмотра
Сумма ИПН, при щелчкемышью открывается окно просмотра «Сумма ИПН» (рисунок 29). Кнопка «Данные»возвращает значения суммы ИПН за текущий месяц, удержанные в предыдущем месяцеи подлежащие удержанию. Так как сумма ИПН подлежащая удержанию используется вотчетах, то ее необходимо сохранить в таблице «Месяц» с помощью кнопки />.
 Сумма СО, при щелчкемышью открывается окно просмотра «Сумма СО» (рисунок 30). Кнопка «Данные»возвращает значения суммы социального налога с расчетной суммы дохода,облагаемого социальным налогом и значения суммы социального налога за текущиймесяц, удержанные в предыдущем месяце и подлежащие удержанию.

/>
Рисунок 29. Окно просмотра«Сумма ИПН»
Социальные отчисления исоциальный налог, при щелчке мышью открывается окно просмотра «Социальныеотчисления и социальный налог» (рисунок 31). Кнопка «Данные» возвращаетзначения доходов физических лиц, с которых исчисляются социальные отчисления,суммы социальных отчислений и значения социального налога за минусом социальныхотчислений с расчетной суммы дохода, облагаемого социальным налогом и значениясуммы социального налога за текущий месяц, удержанные в предыдущем месяце иподлежащие удержанию.

/>
Рисунок 30. Окнопросмотра «Сумма социальных отчислений»
Облагаемые и необлагаемыедоходы, при щелчке мышью открывается окно просмотра (рисунок 32). Кнопка«Данные» возвращает значения доходов, не являющиеся объектом обложениясоциальным налогом, за исключением ОПВ, доходов, облагаемые социальным налогоми значения расчетной суммы дохода, облагаемого социальным налогом.
/>
Рисунок 31. Окнопросмотра «Социальные отчисления и социальный налог»

/>
Рисунок 32. Окнопросмотра облагаемых и необлагаемых доходов
К выдаче, при щелчкемышью открывается окно просмотра доходов, подлежащих к выплате (рисунок 33).Кнопка «Данные» возвращает значения начисленной суммы без учета ИПН и ОПВ затекущий месяц. Так как сумма, подлежащая к выплате используется в отчетах, тоее необходимо сохранить в таблице «Месяц» с помощью кнопки />.

/>
Рисунок 33. Окнопросмотра доходов, подлежащих к выплате
С помощью меню «Отчеты»можно получить доступ к отчетам за налоговый период (рисунок 35) и к квиткам(рисунок 34)
/>
Рисунок 34 Квитки

/>
Рисунок 35. Отчет заналоговый период
Каждое извышеперечисленных окон программы имеет меню, с помощью которого можно выполнятьоперации ввода, редактирования и удаления записей, навигацию по записям,получить доступ к отчетам, перемещаться по необходимым диалоговым окнам из любогоактивного окна программы.
В меню «Окно» находитьсявызов окна программы общих коэффициентов (рисунок 36). Они используются прирасчетах и являются одинаковыми для всех сотрудников. При изменениикоэффициентов расчета их достаточно изменить в соответствующих объектах исохранить эти изменения. Эти изменения будут равносильны для каждого работникашколы.
В меню любого диалоговогоокна программы присутствует пункт «Справка», через которое организовываетсявызов справки. Здесь можно получить необходимую подробную информацию об эксплуатациипрограммы (рисунок 37).

/>
Рисунок 36. Окно вводарасчетных коэффициентов
/>
Рисунок 37 Окно справки
Формулы, используемые вданной курсовой работе для начисления заработной платы учителям школы:
1) расчетная ставка
Ставка = БДО*К
где базовый должностнойоклад (БДО) у всех сотрудников одинаковый, а коэффициент (К) зависит отразряда;
2) экологические надбавки

Экология = 1378.5*/>
3) вредность оплачиваетсяучителям Химии и ИВТ за нанесенный вред здоровью в ходе уроков
Вредность = БДО *Надбавочный коэффициент />
4) внеклассная работа
Внеклассная работа = БДО* Надбавочный коэффициент*/>
5) классное руководство
Классное руководство вначальных классах = БДО * Надбавочный коэффициент*/>
Классное руководство встарших классах = БДО * Надбавочный коэффициент*/>
Для определения оплатычасов замены необходимо вычислить размер оплаты разового и недельного часа вначальных классах и старших классах.
6) недельные и разовыечасы оплаты
Разовый час = />;
Недельный час = />;
Разовый час = />;
Недельный час = />;
8) замена углубленногоизучения
Замена углубленногоизучения = Часы замены в 1-4 классах * надбавочный коэффициент*/>*/>
Замена углубленногоизучения = Часы замены в 5-11 класса* надбавочный коэффициент*/>*/>
9) Оплата заменяемыхчасов в начальных классах
Замена = часы замены в0-4 классах * разовый час1-4класса+замена углубленного изучения в начальныхклассах;
10) Оплата заменяемыхчасов в старших классах
Замена = часы замены в5-11 классах * разовый час5-11класса+замена углубленного изучения в старшихклассах;
11) Углубленное изучение
Углубленное изучение вначальных классах = количество часов + часы индивидуальной групповойконсультации * надбавочный коэффициент*/>*/>
Углубленное изучение встарших классах = количество часов + часы индивидуальной групповой консультациив 5-11 классах + Надомное изучение в 5-11 классах* надбавочный коэффициент*/>*/>
12) проверка тетрадей
Проверка тетрадей в подготовительныхклассах = БДО *надбавочный коэффициент*/>
Проверка тетрадей вначальных классах =количество часов в 1-4 кл. * процентный показатель* */>*/>
Проверка тетрадей встарших классах = количество часов в 5-11 классах * процентный показатель*/>*/>
13) заработная платаначисляется в зависимости от нагрузки
Заработная плата вначальных классах = общее количество часов + индивидуальные групповыеконсультации в 1-4 классах* Недельный час в 1-4 классах.* />
Заработная плата встарших классах = общее количество часов + +Надомное изучение в 5-11 классах*индивидуальные групповые консультации в 5-11 классах* Недельный час в 5-11классах*/>
14) общая заработнаяплата в месяц учителей школ
Общая заработная плата вмесяц учителей школ = Проверка тетрадей + Заработная плата + Углубленноеизучение + Замещение + Экологические надбавки + Вредность + Внеклассная работа +классное руководство;
Формулы удержания иззаработной платы налоговых отчислений:
15) начислено доходов сначала года
Начислено доходов сначала года = доходы, начисленные в текущем месяце + доходы, начисленные впредыдущем месяце с начала года;
16) доходы, не подлежащиеналогообложению с начала года
Доходы, не подлежащиеналогообложению с начала года = доходы, не подлежащие налогообложению в текущеммесяце + доходы, не подлежащие налогообложению в предыдущем месяце с началагода;
17) обязательныепенсионные взносы за текущий месяц
Обязательные пенсионныевзносы за текущий месяц = Общая заработная плата за текущий месяц / процент ОПВ(10%);
18) сумма Обязательныхпенсионных взносов
Сумма ОПВ = Обязательныепенсионные взносы за текущий месяц + сумма обязательных пенсионных взносов впредыдущем месяц с начала года;
19) налоговые вычеты сначала года
Налоговые вычеты с началагода = Налоговые вычеты за текущий месяц + Налоговые вычеты в предыдущем месяцес начала года;
20) сумма облагаемого ИПНдохода с начала года
Сумма облагаемого ИПНдохода с начала года = Начислено доходов с начала года — Доходы, не подлежащиеналогообложению с начала года — Сумма ОПВ с начала года — Налоговые вычеты сначала года;
21) коэффициентперерасчета
Коэффициент перерасчета =количество месяцев до конца налогового периода / месяц по порядку егодеятельности на данном предприятии;
22) расчетная суммаоблагаемого ИПН дохода
Расчетная суммаоблагаемого ИПН дохода = Сумма облагаемого ИПН дохода с начала года *Коэффициент перерасчета;
23) сумма ИПН с расчетнойсуммы облагаемого ИПН доходов
Сумма ИПН с расчетнойсуммы облагаемого ИПН доходов= =ЕСЛИ(Расчетная сумма облагаемого ИПН дохода>=6991200, ТО 973525+(Расчетная сумма облагаемого ИПН дохода -6991200)*20%;ИНАЧЕ ЕСЛИ ( Расчетная сумма облагаемого ИПН дохода >=2330400, ТО274405+(Расчетная сумма облагаемого ИПН дохода -2330400)*15%; ИНАЧЕЕСЛИ(Расчетная сумма облагаемого ИПН дохода >=466080, ТО 32043+(Расчетнаясумма облагаемого ИПН дохода -466080)*13%; ИНАЧЕ ЕСЛИ (Расчетная суммаоблагаемого ИПН дохода >=174780, ТО 8739+(Расчетная сумма облагаемого ИПН дохода-174780)*8%; ИНАЧЕ Расчетная сумма облагаемого ИПН дохода *5%))));
24) сумма ИПН налога заотчетный месяц
Сумма ИПН налога заотчетный месяц = Сумма ИПН с расчетной суммы облагаемого ИПН доходов /Коэффициент перерасчета;
25) сумма ИПН, удержанныев предыдущие месяцы
Сумма ИПН, удержанные впредыдущие месяцы = Сумма ИПН налога за предыдущий отчетный месяц;
26) сумма ИПН, подлежащаяудержанию
Сумма ИПН, подлежащаяудержанию = Сумма ИПН налога за отчетный месяц — Сумма ИПН, удержанные впредыдущие месяцы;
27) доходы, не являющиесяобъектом обложения социальным налогом, за исключение ОПВ за отчетный месяц
Доходы, не являющиесяобъектом обложения социальным налогом, за исключение ОПВ за отчетный месяц =доходы, не подлежащие налогообложению в текущем месяце;
28) доходы, не являющиесяобъектом обложения социальным налогом, за исключение ОПВ с начала года
Доходы, не являющиесяобъектом обложения социальным налогом, за исключение ОПВ с начала года =Доходы, не являющиеся объектом обложения социальным налогом, за исключение ОПВза отчетный месяц + Доходы, не являющиеся объектом обложения социальнымналогом, за исключение ОПВ в предыдущем месяце с начала года;
29) доходы, облагаемыесоциальным налогом за отчетный период
Доходы, облагаемыесоциальным налогом за отчетный период = доходы, начисленные в текущем месяце — Обязательные пенсионные взносы за текущий месяц — Доходы, не являющиесяобъектом обложения социальным налогом, за исключение ОПВ за отчетный месяц;
30) доходы, облагаемыесоциальным налогом с начала года
Доходы, облагаемыесоциальным налогом с начала года = Доходы, облагаемые социальным налогом заотчетный месяц + Доходы, облагаемые социальным налогом в предыдущем месяце сначала года;
31) расчетная суммадохода, облагаемого социальным налогом
Расчетная сумма дохода,облагаемого социальным налогом = Доходы, облагаемые социальным налогом с началагода * Коэффициент перерасчета;
32) сумма социальногоналога с расчетной суммы дохода, облагаемого социальным налогом
Сумма социального налогас расчетной суммы дохода, облагаемого социальным налогом = ЕСЛИ(Расчетная суммадохода, облагаемого социальным налогом >=6991200, ТО 973525+( Расчетнаясумма дохода, облагаемого социальным налогом -6991200)*20%; ИНАЧЕЕСЛИ(Расчетная сумма дохода, облагаемого социальным налогом >=2330400, ТО274405+(Расчетная сумма дохода, облагаемого социальным налогом -2330400)*15%;ИНАЧЕ ЕСЛИ (Расчетная сумма дохода, облагаемого социальным налогом >=466080,ТО 32043+( Расчетная сумма дохода, облагаемого социальным налогом -466080)*13%;ИНАЧЕ ЕСЛИ (Расчетная сумма дохода, облагаемого социальным налогом >=174780,ТО 8739+(Расчетная сумма дохода, облагаемого социальным налогом -174780)*8%;ИНАЧЕ Расчетная сумма дохода, облагаемого социальным налогом *5%))));
33) сумма социальногоналога за отчетный месяц
Сумма социального налога за отчетный месяц = Сумма социального налога с расчетнойсуммы дохода, облагаемого социальным налогом / /Коэффициент перерасчета;
34) сумма социальногоналога за предыдущие месяцы года
Сумма социального налогаза предыдущие месяцы года = Сумма социального налога за предыдущий отчетный месяц;
35) сумма социальногоналога подлежащего уплате
Сумма социального налога подлежащего уплате = Сумма социального налога за отчетный месяц — Сумма социального налога за предыдущиемесяцы года;
36) доходы физическихлиц, с которых исчисляются социальные отчисления
Доходы физических лиц, скоторых исчисляются социальные отчисления = доходы, начисленные в текущеммесяце — доходы, не подлежащие налогообложению в текущем месяце — Обязательныепенсионные взносы за текущий месяц;
37) сумма социальныхотчислений
Сумма социальныхотчислений = Доходы физических лиц, с которых исчисляются социальныеотчисления*1,5% / 100%;

38) сумма социальногоналога за минусом социальных отчислений
Сумма социального налогаза минусом социальных отчислений = Сумма социального налога подлежащего уплате — Сумма CО;
39) доходы подлежащие квыплате
Доходы подлежащие квыплате = доходы, начисленные в текущем месяце – ОПВ за текущий месяц – СуммаИПН, подлежащая удержанию.

ЗАКЛЮЧЕНИЕ
В данной дипломнойработе, при проектировании информационной системы «Начисление заработной платысотрудникам школы» были рассмотрены принципы проектирования концептуальноймодели, логической модели и были рассмотрены основные причины, по которымданный выбор программного обеспечения Delphi был целесообразным.
Во второй главе дипломнойработы было представлено непосредственно само подключение базы данных Access к среде Delphi. В данной главе был рассмотрен перенос логическоймодели данных в Access, принципыучета и контроля рабочего времени для всех категорий работающих, принципыудержания из заработной платы налоговых отчислений, этапы и формулы начислениязаработной платы. Так же были представлены рисунки пользовательскогоинтерфейса.
При разработкепользовательского интерфейса для информационной системы «Начисления заработнойплаты сотрудникам средне-специальных учебных заведений» расчет заработной платыпроизводился для администрации и преподавательского состава. Такжепроизводились налоговые вычеты, по каждому месяцу, были созданы отчеты затекущий месяц по всему персоналу и квитки по каждому работнику.
Данная программа быласоздана по просьбе бухгалтеров школы №31, так как программа «1С – бухгалтерия»предназначена для различных сфер применения, и для того чтобы ее освоитьнеобходимо очень много времени, сил и средств. Очень не многие бухгалтера могутосвоить программу «1С — бухгалтерия», и поэтому они прибегают к другим способамрасчета заработной платы к таким как бумажный способ или расчет заработнойплаты с помощью электронных таблиц Excel. В данном случае расчеты производятсяв ручную по каждому сотруднику индивидуально. Это очень трудоемкий процесс изанимает очень много времени и ресурсов компьютера.
Созданная программа оченьпроста в применении и дополнительных знаний она не потребует. Данная программаудовлетворяет всем требованиям пожеланиям и замечаниям бухгалтеров школы №39 г.Усть-Каменогорска.

СПИСОК ЛИТЕРАТУРЫ
1.        Симонович С.Специальная информатика /С. Симонович, Г. Евсеев, А. Алексеев. – М.: АСТпресс,2001. – 478с.
2.        Бакаревич Ю.Самоучитель Microsoft Access 2002 /Ю. Бакаревич, Н. Пушкина. — СПб.: БХВ –Петербург, 2004. – 720 с.
3.        Бобровский С.Delphi7 учебный курс /С. Бобровский. – СПб.: Питер, 2004. – 834с.
4.        Фаронов В.Система программирования Delphi/В. Фаронов. – СПб.: БХВ-Петербург, 2004. – 888с.
5.        Родостовец В.П.Бухгалтерский учет для предприятий /В.П. Родостовец. – Алматы: Каржы – Каражат,2002. – 978с.
6.        Смурыгина И.Бюллетень бухгалтера: В помощь бухгалтеру /И. Смурыгина, К. Жанбыршиева // БИКО– 2005. — №6. – с.6-9
7.        Гончаров А.Ю.Access 2003 /А.Ю. Гончаров. – М.: Кудиц – Образ, 2004. – 964с.
8.        Михеева В. Microsoft Access 2002 / В. Михеева, И. Харитонова. — СПб.: БХВ –Петербург, 2003. – 1040с.
9.        Фаронов В.Программирование баз данных в Delphi/В. Фаронов. – СПб.: Питер, 2004. – 759с.
10.     Гофман В. Работас базами данных в Delphi /В. Гофман. – СПб.: БХВ – Петербург, 2003. – 958с.
11.     Роб П. Системыбаз данных: проектирование, реализация и управление /П. Роб. — СПб.: БХВ –Петербург, 2004. – 1018с.
12.     Гофман В. Работас базами данных в Delphi /В. Гофман, А. Хомоненко. — СПб.: БХВ – Петербург,2003. – 624с.
13.     Драхвелидзе П.Программирование в Delphi 7 /П. Драхвелидзе, Е. Марков. — СПб.: БХВ –Петербург, 2004. – 784 с.
14.     Хомоненко А.Самоучитель Delphi /А. Хомоненко, В. Гофман. — СПб.: БХВ – Петербург, 2003. –576с.
15.     Михеев С.Л.Access 2000 /С.Л. Михеев.– М.: Кудиц – Образ, 2000. – 964с.
16.     Роббинс Д.Отладка приложений /Д. Робинс. – СПб.: БХВ – Петербург, 2003. – 512с.
17.     Бекаревич Ю.Самоучитель Microsoft Access 2000 /Ю. Бекаревич, Н. Пушкина.- СПб.: БХВ –Петербург, 2000. – 480с.
18.     Бекаревич Ю. Microsoft Access 2000 за 30 занятий / Ю. Бекаревич, Н. Пушкина.- СПб.:БХВ – Петербург, 2000. – 480с.
19.     Мамаев Е. MS SQLServer: проектирование и реализация баз данных /Е. Мамаев.- СПб.: БХВ –Петербург, 2003. – 496с.
20.     Понамарев В. COMи ActiveX в Delphi /В. Понамарев.- СПб.: БХВ – Петербург, 2000. – 320с.
21.     Тихомиров Ю. Microsoft SQL Server /Ю. Тихомиров.- СПб.: БХВ – Петербург, 2000. – 320с.
22.      Долженков В. Microsoft Excel 2002 /В. Долженков, Ю.Колесников.- СПб.: БХВ – Петербург, 2000. – 1072с.
23.      Андерсен В. Разработкаприложений в Access 97 /В. Андерсен.- СПб.: БХВ – Петербург, 2000. – 320с.
24.      Гарнаев А. Microsoft Excel: разработка приложений /А.Гарнаев.- СПб.: БХВ – Петербург, 2000. – 320 с.
25.     Родостовец В.П.Бухгалтерский учет: учебный курс /В.П. Родостовец. – Алматы: Каржы – Каражат,2002. – 978с.
26.     Фаронов В.Система программирования Delphi/В. Фаронов. – СПб.: БХВ-Петербург, 2004. – 888с.
27.     Гофман В. Работас базами данных в Delphi /В. Гофман, А. Хомоненко. — СПб.: БХВ – Петербург,2003. – 624с.
28.     Понамарев В.Механизм доступа ActiveX в Delphi /В. Понамарев.- СПб.: БХВ –Петербург, 2000. – 320с.
29.     Бекаревич Ю. Microsoft Access 2000: Экспресс-курс /Ю. Бекаревич, Н. Пушкина.- СПб.:БХВ – Петербург, 2000. – 480с.
30.     Погорелов В.Delphi: Быстрый старт /В. Погорелов.- СПб.: БХВ – Петербург, 2000. – 320с.

ПРИЛОЖЕНИЕ А
Листинг главной формыпрограммы
unitUnMainForm;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,ExtCtrls, menu, jpeg, StdCtrls, Buttons;
var
MainForm:TMainForm;
implementation
uses menu_ras,dmPayU, prjBase, grid_Year;
{$R *.dfm}
procedureTMainForm.FormCreate(Sender: TObject);
begin
SpeedButton1.Hint:='Выход';
SpeedButton2.Hint:='Справка';
SpeedButton3.Hint:='Расчет ЗП';
SpeedButton4.Hint:='Данные за прошедшие года';
SpeedButton5.Hint:='Ввод\редактирование'+chr(13)+ 'данных о работниках';
end;
procedureTMainForm.Label2Click(Sender: TObject);
begin
MainForm.Visible:=false;
frm_menu.ShowModal;
end;
procedureTMainForm.Label5Click(Sender: TObject);
begin
winhelp(MainForm.Handle,'HLP1.HLP',HELP_CONTEXT,1);
end;
procedureTMainForm.Label3Click(Sender: TObject);
begin
MainForm.Visible:=false;
menu2.ShowModal;
end;
procedureTMainForm.Label7Click(Sender: TObject);
begin
TabYear.ShowModal;
end;
procedureTMainForm.SpeedButton1Click(Sender: TObject);
begin
mainform.Close;
end;
procedureTMainForm.SpeedButton5Click(Sender: TObject);
begin
MainForm.Visible:=false;
frm_menu.ShowModal;
end;
procedureTMainForm.SpeedButton3Click(Sender: TObject);
begin
MainForm.Visible:=false;
menu2.ShowModal;
end;
procedureTMainForm.SpeedButton4Click(Sender: TObject);
begin
TabYear.ShowModal;
end;
procedureTMainForm.SpeedButton2Click(Sender: TObject);
begin
winhelp(MainForm.Handle,'HLP1.HLP',HELP_CONTEXT,1); end;

ПРИЛОЖЕНИЕ Б
Листинг модуля данных
unit dmPayU;
interface
uses
SysUtils,Classes, DB, ADODB, DdeMan, OleServer, ExcelXP;
proceduremoveCalcFields(DataSet: TDataSet);
procedurepersonCalcFields(DataSet: TDataSet);
procedureyearCalcFields(DataSet: TDataSet);
var
dmPay: TdmPay;
implementation
{$R *.dfm}
procedureTdmPay.moveCalcFields(DataSet: TDataSet);
begin
//ставка длярасчета
withdmPay.move do
fields[33].AsCurrency:=fields[3].AsFloat*person.Fields[4].AsCurrency;
//недельныйчас (1-4)классах
ifdmpay.move.Fields[28].AsBoolean=true then
with dmpay.movedo
fields[34].AsCurrency:=fields[33].AsCurrency/coff.Fields[1].AsFloat
else
withdmpay.move do
fields[34].AsCurrency:=0;
//недельныйчас (5-11)классах
ifdmpay.move.Fields[28].AsBoolean=true then
withdmpay.move do
fields[35].AsCurrency:=fields[33].AsCurrency/coff.Fields[2].AsFloat
else
withdmpay.move do
fields[35].AsCurrency:=0;
//разовый час(1-4)
ifdmpay.move.Fields[28].AsBoolean=true then
withdmpay.move do
fields[36].AsCurrency:=fields[33].AsCurrency/coff.Fields[3].AsFloat
else
withdmpay.move do
fields[36].AsCurrency:=0;
//разовый час(5-11)
ifdmpay.move.Fields[28].AsBoolean=true then
withdmpay.move do
fields[37].AsCurrency:=fields[33].AsCurrency/coff.Fields[4].AsFloat
else
withdmpay.move do
fields[37].AsCurrency:=0;
//Экология
ifdmpay.move.Fields[28].AsBoolean=true then
withdmPay.move do
fields[39].AsFloat:=coff.Fields[5].AsFloat*person.fields[9].AsFloat/person.fields[7].AsFloat
elsedmpay.move.fields[39].AsCurrency:=0;
//ЗП
withdmpay.move do
fields[40].AsCurrency:=((fields[5].AsFloat+fields[6].AsFloat+fields[9].AsFloat+fields[10].AsFloat+fields[13].AsFloat+fields[14].AsFloat)*fields[34].AsFloat+(fields[7].AsFloat+fields[8].AsFloat+fields[11].AsFloat+fields[12].AsFloat+fields[15].AsFloat+fields[16].AsFloat)*fields[35].AsFloat)*person.Fields[9].AsInteger/person.Fields[7].AsInteger;
// Проверкатетрадей
if(dmPay.move.FieldByName('Предмет').AsString='начальные классы') then
begin
withdmpay.move do
fields[41].AsCurrency:=dmpay.person.Fields[4].AsCurrency*fields[25].AsFloat*person.Fields[9].AsInteger/person.Fields[7].AsInteger
end else
withdmpay.move do
iffields[29].AsBoolean=true then
begin
fields[41].AsCurrency:=((fields[5].AsFloat+fields[6].AsFloat+(fields[9].AsFloat+fields[10].AsFloat+fields[13].AsFloat+fields[14].AsFloat)/2)*fields[25].AsFloat/coff.Fields[1].AsFloat+((fields[7].AsFloat+(fields[11].AsFloat+fields[15].AsFloat)/2)*fields[26].AsFloat+(fields[8].AsFloat+(fields[12].AsFloat+fields[16].AsFloat)/2)*fields[27].AsFloat/coff.Fields[2].AsFloat)*person.Fields[4].AsCurrency*person.Fields[9].AsInteger/person.Fields[7].AsInteger
end else
withdmpay.move do
fields[41].AsCurrency:=((fields[5].AsFloat+fields[6].AsFloat)*fields[25].AsFloat/coff.Fields[1].AsFloat+(fields[7].AsFloat*fields[26].AsFloat+fields[8].AsFloat*fields[27].AsFloat/coff.Fields[2].AsFloat)*person.Fields[4].AsCurrency*person.Fields[9].AsInteger/person.Fields[7].AsInteger;
// Замена
withdmpay.move do
fields[42].AsCurrency:=(fields[17].AsFloat+ fields[18].AsFloat) * fields[36].AsFloat + (fields[19].AsFloat+ fields[20].AsFloat)* fields[37].AsFloat;
 // Углубленное изучение
with dmpay.move do
fields[43].AsCurrency:=((fields[5].AsFloat+fields[6].AsFloat+fields[9].AsFloat+fields[10].AsFloat+fields[13].AsFloat+fields[14].AsFloat)/coff.Fields[1].AsFloat+(fields[7].AsFloat+fields[11].AsFloat+fields[15].AsFloat+fields[8].AsFloat+fields[12].AsFloat+fields[16].AsFloat)/coff.Fields[2].AsFloat)*person.Fields[4].AsCurrency*fields[22].AsFloat*person.Fields[9].AsInteger/person.Fields[7].AsInteger;
// Замена углубленногоизучения
with dmpay.move do
fields[44].AsCurrency:=((fields[17].AsFloat+fields[18].AsFloat)/coff.Fields[3].AsFloat+ (fields[19].AsFloat+fields[20].AsFloat) / coff.Fields[4].AsFloat) *fields[22].AsFloat*person.Fields[4].AsFloat;
//Оплатаставки
withdmpay.move do
fields[45].AsCurrency:=fields[30].AsFloat*fields[33].AsFloat*person.Fields[9].AsInteger/ person.Fields[7].AsInteger;
//Классное руководство
with dmpay.move do
fields[46].AsCurrency:=person.Fields[4].AsFloat*fields[21].AsFloat*person.Fields[9].AsInteger / person.Fields[7].AsInteger;
//Вредность
withdmpay.move do
fields[47].AsCurrency:=person.Fields[4].AsFloat*fields[23].AsFloat*person.Fields[9].AsInteger/person.Fields[7].AsInteger;
// Внекласснаяработа
withdmpay.move do
fields[48].AsCurrency:=person.Fields[4].AsFloat*fields[24].AsFloat*person.Fields[9].AsInteger/person.Fields[7].AsInteger;
//Итого
with dmpay.movedo
fields[49].AsCurrency:=fields[47].AsCurrency+fields[46].AsCurrency+fields[45].AsCurrency+fields[44].AsCurrency+fields[42].AsCurrency+fields[41].AsCurrency+fields[40].AsCurrency+fields[39].AsCurrency+fields[48].AsCurrency+fields[43].AsCurrency;
//Обязательные пенсионныевзносы
with dmpay.move do
fields[53].AsCurrency:=fields[54].AsFloat*fields[49].AsFloat;
 end;
procedureTdmPay.personCalcFields(DataSet: TDataSet);
begin
withdmPay.person do
fields[9].AsFloat:=fields[7].AsFloat-fields[8].AsFloat;
end;
Листинг окна поиска:
procedureTfff.SpeedButton2Click(Sender: TObject);
varLO:TLocateOptions;
begin
LO:=[];
ifCheckBox1.Checked then LO:=LO+[loCaseInsensitive];
ifCheckbox2.Checked then LO:=[loPartialKey];
dmPay.person.Locate('P_Name',edit1.Text,LO);
fff.Close;
end;
end.

ПРИЛОЖЕНИЕ В
Листинг окна программы«Сумма ИПН»
unit ipn;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, DBCtrls, Mask, ExtCtrls, ExcelXP, OleServer, Menus;
var
frm_ipn:Tfrm_ipn;
implementation
uses dmPayU,sum_soc, soc, prjBase, tabTime, frm_tim, frm_kl_ruk, frm_propusk, PropD,frm_vnekl, frm_vred, frm_ekolg, Zam, frm_kn;
{$R *.dfm}
procedureTfrm_ipn.Button1Click(Sender: TObject);
varn:OleVariant;
begin
n:='C:\ЗарПлата\nal.xls';
excelapplication1.Workbooks.Open(n,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelApplication1.Cells.Item[13,11].value:=DBedit2.Text;
ExcelWorkbook1.Save;
// обмен данными
edit39.Text:=excelapplication1.Cells.Item[13,10];
edit40.Text:=excelapplication1.Cells.Item[14,10];
edit41.Text:=excelapplication1.Cells.Item[15,10];
edit42.Text:=excelapplication1.Cells.Item[16,10];
edit43.Text:=excelapplication1.Cells.Item[17,10];
edit44.Text:=excelapplication1.Cells.Item[18,10];
edit45.Text:=excelapplication1.Cells.Item[19,10];
edit46.Text:=excelapplication1.Cells.Item[20,10];
edit47.Text:=excelapplication1.Cells.Item[21,10];
edit48.Text:=excelapplication1.Cells.Item[22,10];
edit49.Text:=excelapplication1.Cells.Item[23,10];
edit50.Text:=excelapplication1.Cells.Item[24,10];
edit52.Text:=excelapplication1.Cells.Item[25,10];
edit27.Text:=excelapplication1.Cells.Item[13,12];
edit28.Text:=excelapplication1.Cells.Item[14,12];
edit29.Text:=excelapplication1.Cells.Item[15,12];
edit30.Text:=excelapplication1.Cells.Item[16,12];
edit31.Text:=excelapplication1.Cells.Item[17,12];
edit32.Text:=excelapplication1.Cells.Item[18,12];
edit33.Text:=excelapplication1.Cells.Item[19,12];
edit34.Text:=excelapplication1.Cells.Item[20,12];
edit35.Text:=excelapplication1.Cells.Item[21,12];
edit36.Text:=excelapplication1.Cells.Item[22,12];
edit37.Text:=excelapplication1.Cells.Item[23,12];
edit38.Text:=excelapplication1.Cells.Item[24,12];
Edit1.Text:=excelapplication1.Cells.Item[13,13];
edit2.Text:=excelapplication1.Cells.Item[14,13];
edit3.Text:=excelapplication1.Cells.Item[15,13];
edit4.Text:=excelapplication1.Cells.Item[16,13];
edit5.Text:=excelapplication1.Cells.Item[17,13];
edit6.Text:=excelapplication1.Cells.Item[18,13];
edit7.Text:=excelapplication1.Cells.Item[19,13];
edit8.Text:=excelapplication1.Cells.Item[20,13];
edit9.Text:=excelapplication1.Cells.Item[21,13];
edit10.Text:=excelapplication1.Cells.Item[22,13];
edit11.Text:=excelapplication1.Cells.Item[23,13];
edit12.Text:=excelapplication1.Cells.Item[24,13];
Edit13.Text:=excelapplication1.Cells.Item[13,11];
edit14.Text:=excelapplication1.Cells.Item[14,11];
edit15.Text:=excelapplication1.Cells.Item[15,11];
edit16.Text:=excelapplication1.Cells.Item[16,11];
edit17.Text:=excelapplication1.Cells.Item[17,11];
edit18.Text:=excelapplication1.Cells.Item[18,11];
edit19.Text:=excelapplication1.Cells.Item[19,11];
edit20.Text:=excelapplication1.Cells.Item[20,11];
edit21.Text:=excelapplication1.Cells.Item[21,11];
edit22.Text:=excelapplication1.Cells.Item[22,11];
edit23.Text:=excelapplication1.Cells.Item[23,11];
edit24.Text:=excelapplication1.Cells.Item[24,11];
end;
procedureTfrm_ipn.N3Click(Sender: TObject);
varn:OleVariant;
begin
n:='C:\ЗарПлата\nal.xls';
excelapplication1.Workbooks.Open(n,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelApplication1.Cells.Item[13,11].value:=DBedit2.Text;
ExcelWorkbook1.Save;
edit39.Text:=excelapplication1.Cells.Item[13,10];
edit40.Text:=excelapplication1.Cells.Item[14,10];
edit41.Text:=excelapplication1.Cells.Item[15,10];
edit42.Text:=excelapplication1.Cells.Item[16,10];
edit43.Text:=excelapplication1.Cells.Item[17,10];
edit44.Text:=excelapplication1.Cells.Item[18,10];
edit45.Text:=excelapplication1.Cells.Item[19,10];
edit46.Text:=excelapplication1.Cells.Item[20,10];
edit47.Text:=excelapplication1.Cells.Item[21,10];
edit48.Text:=excelapplication1.Cells.Item[22,10];
edit49.Text:=excelapplication1.Cells.Item[23,10];
edit50.Text:=excelapplication1.Cells.Item[24,10];
edit52.Text:=excelapplication1.Cells.Item[25,10];
edit27.Text:=excelapplication1.Cells.Item[13,12];
edit28.Text:=excelapplication1.Cells.Item[14,12];
edit29.Text:=excelapplication1.Cells.Item[15,12];
edit30.Text:=excelapplication1.Cells.Item[16,12];
edit31.Text:=excelapplication1.Cells.Item[17,12];
edit32.Text:=excelapplication1.Cells.Item[18,12];
edit33.Text:=excelapplication1.Cells.Item[19,12];
edit34.Text:=excelapplication1.Cells.Item[20,12];
edit35.Text:=excelapplication1.Cells.Item[21,12];
edit36.Text:=excelapplication1.Cells.Item[22,12];
edit37.Text:=excelapplication1.Cells.Item[23,12];
edit38.Text:=excelapplication1.Cells.Item[24,12];
Edit1.Text:=excelapplication1.Cells.Item[13,13];
edit2.Text:=excelapplication1.Cells.Item[14,13];
edit3.Text:=excelapplication1.Cells.Item[15,13];
edit4.Text:=excelapplication1.Cells.Item[16,13];
edit5.Text:=excelapplication1.Cells.Item[17,13];
edit6.Text:=excelapplication1.Cells.Item[18,13];
edit7.Text:=excelapplication1.Cells.Item[19,13];
edit8.Text:=excelapplication1.Cells.Item[20,13];
edit9.Text:=excelapplication1.Cells.Item[21,13];
edit10.Text:=excelapplication1.Cells.Item[22,13];
edit11.Text:=excelapplication1.Cells.Item[23,13];
edit12.Text:=excelapplication1.Cells.Item[24,13];
Edit13.Text:=excelapplication1.Cells.Item[13,11];
edit14.Text:=excelapplication1.Cells.Item[14,11];
edit15.Text:=excelapplication1.Cells.Item[15,11];
edit16.Text:=excelapplication1.Cells.Item[16,11];
edit17.Text:=excelapplication1.Cells.Item[17,11];
edit18.Text:=excelapplication1.Cells.Item[18,11];
edit19.Text:=excelapplication1.Cells.Item[19,11];
edit20.Text:=excelapplication1.Cells.Item[20,11];
edit21.Text:=excelapplication1.Cells.Item[21,11];
edit22.Text:=excelapplication1.Cells.Item[22,11];
edit23.Text:=excelapplication1.Cells.Item[23,11];
edit24.Text:=excelapplication1.Cells.Item[24,11];
end;
end.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.