Разработка информационной системы учета медицинских услуг

Проблемы автоматизации предприятий. Определение и классификация систем автоматизации. Реализация автоматизированной информационной системы. Назначение программы учета медицинских услуг, отбор записей для анализа. Код основных элементов программы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.12.2011
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

В целях снижения статического напряжения мышц рук следует использовать стационарные или съемные подлокотники, регулирующиеся по высоте под сиденьями и внутреннему расстоянию между подлокотниками. Регулирования каждого положения должно быть независимым, легко осуществимым и иметь надежную фиксацию. Поверхность сиденья должна иметь ширину и глубину не менее 400 мм. Должна быть предусмотрена возможность изменения угла наклона поверхности сиденья от 15 вперед до 5 назад. Высота поверхности сиденья должна регулироваться в пределах от 400 до 550 мм. Опорная поверхность спинки стула (кресла) должна иметь высоту (320) мм, ширину не менее 380 мм и радиус кривизны в горизонтальной плоскости 400 мм. Угол наклона спинки в вертикальной плоскости должен регулироваться в пределах от 260 до 400 мм. Подлокотники должны быть длиной не менее 250 мм, шириной - 50-70 мм, иметь возможность регулирования по высоте над сиденьем в пределах (23030) мм и регулирования внутреннего расстояния между подлокотниками в пределах от 350 до 500 мм.

Так как у сотрудников рост находится в диапазоне от 161-175 сантиметров, рабочие столы имеют пространство для ног высотой, 70 сантиметров, шириной, 55 сантиметров, глубиной на уровне колен, 50 сантиметров и на уровне вытянутых ног, 65 сантиметров. Рабочие стулья имеют высоту над полом 42 сантиметра, ширину сиденья 34 сантиметра, глубину сиденья 38 сантиметров, высоту нижнего края спинки над сиденьем 17 сантиметров, высоту верхнего края спинки над сиденьем 36 сантиметров, высоту линии прогиба спинки 21 сантиметр, радиус изгиба переднего края сиденья 5 сантиметров, угол наклона сиденья 4 градуса, угол наклона спинки 108 градусов [9].

1. В описанном выше помещении, где работа на ПК является основной, должны обеспечиваться оптимальные параметры микроклимата (таблица 3.2).

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

Период года

Температура воздуха гр. С не более

Относительная влажность воздуха, %

Скорость движения воздуха, м/с

Холодный

23-24

40-60

0,1

Теплый

22-24

40-60

0,2

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

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

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

Содержание вредных химических веществ в воздухе не должно превышать «Предельно допустимых концентраций загрязняющих веществ в атмосферном воздухе населенных мест».

По физиологическому воздействию вредные вещества подразделяют на пять групп:

- раздражающие, которые поражают дыхательные пути, кожи, слизистые оболочки (кислоты, щёлочи, сернистые соединения, аммиак, хлор и др.);

- удушающие (инертные газы, углекислый газ, метан, азот и др.);

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

- летучие наркотики, оказывающие наркотическое действие (ацетилен, летучие углеводороды);

- пыли (инертные или вызывающие аллергические реакции).

Санитарно-химические исследования должны проводиться при осуществлении текущего санитарного надзора за состоянием воздушной среды и условиями применения ПК в процессе эксплуатации.

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

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

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

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

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

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

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

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

Разрабатывая систему, являющуюся вспомогательной частью для организации производственного и учебного процессов, мы должны учесть ее влияние на окружающую среду и человека (пользователя)[2].

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

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

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

Электромагнитным загрязнением называют повышенные уровни электромагнитных полей (ЭМП) с излучением в диапазоне частот от 0 Гц до 300ГГц.

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

К естественным электромагнитным полям (ЭМП) относится магнитное поле Земли. Оно характеризуется напряженностью, которая измеряется в амперах на метр (А/м), и возрастает с широтой. Наряду с закономерным изменением характеристик магнитного поля по земной поверхности имеют место глобальные, региональные и локальные особенности или аномалии, связанные с залежами полезных ископаемых или производственной деятельностью человека.

В отдельных районах искусственные ЭМП в сотни раз выше среднего естественного поля. Количество источников искусственных ЭМП с каждым годом возрастает, они существенно нарушают естественную электромагнитную обстановку, и большая часть населения промышленно-развитых районов живет и работает в условиях повышенной активности ЭМП[2].

Электромагнитное облучение населения в городских условиях имеет особенности. К ним относятся:

- одновременный двойственный характер облучения (электромагнитный фон от множества статистических источников суммируется с ЭМП от сосредоточенных источников);

- высокая концентрация источников ЭМП и населения на единицу площади, что затрудняет медико-экологическую оценку данного явления;

- долговременное воздействия ЭМП (как правило, круглосуточно и на протяжении ряда лет);

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

Воздействие ЭМП на организм человека - явление, во многом не изученное. Для многих параметров не разработаны отечественные нормативы допустимости воздействия ЭМП на человека. Тем не менее, разработаны и действуют предельно-допустимые уровни (ПДУ) для населения значения напряженности электрического поля:

1) внутри жилых зданий 0,5 кВ/м;

2) на территории зоны жилой застройки 1кВ/м;

3) в населенной местности, вне зоны жилой застройки, а также на территории садов и огородов 5 кВ/м;

4) на участках пересечения линий электропередачи с автомобильными дорогами 1-4 категории 10 кВ/м;

5) в ненаселенной местности 15 кВ/м;

6) в труднодоступной местности и на участках специально огороженных для исключения доступа населения 20 кВ/м;

Если напряженность электрического поля превышает предельно допустимые уровни, должны быть приняты меры по ее снижению.

Персональные компьютеры с электронно-лучевыми трубками и типа Notebоок являются источниками электромагнитных излучений весьма широкого диапазона частот. Основными источниками ЭМП, в данном случае, являются:

- экран монитора, наэлектризованная поверхность стола и коврик для мыши (электростатические поля);

- питающие провода и системный блок (частота 50 Гц);

- системы строчной развертки (диапазон частот 15-130 кГц);

- системы кадровой развертки (диапазон частот 50-150 кГц).

Наиболее сильные уровни излучений наблюдаются от верхней и боковых стенок мониторов, причем зона превышения гигиенических стандартов может простираться до 2,5 метров[3].

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

3.3 Экология

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

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

1) лица, подвергающиеся воздействию электрического поля до 30 мин/сут.;

2) лица, подвергающиеся воздействию электрического поля до 120 мин/сут.;

3) лица, подвергающиеся воздействию электрического поля круглосуточно.

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

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

Влияние на сердечно-сосудистую систему. Начальное воздействие поля напряженностью 6-3В/м приводило к значительному повышению частоты пульса. В более поздние сроки облучения наблюдалось снижение частоты сердечных сокращений. ЭМП напряженностью 1 и 0,5В/м вызвано замедление ритма сердца, а дальнейшие изменения носили фазовый характер.

Экспериментальные данные по изучению действия ЭМП СВ- диапазона различной интенсивности на сердечно-сосудистую систему свидетельствуют о том, что электромагнитная энергия малой интенсивности при длительном воздействии неблагоприятно влияет на вегетативную нервную и сердечно-сосудистую системы.

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

Экспериментальное изучение биологического действия этого фактора внешней среды показало, что он обладает биологической активностью. Его неблагоприятное действие на организм может проявиться при напряженности поля, равной 1000 В/м. Наиболее чувствительна к такому воздействию нервная система, функциональное изменение который внесет за собой напряжение других систем организма, в частности эндокринного аппарата, а также обменных процессов. Оценивая биологическое влияние ЭМП в целом, можно отметить, что воздействие слабых ЭМП на целостный организм чаще всего приводит к нарушениям физиологических функций; ритма сердечных сокращений и уровня кровяного давления, электрической активности мозга и возбудимости нервных клеток, обменных процессов и иммунной активности[4].

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

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

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

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

Санитарные правила и нормы «Гигиенические требования к организации и условиям работы с видеодисплейными терминалами и персональными электронно-вычислительными машинами» (СанПиН) разработаны Казахской Республиканской санитарно-эпидемиологической станцией при уча¬стии Казахского Республиканского научно-методического центра инфор¬матизации образования (РЦИО)[1].

Они регламентируют гигиенические требования к проектированию, размеще¬нию и эксплуатации отечественных и импортных видеодисплейных термина¬лов (ВДТ) с электронно-лучевыми, жидкокристаллическими и плазменными трубками, используемыми во всех типах электронно-вычислительных машин, в производственном оборудовании и игровых комплексах на базе персональных электронно-вычислительных машин (ПЭВМ), персональных компьютеров (ПК) и электронных систем (ЭС) на их основе, принадлежащих министерствам, ве¬домствам, хозяйствующим субъектам независимо от подчиненности и форм собственности.

Заключение

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

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

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

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

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

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

Список использованных источников:

Безопасность жизнедеятельности: Краткий конспект лекций для студентов всех специальностей /Под ред. О.Н. Русака. - СПб.:Б.И., 2000г.-115с.

Безопасность использования электроустановок /Под ред. В.Ф. Кротов.- М., 1990г.-94 с.

Бойко В.В. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 2003. - 351 с.

Брылов С.А. и др. Охрана окружающей среды. - М.: Высшая школа, 2001.

Глухов В.В., Лисочкина Т.В., Некрасова Т.П. Экономические основы экологии: учебник. - Специальная литература. СПб.: 2005-280с.

Закон «О труде в Республике Казахстан» от 10.12.1999г. Система «Юрист 5.0.».

ЗРК “О безопасности и охране труда” от 28.02.2004 г. Система «Юрист 5.0.»

И. Баженова Visual Fox Pro 6.0 - М.: Диалог-МИФИ, 2005. - 416 с.

Кимель Л.Р. Защита от ионизирующих излучений. Справочник, 2002. 312 с.

Кириллов В.В. Структурированный язык запросов (SQL). - СПб.: ИТМО, 1994. - 80 с.

Ктиторов А.Ф. Безопасность использования ВДТ и ПЭВМ, 2002г.-152с.

Ктиторов А.Ф. Безопасность использования ВДТ и ПЭВМ.-М.:

Лабораторные работы по Экономике промышленности для студентов специальности 37.01.

Мазур И.И. Курс инженерной экологии: Учеб. для вузов. -М.:Высш.шк.,1999.-447 с.: ил.

Менахем Базиян и др. Использование Visual FoxPro 6. - М.: Вильямс, 2005. - 925 с.

Методические рекомендации по определению сравнительной экономической эффективности новой техники. - Л.: Знание,1989г.

Новиков Ю.В. Природа и человек. М.: Просвещение, 2000. 496с.

Новицкас Ю.М. Экономика ЭВМ.- Л.: Машиностроение, Ленингр.отделение, 2005.-176 с.

Охрана окружающей среды / под ред. Проф. С.В. Белова,- М.: Высшая школа, 2005.

Охрана труда в вычислительных центрах. -М.: Машиностроение,1985.-176 с.

Охрана труда при работе за компьютером и с копировальной техникой.-Мытищи: УПЦ “Талант”, 2002.-80 с.

Перегудов Ф.И. Информационные системы для руководителей.-М.:Финансы и статистика, 1999.-176.:ил.

Петров В.Н. Информационные системы.-СПб.: Питер ,2003.-688 с.:ил.

Предельно допустимые концентрации загрязняющих веществ в атмосферном воздухе населенных мест. № 3086-84. Минздрав СССР.

Самгин Э.Б. Освещение рабочих мест.-М: МИРЭА, 1989 -205с.

СанПин 1.01.004.01 “Гигиенические требования к организации и условиям работы с ВДТ и ПЭВМ”. Астана, изд. офиц. 2001г.

Сахаев В.Г. Охрана окружающей среды: Справочник, - Киев: Будивельник, 2003.

Сибаров Ю.Т. и др. Охрана труда в ВЦ, Машиностроение, 2000г.-192с.

Сибаров Ю.Т. Охрана труда в ВЦ.- М.:Соуэло, 2000-168 с.

Технико-экономическое обоснование дипломных проектов: Учеб. пособие для втузов. /Под ред. В.К. Беклешова. - М.:Высшая школа, 2000г.

Фаронов В. Система программирования Delphi - М.: Вильямс, 2000. - 925 с.

Хоружая Т.А. Методы оценки экологической опасности. - М.: Экспертное бюро-М, 2005. 224 с.

Хоружая Т.А. Методы оценки экологической опасности. - М.: Экспертное бюро-М, 2001. 224 с.

Шафрин Ю.А. Офисная технология и информационные системы.- М.: Лаборатория Базовых знаний,2003. -336 с.

Шумилин В.К. Компьютер на рабочем месте.- М.:Соуэло, 2000-168 с.

Приложение. Код основных элементов программы

procedure TFNewSotr.Button1Click(Sender: TObject);

begin

with QNewSotr do

begin

if EFio.Text='' then

begin

ShowMessage();

exit;

end;

if cbSex.Text ='' then

begin

ShowMessage();

exit;

end;

if EBirth.Text<>'' then

try

StrToDate(EBirth.Text);

except

ShowMessage();

exit;

end else

begin

ShowMessage();

exit;

end;

ParamByName('SotrFIO').asString := EFio.Text;

ParamByName('BirthData').asDate := StrToDate(EBirth.Text);

ParamByName('Sex').asString := cbSex.Text;

if cbPNPriv.Text='' then ParamByName('PNPriv').asInteger :=0

else ParamByName('PNPriv').asInteger :=StrToInt(cbPNPriv.Text);

ParamByName('IsPens').asBoolean := cbIsPens.Checked;

ParamByName('Childs').asSmallInt := udChilds.Position;

ExecSQL;

QLastSotr.Open;

SotrID := QLastSotrLastSotr.asInteger;

end;

begin

DayCount := 0;

DecodeDate(Data, Year, Mon, Day);

CurrDate := EncodeDate(Year, Mon, 1);

LastDate := IncMonth(CurrDate, 1)-1;

DMState.QHolydays.Params.ParamByName('Data1').asDate := CurrDate;

DMState.QHolydays.Params.ParamByName('Data2').asDate := LastDate;

DMState.QHolydays.Open;

DecodeDate(LastDate,Year, Mon, Days);

case WorkDays of

5 :for i := 0 to Days-1 do if (DayOfWeek(EncodeDate(Year, Mon, i+1))<>1) and

(DayOfWeek(EncodeDate(Year, Mon, i+1))<>7) then

inc(DayCount);

6 :for i := 0 to Days-1 do if (DayOfWeek(EncodeDate(Year, Mon, i+1))<>1) then

inc(DayCount);

else DayCount := -1;

end;

if DayCount=-1 then result:=-1 else

Result := DayCount-DMState.QHolydaysCountOfData.asInteger;

DMState.QHolydays.Close;

end;

procedure TFZarplMaster.FormShow(Sender: TObject);

var Year, Mon, Day :word;

begin

Screen.Cursor := crHourGlass;

try

FZarplMaster.NB1.ActivePage := 'PodrPage';

CalcedPodr := 0;

Edit1.Text := '';

DecodeDate(Date, Year, Mon, Day);

CalcedDate := EncodeDate(Year, Mon, 1);

CalcedMon := Mon;

Case CalcedMon of

1: CalcedMonStr := 'январь '+IntToStr(Year);

2: CalcedMonStr := 'февраль '+IntToStr(Year);

3: CalcedMonStr := 'март '+IntToStr(Year);

4: CalcedMonStr := 'апрель '+IntToStr(Year);

5: CalcedMonStr := 'май '+IntToStr(Year);

6: CalcedMonStr := 'июнь '+IntToStr(Year);

7: CalcedMonStr := 'июль '+IntToStr(Year);

8: CalcedMonStr := 'август '+IntToStr(Year);

9: CalcedMonStr := 'сентябрь '+IntToStr(Year);

10: CalcedMonStr := 'октябрь '+IntToStr(Year);

11: CalcedMonStr := 'ноябрь '+IntToStr(Year);

12: CalcedMonStr := 'декабрь '+IntToStr(Year);

end; //case

Button11.Enabled := false;

MMOT := FBuhMain.MMOT;

MRP := FBuhMain.MRP;

DMMaster.QStateTypes.Open;

Button28.Enabled := false;

Button28_2.Enabled := false;

finally

screen.Cursor := crDefault;

end;

end;

Расчет подоходного налога - модуль UPNFunc:

function NewPN(SotrID, Mon :integer) :real;

//function CalcPN(Summa: Real): real;

implementation

uses UDMCalc, UDMMaster, UZarplMaster;

var NalCount :integer;

Nal : array[0..15,0..1] of Real;

Koef : array[0..11] of real;

procedure LoadKoefs;

var i,j: integer;

begin

with DMCalc do

begin

QNalog.Open;

NalCount := QNalog.RecordCount;

for i := 0 to NalCOunt-1 do

begin

Nal[i,0] := QNalogMaxSumma.asFloat;

Nal[i,1] := QNalogPercent.asInteger;

QNalog.Next;

end;

QNalog.Close;

QNalKoef.Open;

for j := 0 to 11 do

begin

Koef[j] := QNalKoefKoef.asFloat;

QNalKoef.Next;

end;

QNalKoef.Close;

end;

end;

function CalcPN(Summa: Real): real;

var i : integer;

begin

//процедура определения суммы ПН из расчета годового дохода

Result :=0;

if Summa <=0 then

begin

Result := 0;

Exit;

end;

for i := 0 to NalCount do

if Summa <= Nal[i,0] then

if i=0 then

begin

Result := Summa*Nal[i,1]/100;

Exit;

end else

begin

Result := Result+(Summa-Nal[i-1,0])*Nal[i,1]/100;

Exit;

end else

if i=0 then Result := Result+Nal[i,0]*Nal[i,1]/100

else Result := Result+(Nal[i,0]-Nal[i-1,0])*Nal[i,1]/100 ;

end;

function NewPN(SotrID, Mon:integer) :real;

var YearBase, YearPN, NeedPN :real;

begin

LoadKoefs;

with DMMaster do

begin

QSumForPN.PArams.PAramByName('SotrID').asInteger := SotrID;

//Сначала определяем базу - облагаемый доход за год

QSumForPN.Params.ParamByName('GroupID').asInteger := 6;

QSumForPN.Open;

YearBase := QSumForPNSumma.asFLoat;

QSumForPN.Close;

//Теперь - уже уплаченный ПН

QSumForPN.Params.ParamBYName('GroupID').asInteger := 5;

QSumForPN.Open;

YearPN := -QSumForPNSumma.asFLoat;

QSumForPN.Close;

//Расчет ПН с вычетом МРП

QSotrsChild.Params.PAramByName('SotrID').asInteger := SotrID;

QSotrsChild.Open;

NeedPN := CalcPN((YearBase-FZarplMaster.MRP*QSotrsChildChilds.asInteger *Mon)*Koef[Mon-1])/Koef[Mon-1]; // else

NeedPN := NeedPN*(100-QSotrsChildPNPriv.asInteger)/100;

QSotrsChild.Close;

end;

Result := NeedPN-YearPN;

end;

end.

Модуль расчета начислений и удержаний:

begin

{Начисление ПФ и ПН}

Screen.Cursor := crHourGlass;

try

with DMMaster, QSvmPdrEx do

begin

First;

FIndicator.Maxim := RecordCount;

FIndicator.Caption := 'Расчет основных удержаний';

FIndicator.Show;

for i := 0 to RecordCount-1 do

begin

CurrSovm := QSvmPdrExNum.asInteger;

CurrSotr := QSvmPdrExSotrID.asInteger;

Kateg := QSvmPdrExKategory.asInteger;

//Расчет пенсионных отчислений

QSumByGrMon.Params.PAramByName('StateType').asString:= StateType;

QSumByGrMon.Params.PAramByName('SovmID').asInteger:= CurrSovm ;

QSumByGrMon.Params.PAramByName('Mon').asInteger := CalcedMon;

QSumByGrMon.Params.PAramByName('GroupID').asInteger := 1;

QSumByGrMon.Open;

//Внесено для разделения ПФ по основному окладу и внутреннему совместительству

QCalcByType.Params.PAramByName('SovmID').asInteger := CurrSovm ;

QCalcByType.Params.PAramByName('Mon').asInteger := CalcedMon;

QCalcByType.Params.PAramByName('CalcType').asInteger := 24;

QCalcByType.Open;

QNCalcs.PArams.PAramByName('SovmID').asInteger := CurrSovm;

QNCalcs.Params.ParamByName('GroupID').asInteger := 2;

//Все удержания

QNCalcs.Open;

PN := 0;

for j := 0 to QNCalcs.RecordCount-1 do

begin

Calc := QNCalcsCalcType.asInteger;

if QNCalcsAct.asBoolean=true then

if QNCalcsKind.asString='NA' then //Произвольные и сложные доплаты

case Calc of

//Пенсфонд

17: begin

//Если пенсионер - то в пенсионный фонд не отчисляем

if QSvmPdrExIsPens.asBoolean=false then

AddCalc(Kateg, CurrSovm, CurrSotr, 17, 'Пенс. фонд',

-(QSumByGrMonSumma.asFloat-QCalcByTypeSumma.asFloat)*0.1);

end;

//Подоходный налог

19: begin

PN := -NewPN(QSvmPdrExSotrID.asInteger, CalcedMon);

AddCalc(Kateg, CurrSovm, CurrSotr, 19, 'Подоходный налог', PN);

end;

//Профсоюзный взнос

21: begin

if QSvmPdrExIsPens.asBoolean then

AddCalc(Kateg, CurrSovm, CurrSotr, 21, 'Проф. взнос',

-QSumByGrMonSumma.asFloat*0.01)

else

AddCalc(Kateg, CurrSovm, CurrSotr, 21, 'Проф. взнос',

-QSumByGrMonSumma.asFloat*0.009);

end;

//Алименты

1: begin

AddCalc(Kateg, CurrSovm, CurrSotr, 1, 'Исп. лист',

-(QSumByGrMonSumma.asFloat-PN)*QSvmPdrExAlim.asInteger/100);

end;

//Алименты - почтовые расходы

2: begin

AddCalc(Kateg, CurrSovm,CurrSotr,1, 'Исп. лист-почт. расходы',

-(QSumByGrMonSumma.asFloat-PN)*QSvmPdrExAlim.asInteger*0.05/100);

end;

end //case

else

if QNCalcsKind.asString='P' then //Все удержания процентом

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, -QSumByGrMonSumma.asFloat*QNCalcsBase.asFloat/100)

else

if QNCalcsKind.asString='S' then //Все удержания суммой

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, -QNCalcsBase.asFloat)

else

if QNCalcsKind.asString='MR' then //Все МРП-зависимые удержания

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, -MRP*QNCalcsBase.asFloat);

QNCalcs.Next;

end;

QSumByGrMon.Close;

FIndicator.OneStep(QSvmPdrExSotrFIO.asString,1);

QNCalcs.Close;

QCalcByType.Close;

next;

end;

First;

FIndicator.Close;

end;

VedMaking;

finally

Screen.Cursor := crDefault;

NB1.ActivePage := 'EAddPage';

end;

end;

procedure TFZarplMaster.Button38Click(Sender: TObject);

var i, j, CurrSovm, CurrSotr, Kateg, TotDays, Calc :integer;

Oklad, DayKoef, DekanDayKoef :real;

s1 :string;

begin

with DMMaster, QForAdds do

begin

Params.PAramByname('PodrID').asInteger := CalcedPodr;

Params.PAramByName('StateType').asString := StateType;

Params.ParamByname('Mon').asInteger := CalcedMon;

Open;

FIndicator.Maxim := RecordCount;

FIndicator.Caption := 'Расчет основных начислений';

FIndicator.Show;

FIndicator.OneStep(QForAddsSotrFIO.asString, 1);

for i := 0 to RecordCount-1 do

if QForAddsSovmType.asString<>'Внутренний совместитель' then

begin

s1 := QForAddsSovmType.asString;

CurrSotr := QForAddsSotrID.asInteger;

CurrSovm := QForAddsNum.asInteger;

Kateg := QForAddsKategory.asInteger;

TotDays := WorkDaysOfMonth(CalcedDate, QForAddsCalendar.asInteger);

DayKoef := QForAddsDays.asInteger/TotDays;

DekanDayKoef := QForAddsDekanDays.asInteger/TotDays;

Oklad:=QForAddsTarKoef.asFLoat*QForAddsStavka.asFloat*MMOT*DayKoef;

QNCalcs.PArams.ParamByName('SovmID').asInteger := QForAddsNum.asInteger;

QNCalcs.PArams.ParamByName('GroupID').asInteger := 1;

QNCalcs.Open;

for j := 0 to QNCalcs.RecordCount-1 do

begin

Calc := QNCalcsCalcType.asInteger;

if QNCalcsAct.asBoolean=true then

if QNCalcsKind.asString='NA' then //Произвольные и сложные доплаты

case Calc of

14: AddCalc(Kateg,CurrSovm,CurrSotr,Calc,QNCalcsDescription.asString,Oklad);

10: AddCalc(Kateg,CurrSovm,CurrSotr,Calc,QNCalcsDescription.asString,Oklad*0.15*DekanDayKoef);

56: AddCalc(Kateg,CurrSovm,CurrSotr,Calc,QNCalcsDescription.asString,Oklad*0.1*DekanDayKoef);

31: begin

QZona.Params.ParamByName('SovmID').asInteger := CurrSovm;

QZona.Open;

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString,

QNCalcsBase.asFloat*DayKoef*MMOT*LoadTarif(QZonaZonaT.asInteger)/100);

QZona.Close;

end;

end else

if QNCalcsKind.asString='P' then //Все доплаты процентом

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, Oklad*QNCalcsBase.asFloat/100)

else

if QNCalcsKind.asString='S'

then

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, QNCalcsBase.asFloat)

else

if QNCalcsKind.asString='MO' then //Все ММОТ-зависимые доплаты

AddCalc(Kateg,CurrSovm,CurrSotr,Calc,QNCalcsDescription.asString,QForAddsStavka.asFloat*DayKoef*MMOT*QNCalcsBase.asFloat)

else

if QNCalcsKind.asString='MR' then //Все МРП-зависимые доплаты

AddCalc(Kateg, CurrSovm, CurrSotr, Calc, QNCalcsDescription.asString, MRP*QNCalcsBase.asFloat);

QNCalcs.Next;

end;

QNCalcs.Close;

Next;

FIndicator.OneStep(QForAddsSotrFIO.asString,1);

end else

begin

s1 := QForAddsSovmType.asString;

QMainID.Params.PAramByName('SotrID').asInteger:= QForAddsSotrID.asInteger;

QMainID.PArams.PAramByName('StateType').asString := StateType;

QMainID.Open;

CurrSovm := QMainIDNum.asInteger;

QMainID.Close;

TotDays := WorkDaysOfMonth(CalcedDate, QForAddsCalendar.asInteger);

DayKoef := QForAddsDays.asInteger/TotDays;

DekanDayKoef := QForAddsDekanDays.asInteger/TotDays;

QNCalcs.PArams.ParamByName('SovmID').asInteger := QForAddsNum.asInteger;

QNCalcs.PArams.ParamByName('GroupID').asInteger := 1;

QNCalcs.Open;

Oklad := 0;

for j := 0 to QNCalcs.RecordCount-1 do

begin

Calc := QNCalcsCalcType.asInteger;

if QNCalcsAct.asBoolean=true then

if QNCalcsKind.asString='NA' case Calc of

14:

Oklad:=Oklad+QForAddsTarKoef.asFLoat*QForAddsStavka.asFloat*MMOT*DayKoef;

10: Oklad := Oklad + Oklad*0.15*DekanDayKoef;

56: Oklad := Oklad + Oklad*0.1*DekanDayKoef;

31: begin

QZona.Params.ParamByName('SovmID').asInteger := CurrSovm;

QZona.Open;

Oklad:=Oklad+QNCalcsBase.asFloat*DayKoef*MMOT*LoadTarif(QZonaZonaT.asInteger)/100;

QZona.Close;

end;

end //case

else

if QNCalcsKind.asString='P' then //Все доплаты процентом

Oklad := Oklad + Oklad*QNCalcsBase.asFloat/100

else

if QNCalcsKind.asString='S' then //Все доплаты суммой

Oklad := Oklad + QNCalcsBase.asFloat

else

if QNCalcsKind.asString='MO' then //Все ММОТ-зависимые доплаты

//Степень

Oklad := Oklad + QForAddsStavka.asFloat *DayKoef*MMOT *QNCalcsBase. asFloat

else

if QNCalcsKind.asString='MR' then //Все МРП-зависимые доплаты

Oklad := Oklad + MRP*QNCalcsBase.asFloat;

QNCalcs.Next;

end;

QNCalcs.Close;

AddCalc(QForAddsKategory.asInteger, CurrSovm, QForAddsSotrID.asInteger, 24, 'за совмещение', Oklad);

if QForAddsIsPens.asBoolean=false then

AddCalc(QForAddsKategory.asInteger, CurrSovm, QForAddsSotrID.asInteger, 52, 'Пенс.фонд - совмещение', -Oklad/10);

FIndicator.OneStep(QSovmsByPodrSotrFIO.asString,1);

Next;

end;

Close;

QSvmPdrEx.Close;

QSvmPdrEx.Params.ParamByName('PodrID').asInteger := CalcedPodr;

QSvmPdrEx.Params.ParamByName('StateType').asString := StateType;

QSvmPdrEx.Open;

QTimeTable.Close;

FIndicator.Close;

NB1.ActivePage := 'AddPage';

end;end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.