91238

Разработка информационной системы для учета материалов на складах (на примере ОАО «Химмашбор»)

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-07-14

948.5 KB

0 чел.

Введение

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

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

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

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

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

Таким образом, целью данной работы является разработка информационной системы для учета материалов на складах (на примере ОАО «Химмашбор»).


1. Описание технических и программных средств

1.1 Описание аппаратных средств

При разработке программы «Учет материалов на складах» использовался компьютер со следующими характеристиками:

Системный блок:

Материнская плата

Epox VIA KT600-8237

CPU

AMD Sempron 2800+ (2000)

RAM

Excalibrus-Tech 256 MB

HDD

Samsung SP0802N (74,5 GB)

Видеоадаптер

ATI Radeon 9600 Series

DVD-привод

NEC DVD-RW ND-3540A

FDD

Samsung

Монитор

LG Flatron ez T730BH

ИБП

Ippon Back Power Pro 500

Колонки

Genius SP-Q10

Клавиатура

Genius KB-06XE

Мышь

Genius NetScroll Eye Optical

Принтер

Canon Pixma IP 1600

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

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

Спецификация ATX определяет распределенную панель, на которой находятся разъемы для последовательных и параллельного интерфейсов, портов для клавиатуры, монитора, мышки, аудио- и MIDI-устройств. При необходимости могут быть добавлены разъемы для ISDN, модема и локальные сети.

Один из ключевых элементов спецификации ATX-шина USB (универсальная последовательная шина). На подключение по USB рассчитаны многие современные принтеры, сканеры, фото адаптеры.

Разъёмы являются внешними, видимыми частями внутренних шин. Внутри же материнской платы находятся сами шины. Они представляют собой «магистрали», по которым движутся сигналы от контроллеров к процессору. Самые распространённые шины: PSI – для подключения дополнительных контроллеров устройств, VGA и PSA-E – для подключения видеокарт, USB для подключения других периферийных устройств и другие. Имеются так же разъёмы для подключения жестких дисков и CD приводов. На материнской плате так же располагаются и другие важные части компьютера, такие как BIOS, CMOS, платы оперативной памяти и центральный процессор.

Как отдельное устройство материнская плата так же имеет свой контроллер – «чипсет», который физически представляет собой две микросхемы: Северный мост и южный мост. Чипсет синхронизирует частоту работы материнской платы с частотами других устройств.

Данная материнская плата имеет следующие характеристики:

  •  Socket A;
  •  Чипсет VIA VT8377 Apollo KT600;
  •  BIOS: Phoenix - AwardBIOS v6.00PG;
  •  Слоты расширений: 1 AGP 8X, 5 PCI;
  •  Слоты ОЗУ: 2 DIMM;
  •  Встроенные устройства: VIA AC'97 Enhanced Audio Controller;
  •  Форм-фактор: ATX.

Процессор – это микросхема которая выполняет все операции по обработке данных. Главной величиной, которая характеризует процессор является быстродействие, которая определяется тактовой частотой. Тактовая частота измеряется в герцах (количество действий в единицу времени). Минимальной единицей времени для процессора – такт. Это время за которое процессор выполняет одну операцию. Тактовая частота показывает скорость выполнения операций внутри процессора, то есть количество операций в единицу времени. За единицу времени принята секунда.

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

На процессоре так же имеется своя cashe-память. Первоначально она располагалась на материнской плате. Для увеличения производительности её разделили на две части: Cashe L1 и Cashe L2. Cashe L1 поместили внутрь корпуса процессора. Именно она определяет максимальную производительность процессора, так как время доступа к ней в 10 раз быстрее чем к Cashe L2.

Процессор установленный в данном системном AMD Athlon XP 2800+ с реальной тактовой частотой 2000 MHz, кэш-память второго уровня L2 256 Кб. Микропроцессор выполнен по 0,13-микронной технологии.

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

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

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

На данном компьютере установлен модуль памяти EXCALIBRUS-TECH на 256 Мб.

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

Среднее время доступа – это время которое затрачивается на то чтобы искомый сектор оказался под головкой после её выведения на дорожку.

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

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

Существует два основных типа интерфейсов:

IDE ATA – самый распространённый среднескоростной интерфейс, совместимый практически со всем оборудованием и поэтому используется более чем в 90% компьютерах.

SCSI – более высокоскоростной, менее совместимый и распространённый интерфейс. Можно подключать не только жесткие диски, но и другое оборудование, удовлетворяющее этому интерфейсу.

На данном компьютере установлен HDD со следующими характеристиками:

  •  форматированная емкость 80 Гб;
  •  интерфейс Ultra-ATA/133;
  •  скорость вращения шпинделя 7200 об/мин;
  •  скорость передачи данных 133 Мб/с;
  •  объем буфера 2 Мб.

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

Данный видеоадаптер имеет следующие характеристики:

  •  Объем видеоОЗУ : 128 Мб;
  •  Тип видеопамяти: DDR SDRAM;
  •  Тип шины: AGP 8x;
  •  Разъёмы для подключения монитора: VGA, DVI.

Монитор – устройство вывода информации, которое помогает пользователю в работе. Мониторы бывают двух основных видов: CRT и LCD.

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

LCD – жидкокристаллический монитор. В нём существует светофильтр, который создаёт 2 раздельные световые волны и независимо от угла падения пропускает только ту у которой плоскость поляризации параллельна его оси.

 Накопитель DVD+/-RW представляет собой запоминающее устройство относительно большой ёмкости со сменными носителями с оптической записью информации. Привод предназначен для чтения и записи CD и DVD дисков. Мой DVD+/-RW был изготовлен фирмой NEC.

 Основные скоростные характеристики привода:

  •  Скорость записи  DVD+R DL: 8x,
  •  Скорость записи DVD-R DL: 4x,
  •  Скорость чтения /записи DVD+RW: 16x/8x,
  •  Скорость чтения /записи DVD-RW: 16x/6x,
  •  Скорость записи DVD-R: 16x,
  •  Скорость записи DVD+R: 16x,
  •  Скорость чтения DVD-ROM: 16x,
  •  Скорость чтения /перезаписи/записи CD: 48x/32x/48x

Дисковод 3.5” – это устройство для чтения и записи информации на гибкие магнитные носители. Дисковод 3.5” из-за своей простоты, недороговизны, удобства использования получили широкое распространение.

Клавиатура – это основное устройство ПК, используемое для ввода в систему команд и данных. В состав данного ПК входит расширенная клавиатура фирмы  Genius.

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

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

Принтер, подключенный к компьютеру, изготовлен фирмой Canon, модели iP1600. Печать струйная, скорость до 18 страниц в минуту, максимальное разрешение 4800*1200 dpi, интерфейс подключения USB. В струйных принтерах ионизированные капельки чернил через сопла распыляются на бумагу. Распыление происходит в тех местах, где необходимо сформировать буквы или изображения.


1.2  Описание операционной системы

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

Ядро операционной системы (Kernel) – стержневая часть операционной системы, которая постоянно находящаяся в оперативной памяти ПК, управляетвсей операционной системой, реализует системные вызовы и содержит: драйверы устройств, подпрограммы управления памятью, планировщик заданий и т.д.

ОС Windows 2000 Professional пришла на смену хорошо известной в нашей стране Windows NT 4.0 Workstation. Windows 2000 Professional в первую очередь ориентирована на корпоративного пользователя, т. е. предназначается для выполнения офисных приложений. Однако, благодаря тому, что эта система проще в установке, поддерживает Plug and Play и значительно большее количество аппаратных средств, чем Windows NT 4.0, она получит признание среди тех, кому нужна надежная и мощная платформа для самых разных приложений.

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

1. Используется привычный интерфейс Windows, но более простой и «интеллектуальный». Удалены лишние элементы пользовательского интерфейса, стандартные элементы стали интуитивно понятными. Упрощен механизм поиска информации, ставший при этом более эффективным. Обеспечивается поддержка множества национальных языков.

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

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

4. Имеются эффективные инструменты для работы с Интернетом,                встроенные в систему, которые ускоряют работу и поиск информации в сети WEB.

Windows 2000 Professional наследует традиционно сильные черты систем Windows NT: защищенность информации, высокую надежность, производительность.

Защищенность информации обеспечивается благодаря использованию модифицированной файловой системы NTFS 5.0, шифрующей файловой системы (EFS), коммуникационных протоколов, позволяющих создавать закрытие, виртуальные частные сети (VPN), протокола аутентификации Kerberos (в сетях Windows 2000) и технологий управления доступом, таких как смарт-карты.

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

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

Система Windows 2000 Professional обеспечивает лучшую поддержку существующих приложений и драйверов. Новая система поддерживает множество имеющихся 32-разрядных приложений, а также 16-разрядные Win и DOS-приложения. Однако приложения, не соответствующие модели безопасности Windows NT, не будут работать, в Windows 2000 Professional. Новая система имеет значительно расширенный список совместимых аппаратных устройств. Поддерживаются устройства нового поколения: компьютеры с возможностями управления питанием, шины AQP, USB и ШЕЕ; 1394, DVD-диски, адаптеры ATM, кабельные модемы и т. д. Имеется встроенная сетевая поддержка для подключения к системам Windows NT Server, Novell NetWare или UNIX.

В системе Windows 2000 Professional реализованы многие  решения, призванные уменьшить затраты на эксплуатацию системы в корпоративных сетях. Расширены возможности обновления существующих систем при установке Windows 200O Professional, упрощен и автоматизирован сам процесс инсталляции системы. Система имеет развитые средства удаленного администрирования, установки и удаления программ и встроенной диагностики процесса загрузки.

Надёжность работы.

В Windows XP упрощён процесс установки и настройки компьютерного оборудования, а также управления ими: включена поддержка технологии Plug & Play для большинства устройств, усовершенствована поддержка шин USB, IEEE 1394, PCI и многих других стандартов и типов шин.

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

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

  Новые возможности коммуникации.

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

С помощью “Мастера домашней сети” можно объединить компьютеры в одноранговую сеть, причём с любого из них можно будет работать в Интернете через единственное модемное соединение.

В Windows XP безопасность при соединении с Интернетом обеспечивается с помощью встроенного средства, так называемого брандмауэра.

 Цифровой звук, изображение и видео.

В Windows ХР используется восьмая версия проигрывателя Windows Media Player, в котором объединены основные операции по обработке мультимедийных материалов. К ним относятся: воспроизведение компакт-дисков и DVD-дисков, управление библиотеками песен и фильмов, создание мультимедиа-файлов и компакт-дисков, воспроизведение Интернет-радио, запись мультимедиа-файлов на переносные устройства.

Программа Windows Movie Maker предназначена для захвата видеопотока и создания видеофайлов в формате WMA, а также редактирование видео- и аудиоматериалов, их сохранения или публикации на веб-узлах. Windows Movie Maker обеспечивает запись материалов только в формате WMA, однако способен читать и воспроизводить любые популярные форматы, поддерживаемые технологией DirectShow.

 Пользователь Windows ХР может создать компакт-диски в форматах CD-R и CD-RW, позволяющих осуществлять однократную или многократную запись.

  В среде Windows XP Professional ничего не происходит без участия и благословения ОС. Ядро – это центральная часть Windows XP Professional, «мальчик на побегушках» между операционной системой и процессором компьютера. Кроме того, ядро отвечает за планирование и упорядочивание всех взаимодействий системы с компьютером. Оно управляет всеми операциями между процессами режима ядра, которые называются потоками. Поток – это последовательность инструкций, присвоенная команде выполняющейся программы. Поток обладает адресами памяти, планом предоставления процессорного времени и остальными параметрами, необходимыми для исполнения на компьютере.

Ядро Windows XP состоит из 3-х частей: Kernel, User и GDI.

Ядро (Kernel) является основанием всей архитектуры Windows 2000. Ядро не является обычным процессором, функционирующим в системе наряду с другими процессорами. Ядро обладает исключительными правами на доступ к оборудованию системы. Ядро отвечает за выделение памяти для приложений, обмен данными с аппаратным обеспечением, переключение между работающими в системе процессами. В состав ядра входит планировщик потоков, который назначает каждому из потоков один из 32 уровней приоритета (от 0 до 31). Уровень приоритета 0 зарезервирован для системного потока, который в фоновом режиме обнуляет страницы памяти. Планировщик потоков осуществляет переключение между выполняемыми процессами в соответствии с принципом приоритетной многозадачности. Ядро также осуществляет управление обработчиками аппаратных и программных прерываний модуля Windows NT Execute, а также такими объектами синхронизации, как мьютексы, семафоры, события и блокировки.

В ранних версиях Windows представлен  файле Krnl386.exe.

 User – служит для работы с клавиатурой, мышью, таймерами, портами, а так же выполняет функцию по отображению элементов графического интерфейса: окон, меню, значков. В ранних версиях Windows представлен в файле user.exe.

 GDI поддерживает графические процедуры: прорисовку линий, закрашивание, отображение шрифтов и т.д. Т.е. GDI непосредственно формирует графический интерфейс. В ранних версиях Windows представлен в файле gdi.exe.

При загрузке Windows XP Professional сначала загружается ядро, затем начинают загружаться драйверы устройств и вспомогательные модули. В ранних версиях Windows они загружались на основе информации system.ini, win.ini. Файл system.ini содержит разделы по загрузке и описанию аппаратных средств системы, а так же взаимодействия программного и аппаратного обеспечения. В современных версиях Windows значения этих файлов минимальны, но они все равно используются.

Основные настройки и параметры Windows загружаются и изменяются в реестре.

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

Физически реестр содержится в 2-х файлах: system.bat и user.bat. System.bat содержит аппаратные настройки. User.bat содержит информацию о пользователях системы и их п.о. Что бы внести изменения в реестр необходимо загрузить программу редактора реестра. Она может быть либо встроенной в ОС, либо распространяться и устанавливаться отдельно.

 Службы в Windows XP.

DHCP-клиент - управляет конфигурацией сети посредством регистрации и обновления IP-адресов и DNS-имен.
DNS-клиент - разрешает для данного компьютера DNS-имена в адреса и помещает их в кэш.

Plug and Play - позволяет компьютеру распознавать изменения в установленном оборудовании и подстраиваться под них без вмешательства пользователя, либо сводя его к минимуму.

Windows Installer - устанавливает, удаляет или восстанавливает программное обеспечение в соответствии с инструкциями файлов MSI.
Автоматическое обновление - обновление программного обеспечения, входящего в состав Windows через Интернет.

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

Диспетчер подключений удаленного доступа - создает сетевое подключение.

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

Журнал событий - обеспечивает поддержку сообщений журналов событий, выдаваемых Windows-программами и компонентами системы, и просмотр этих сообщений.

Инструментарий управления Windows - предоставляет общий интерфейс и объектную модель для доступа к информации об управлении операционной системой, устройствами, приложениями и службами.

Обозреватель компьютеров - обслуживает список компьютеров в сети и выдает его программам по запросу.

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

Сетевые подключения - управляет объектами папки «Сеть и удаленный доступ к сети», отображающей свойства локальной сети и подключений удаленного доступа.

Служба восстановления системы - выполняет функции восстановления системы.

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

Служба сообщений - посылает и получает сообщения, переданные администраторами или службой оповещений. Данная служба не имеет отношения к программа Windows Messenger..

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


1.3 Описание программных средств  

Для решения выбранной задачи использовались средство программирования Delphi 7.0 и СУБД InterBase 7.0 Использование Object Pascal (Borland Delphi) объясняется следующими причинами:

  •  широкий профиль решаемых задач;
  •  программирование под ОС Windows;
  •  удобство и легкость программирования;
  •  скорость и компактность компилятора;
  •  множество свободнораспространяемых пактов, расширяющих возможности Delphi;
  •  поддержка различных архитектур БД (файл-серверных и клиент-серверных);
  •  и т.д.

В основе среды Delphi лежит концепция быстрого создания приложений – RAD (Rapid Application Development), базирующаяся на объектно-ориентированной и визуальной технологии программирования, представляет собой набор программных единиц – модулей. Один из модулей, главный модуль, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формируется средой Delphi.

Начинается главный модуль словом PROGRAM, за которым следует имя программы, которое совпадает с именем проекта. Имя программы задается программистом в момент сохранения проекта, и оно определяет имя создаваемого компилятором исполняемого файла программы. Далее, за словом USES, следуют имена используемых модулей: библиотечного модуля Forms и модуля формы Root_u.

Исполняемая часть главного модуля находится между BEGIN и END. Инструкции выполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна. Помимо главного модуля каждая программа включает в себя как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Начиняется модуль словом UNIT, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в инструкции USES главного модуля приложения.

Состоит модуль следующих частей:

Раздел интерфейса (начинается словом INTERFACE) сообщает компилятору, какая часть модуля является доступной для других модулей программы. Здесь перечислены используемые модулем другие библиотечные модули, описание сформированного Delphi типа TFormI, описание доступных другим модулям переменных.

Раздел реализации (начинается словом IMPLEMENTATION) содержит локальные объявления и реализацию процедур и функций, поддерживающих работу формы. Начинается раздел директивой {$R *.DFM}, указывающей компилятору, что в раздел реализации надо вставить инструкции установки значений свойств формы, которые находятся в файле с расширением dfm, имя которого совпадает с именем модуля. Файл *.dfm на основе внешнего вида формы генерируется средой Delphi. Просмотреть файл DFM можно при помощи редактора текста. За директивой {$R *.DFM} следует описание обработчиков событий формы. Сюда же программист может поместить описание своих процедур и функций, которые могут вызываться из обработчиков событий обычным образом.

Delphi – это интегрированная среда разработки приложений (IDEIntegrated Development Environment), которая позволяет создавать, компилировать, тестировать и редактировать проект или группу проектов в единой среде программирования. 32-битовый компилятор Delphi генерирует исполняемые ЕХЕ – файлы. При этом существует возможность генерировать либо простые ЕХЕ – файлы, либо сложные приложения, требующие подключения DLL–библиотек (динамически загружаемые библиотеки). В обоих случаях компилирование занимает весьма незначительное время.

В Delphi синтаксис языка Оbject Pascal расширен так, что объектные интерфейсы стали частью языка. Объектный интерфейс – это описание набора методов, которые могут вызываться извне. Объектный интерфейс позволяет пользовательскому коду обращаться к объекту, даже не зная, как этот объект реализован. В Delphi объектные интерфейсы совместимы со спецификацией компонентной объектной модели (Component Object Model) - это означает, что любой объект, созданный средствами Delphi и поддерживающий один или более интерфейсов, автоматически становится СОМ – объектом. Спецификация СОМ описывает бинарный протокол, независящий от конкретного языка, с помощью которого пользовательский код может обращаться к объекту или объекты могут взаимодействовать между собой. Таким образом, объекты, созданные средствами Delphi, могут взаимодействовать с объектами, созданными на С++, Java или других языках.

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

Другим важным инструментом Delphi является Project Manager (Диспетчер проекта), который способен изменить методы написания программного кода. Он предназначен для упрощения работы с большими проектами, которые содержат:

  •  более одного исполняемого файла;
  •  исполняемый файл и одну или более DLL;
  •  любую другую комбинацию DLL и исполняемых файлов.

Очень удобно следить за событиями, возникающими во время работы приложения, с помощью окна Event Log (Журнал событий).

Использование для решения выбранной задачи SQL – ориентированной реляционной СУБД InterBase объясняется следующим:

  •  поддержкой большого количества различных ОС, включая Microsoft Windows NT, Windows 2000, Windows XP, Windows 98 / ME, Linux и несколько Unix – платформ;
  •  низкими системными требованиями и при этом высокой производительностью и легкостью администрирования;
  •  имеет версионную архитектуру, которая обеспечивает уникальные возможности при многопользовательской работе – пишущие пользователи никогда не блокируют читающих!;
  •  реализацией механизма оптимистической блокировки на уровне записи. Это значит, что сервер блокирует только те записи, которые реально были изменены пользователем, и не блокирует все данные целиком. Такая особенность еще больше снижает вероятность конфликтов при многопользовательском режиме работы;
  •  совместимостью со стандартом ANSI SQL 92, а также наличием своего собственного расширения SQL для хранимых процедур и триггеров;
  •  представлением очень эффективного механизма триггеров: каждая таблица может иметь большое количество триггеров, которые выполняются автоматически при вставке, изменении или удалении каждой отдельной записи, до или после этих событий;
  •  и т.д.

Данная СУБД является клиент-серверной, для которой характерен перенос вычислительной нагрузки на SQL - сервер и максимальная разгрузка приложения клиента от вычислительной работы (технология «тонкий клиент – толстый сервер»), а так же существенное укрепление безопасности данных: как от злонамеренных, так и просто ошибочных изменений. Такая схема обработки и передачи данных, когда клиенту передается конечная информация, характерна для ЛВС.

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

В InterBase существует 12 типов данных, которые способны удовлетворить практически любые потребности разработчика в хранении данных. Каждый тип данных имеет набор операций, которые можно выполнять над значениями этого типа, поэтому необходимо правильно выбирать тип данных при проектировании БД, что поможет избежать многих проблем при разработке приложений. Эти типы условно подразделяются на 6 следующих групп:

  •  для хранения целых чисел – Integer и Smallint;
  •  для хранения вещественных чисел – Float и Double Precision;
  •  для чисел с фиксированной точностью – Numeric и Decimal;
  •  для хранения даты, времени и даты/времени – Date, Time, TimeStamp;
  •  для хранения символов – Char и Varchar;
  •  для хранения динамически расширяемых данных – Blob.

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

Первичный ключ (Primary Key) – предназначен для однозначной идентификации записи. Он обязательно должен быть уникальным, достаточным и не избыточным. В InterBase для присваивания значения простому первичному ключу, состоящему из одного поля, используют генератор (именованный счетчик) и функцию GEN_ID(). Внутри БД создается счетчик с уникальным именем и в пределах БД можно управлять значением этого счетчика. Данная функция принимает в качестве параметров имя генератора и величину приращения, а возвращает целочисленное значение, соответствующее значению генератора, полученного в результате прибавления к нему приращения. При создании первичного ключа для таблицы создается уникальный индекс.        

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

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

Индекс – это упорядоченный указатель на записи в таблице. Указатель означает, что индекс содержит одно или несколько полей в таблице и адреса данных, где располагаются эти значения. Другими словами индекс состоит из пар значений «значение поля» - «физическое расположение этого поля». Таким образом, по значению поля (или полей), входящего в индекс, при помощи индекса можно быстро найти то место в таблице, где располагается запись, содержащее это значение. Упорядоченный – означает, что значение полей, хранящихся в индексе – упорядочены.

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

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

SQL — структурированный язык запросов (Structured Query Language). Он позволяет оперировать набором связанных данных, хранящихся в таблицах, которые представляют собой реляционные базы данных. SQL сочетает в себе возможности языка определения данных, языка манипулирования данными и языка запросов.

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

Предложение запроса выглядит следующим образом:

SELECT (distinct), <элемент(ы)/ *>

FROM <таблица(ы)>

WHERE <условие отбора>

GROUP BY <колонка(и)>

HAVING <условие отбора>

ORDER BY <упорядоченность(и)>

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

Для изменения содержимого базы данных SQL предусматривает три операции: INSERT (вставка строк в таблицы), DELETE (удаление строк из таблицы) и UPDATE (обновление значений в существующих строках таблиц).

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

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

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

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

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

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


2. Постановка задачи

2.1 Организационно-экономическая сущность

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

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

-Сырье и основные материалы

-Вспомагательные материалы

-Возвратные отходы

-Топливо (двигательное, хозяйственное, для технических целей)

-Тара и тарные материалы

-Запасные части

-Инвентарь и хозяйственные принадлежности

Материальные запасы принимаются к бухгалтерскому учету по фактической себестоимости.

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

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

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

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

Экономическая сущность решаемой задачи заключается в следующем:

  1.  Снижение трудозатрат на производство вычислительных операций над большими массивами чисел;
  2.  Возможность быстро получать оперативную информацию, связанную с планированием и движением денежных средств предприятия;
  3.  Возможность своевременно анализировать и вести контроль за расходом денежных средств ОАО;
  4.  Экономия  человеко-часов.   

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

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

Учет прихода материалов на предприятие оформляется следующими операциями:

- поступление со стороны;

- возврат из производства;

- поступление в порядке внутреннего перемещения;

- поступление из переработки.

Эти операции оформляются такими документами, как приходный ордер, акт приёмки материалов, накладная на возврат или перемещение с одного склада на другой и т.д.

 Расход материалов осуществляется следующими операциями:

- отпуск в производство;

- отпуск на переработку;

- отпуск на сторону в порядке реализации;

- отпуск в порядке внутреннего перемещения.

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

ПЭВМ можно успешно использовать для:

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

- работы по выписке и обработке первичных документов;

- расчета с поставщиками и подрядчиками.

Для реализации данной задачи созданы справочные таблицы: Справочник материалов, Склады, Контрагенты, Подразделения и учетные  таблицы: Перемещение, Приход, Расход, Итоги и остатки. Выходными документами являются: Ведомость прихода/расхода материалов, Ведомость остатков материалов на складе и Оборотно-сальдовая ведомость.


2.2. Первичные документы

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

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

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

  1.  Приходный ордер – используется для оформления материалов  в бухгалтерии. Выписывается, при полном соответствии количества фактически поступивших товаров. Используется для формирования состава Номенклатуры и для оформления поступления.

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

2) Товарно-транспортная накладная служит приходным документом на МЦ доставляемые транспортом. Предназначена для учета движения товарно-материальных ценностей и расчетов за их перевозки автомобильным транспортом. Товарно-транспортная накладная состоит из двух разделов:

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

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

3) Акт приемки материалов – служит для оформления приемки МЦ, если отсутствуют сопроводительные документы или есть разница с фактическими данными. Применяется для оформления приемки материальных ценностей, имеющих количественное и качественное расхождение, а также расхождение по ассортименту с данными сопроводительных документов поставщика; составляется также при приемке материалов, поступивших без документов; является юридическим основанием для предъявления претензии поставщику, отправителю. Необходимые дополнительные данные, не выделенные в форме отдельными строками, записываются в разделе "Другие данные". Акт в двух экземплярах составляется членами приемной комиссии с обязательным участием материально ответственного лица и представителя отправителя (поставщика) или представителя незаинтересованной организации. После приемки ценностей акты с приложением документов (транспортных накладных и т.д.) передают: один экземпляр - в бухгалтерию организации для учета движения материальных ценностей, другой - отделу снабжения или бухгалтерии для направления претензионного письма поставщику. Графа "Номер паспорта" заполняется только в случаях обнаружения расхождений при оформлении хозяйственных операций по поступлению материальных ценностей, содержащих драгоценные металлы и камни.

4) Накладная на отпуск материалов на сторону – предназначена для оформления реализации МЦ со склада сторонним организациям. Накладная на отпуск материалов на сторону по форме N М-15 применяется для учета отпуска материальных ценностей хозяйствам своей организации, расположенным за пределами ее территории, или сторонним организациям, на основании договоров и других документов. Накладную выписывает работник структурного подразделения в двух экземплярах на основании договоров (контрактов), нарядов и других соответствующих документов и предъявлении получателем доверенности на получение ценностей, заполненной в установленном порядке. Код формы по ОКУД 0315007. Первый экземпляр передают складу как основание для отпуска материалов, второй - получателю материалов.

5) Требование – служит для оформления разового отпуска материалов со склада в производство. Применяется для учета движения материальных ценностей внутри организации между структурными подразделениями или материально ответственными лицами.

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

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

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

6) Карточка складского учета – применяется для учета движения материалов на складах на основании приходных и расходных документов. Применяется для учета движения материалов на  складе  по  каждому сорту,  виду  и  размеру;  заполняется  на каждый номенклатурный номер материала и ведется материально ответственным лицом (кладовщиком, зав.складом).  Записи  в  карточке ведут на основании первичных приходно - расходных документов в день совершения операции.

 

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

Таблица Справочник материалов:

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

Тип

Размер

Ключ

Код материала

S

*

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

A

15

Единица измерения

A

6

 Таблица Справочник складов:

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

Тип

Размер

Ключ

Код склада

S

*

Наименование склада

A

15

МОЛ

A

20

Таблица Подразделение:

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

Тип

Размер

Ключ

Код подразделения

S

*

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

A

15

Таблица Контрагент:

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

Тип

Размер

Ключ

Код конрагента

S

*

Наименование фирмы

A

20

Адрес

A

25

Телефон

S

Факс

S

ИНН

I

Расчетный счет

I

Банк

A

30

Так же используются учетные таблицы:

Таблица Приход:

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

Тип

Размер

Ключ

Дата

D

Документ

A

15

Код материала

S

i

Код склада

S

i

Код поставщика

S

i

Количество

S

Цена

$

Сумма прихода

$

Таблица Расход:

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

Тип

Размер

Ключ

Дата

D

Документ

A

15

Код материала

S

i

Код склада

S

i

Код поставщика

S

i

Количество

S

Расходная цена

$

Сумма расхода

$

Таблица Перемещение

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

Тип

Размер

Ключ

Код материала

S

I

Код склада (откуда)

S

I

Код подразделения (куда)

S

I

Код склада (куда)

S

I

Дата

D

Номер документа

S

Затребовано

S

Отпущено

S

Таблица Итоги и остатки:

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

Тип

Размер

Ключ

Код материала

S

I

Количество прихода

S

Количество расхода

S

Остаток начальный

S

Остаток текущий

S


2.3. Выходная информация

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

Итогом выполнения данного программного комплекса (см. приложение) является формирование таких  ведомостей как «Ведомость прихода», «Ведомость расхода », «Ведомость по остаткам на складах», «Оборотно-сальдовая ведомость».

В документе «Ведомость прихода» отражается следующая информация: Код материала, код склада, наименование, дата, количество, цена, итоговая сумма.

Код материала

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

Дата

№ документа

Количество

Цена

Сумма

     Код контрагента

Общая сумма по контрагенту

Общая сумма

В документе «Ведомость расхода» отражается следующая информация: Код материала, код склада, наименование, дата, количество, цена, итоговая сумма.

Код материала

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

Дата

№ документа

Количество

Цена

Сумма

     Код контрагента

Общая сумма по контрагенту

Общая сумма

В документе «Ведомость по остаткам на складах» отражается следующая информация: Код материала, наименование, дата, количество прихода, количество расхода.

Код материала

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

Единица измерения

Остаток начальный

Остаток конечный

В документе «Оборотно-сальдовая ведомость» – показывает количество поступления, реализации, остатков материалов на складе.

Код материала

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

Поступление

Реализация

Остаток начальный

Остаток конечный

Количество

Цена

Количество

Цена


2.4. Алгоритм расчетов

При разработке программы «Учет материалов на складах» использовались следующие расчеты:

- Расчет суммы прихода производится по формуле:

Table1.FieldByName('Sum_prih').value:=

((Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Zena').value, где:

Sum_prih-сумма прихода,

Kol_vo-количество,

Zena-цена.

- Расчет суммы расхода производится по формуле:

Table1.FieldByName('Sum_rash').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value+n, где:

Sum_rash-сумма расхода,

Kol_vo-количество,

Rash_zena-расходная цена,

n-сумма НДС, которая рассчитывается по формуле:

n:=(Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value)*(Table1.FieldByName('NDS').value/100).

- Расчет текущего остатка производится по формуле:

Table1.FieldByName('Ost_tek').Value:=Table1.FieldByName('Ost_nach').Value+Table1.FieldByName('Kol_prih').Value-Table1.FieldByName('Kol_rash').Value, где:

Ost_nach-остаток начальный,

Kol_prih-количество прихода,

Kol_rash-количество расхода.


3.1 Информационно-логическая модель

Материалы

Код материала

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

Единица измерения

Поступление

Код материала

Код контрагента

Код склада

Дата прихода

№ документа

Количество

Цена прихода

Сумма

Контрагенты

Код контрагента

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

Адрес

Расчетный счет

Телефон

ИНН

Факс

Наименование банка

Реализация

Код материала

Код подразделения

Код склада

Дата оприходывания

№ документа

Количество

Цена реализации

Сумма

Склады

Код склада

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

МОЛ

Остатки

Код материала

Остаток начальный

Остаток текущий

Кол-во прихода

Кол-во расхода

Подразделение

Код подразделения

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

Перемещение

Код материала

Код склада(откуда)

Код склада(куда)

Код подразделения

№ документа

Дата

Затребовано

Отпущено


Схема взаимодействия входной и выходной информации


2.8 Блок-схема работы системы или решения з
адачи.

 



Описание блок-схемы:

  1.  Вывод главного меню с пунктами:
  2.  Ввод данных
  3.  Формирование остатков
  4.  Выходные документы
  5.  Справка
  6.  Выход
  7.  Проверка выбора пункта 1.Ввод данных, если да переход на блок 3, если нет – блок 10.
  8.  Вывод подменю с пунктами:
    1.  Справочники
    2.  Оформление прихода
    3.  Оформление расхода
    4.  Перемещение
  9.  Проверка выбора пунктов 1.1. Справочники и 1.4. Перемещение, если да переход на блок 5, если нет – блок 7.
  10.  Заполнение данных на основании первичных документов.
  11.  Работа со справочниками: Материалы, Склады, Контрагенты, Подразделения, их просмотр и сохранение таблиц.
  12.  Проверка выбора пункта 1.2. оформление прихода и 1.3. оприходование, если да переход на блок 8, если нет – блок 3.
  13.  Работа со справочными таблицами: Материалы, Контрагенты, склады и Подразделения.
  14.  Заполнение данных в таблицы Расход и Приход, их просмотр и сохранение.
  15.  Проверка выбора пункта 2. Формирование остатков, если да переход на блок 11, если нет – блок 13.
  16.  Ввод параметра для вывода остатков.
  17.  Формирование остатков на основании таблиц Расход и Приход, сохранение итоговой таблицы Остатки, и просмотр и переход на блок 10.
  18.  Проверка выбора пункта 3. Выходнве документы, если да переход на блок 14, если нет – блок 23.
  19.  Вывод подменю:
    1.  Ведомость по приходу
    2.  Ведомость по расходу
    3.  Оборотно-сальдовая ведомость
    4.  Ведомосмть итогов и остатков
  20.  Проверка выбора пунктов: 4.1. Ведомость по приходу; 4.2. Ведомость по расходу; 4.3. Оборотно-сальдовая ведомость, если да переход на блок 15, если нет – блок 19.
  21.  Формирование запроса для получения отчета.
  22.  Формирование отчета на основании запроса.
  23.  Группировка данных по коду контрагента/подразделения/склада, просмотр полученных данных и вывод на печать.
  24.  Проверка выбора пункта 4.4. ведомость итогов и остатков, если да переход на блок 20, иначе – блок 14.
  25.  Формирование запроса на основании таблиц: Материалы и Остатки.
  26.  Формирование отчета.
  27.  Формирование остатков, обновление таблицы Остатки, просмотр ведомости и вывод ее на печать.
  28.  Проверка выбора пункта 4. Справка, переход на ее просмотр.
  29.  Проверка выбора пункта 5. Выход, если да переход на блок 25, если нет – блок 1.
  30.  Завершение работы с программой.
    1.  
      Инструкция по работе системы обработки информации   

На основании рассмотренных входных и выходных документов составляется схема данных для ИС (см. приложение), отражающая взаимодейтсвие входной и выходной информации.    

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

Программа, написанная с помощью среды Delphi, в основе которой лежит концепция быстрого создания приложений – RAD (Rapid Application Development), базирующаяся на объектно-ориентированной и визуальной технологии программирования, представляет собой набор программных единиц – модулей. Один из модулей, главный модуль, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формируется средой Delphi.

Начинается главный модуль словом PROGRAM, за которым следует имя программы, которое совпадает с именем проекта. Имя программы задается программистом в момент сохранения проекта, и оно определяет имя создаваемого компилятором исполняемого файла программы. Далее, за словом USES, следуют имена используемых модулей: библиотечного модуля Forms и модуля формы Root_u.

Исполняемая часть главного модуля находится между BEGIN и END. Инструкции выполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна. Помимо главного модуля каждая программа включает в себя как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Начиняется модуль словом UNIT, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в инструкции USES главного модуля приложения.

Состоит модуль следующих частей:

Раздел интерфейса (начинается словом INTERFACE) сообщает компилятору, какая часть модуля является доступной для других модулей программы. Здесь перечислены используемые модулем другие библиотечные модули, описание сформированного Delphi типа TFormI, описание доступных другим модулям переменных.

Раздел реализации (начинается словом IMPLEMENTATION) содержит локальные объявления и реализацию процедур и функций, поддерживающих работу формы. Начинается раздел директивой {$R *.DFM}, указывающей компилятору, что в раздел реализации надо вставить инструкции установки значений свойств формы, которые находятся в файле с расширением dfm, имя которого совпадает с именем модуля. Файл *.dfm на основе внешнего вида формы генерируется средой Delphi. Просмотреть файл DFM можно при помощи редактора текста. За директивой {$R *.DFM} следует описание обработчиков событий формы. Сюда же программист может поместить описание своих процедур и функций, которые могут вызываться из обработчиков событий обычным образом.

Создание проекта начинаетс с создания псевдонима  Sakol (BDE Administrator). После создания псевдонима необходимо указать путь к проекту.

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

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

Форма содержащая справочники:Материалы, Контрагенты, Склады, Подразделения.Все справочники для удобчтва расположены на одной форме.

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

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

Форма содеращая таблицу Остатки. Используется для фомирования начального и текущего остатка.

  1.  РАСЧЕТ ТРУДОЕМКОСТИ И ЗАТРАТ НА ОБРАБОТКУ ИНФОРМАЦИИ.

Трудоёмкость решения задачи на компьютере складывается из трех составляющих:

- трудоёмкость ввода оперативной информации в ПК.

- трудоёмкость непосредственной обработки данных компьютером.

- трудоёмкость печати выходных документов.

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

Vвв. = 2 симв/сек (где Vвв. – скорость ввода);

Для операции внутренняя работа используется норматив t, норматив вычисления работ для перевода символов в машинные операции.

t = 500 опер/симв;

Kконтроля = 2 - коэффициент контроля);

Kнеравномерности = 1.3 (- коэффициент неравномерности);

Vвнутр. раб. = 1000000 опер/сек (где Vвнутр. раб. – скорость внутренней работы ПК);

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

Vвыв. = 12 лист/мин.

Определение объёма работы и трудоёмкости по операции технологического процесса.

Для определения объема работ по операции ввод, заполним таблицу:

№ п/п

Наименование документа

Количество

Всего вводимых символов

Заполнений документа

Строк в документе

Вводимых символов

1

2

3

4

5

6

1.

Приходный ордер

30

9

80

21600

2.

Товарно-транспортная накладная

30

15

200

90000

3.

Требование

20

18

150

54000

4.

Акт приемки материалов

30

49

400

588000

5.

Накладная на отпуск на сторону

30

30

350

315000

6.

Каточка складского учета

5

25

90

11250

ИТОГО

1079850

Qвв. = 1079850

Определяем трудоёмкость по операции ввода.

Зная объём работы и скорость ввода, определим трудоёмкость по операции ввод:

tвв. = Qвв. / Vвв. = 1079850симв. / (2симв/сек * 3600сек/час) = 149,9час;

Определяем объём работы для обработки данных непосредственно в ПК.

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

Qвнутр. = (Qвв. + Qспр1 + Qспр2 + … + Qспрn) * t * Kконтр * Kнеравн;

Qспр = длина записи * количество записей;

Qвнутр. = (1079850 + 771) * 500 опер/симв * 2 * 1.3 = 1404807300опер.

Определяем трудоемкость внутренних операций:

tвнутр. = Qвнутр. / Vвнутр. раб. =

= 1404807300опер. / (1000000опер/сек * 3600сек/час) = 0,39час;

Определяем объем работы по операции печать выходных документов.

Для определения объема работ по операции вывод, заполним таблицу:

№ п/п

Наименование документа

Количество печатных листов

Периодичность получения

Всего печатных листов

1

2

3

4

5

1.

Ведомость поступления

1

30

30

2.

Ведомость реализации

1

30

30

3.

Оборотная ведомость

2

1

2

4.

Ведомость остатков

2

3

6

ИТОГО

68

Qвыв. = 68листов

Определяем трудоёмкость по операции вывод:

tвыв. = Qвыв. / Vвыв. =

=68 / (10листов/мин * 60мин/час) = 0,11час;

Определение общей трудоёмкости:

tобщ. = tвв. + tвнутр. + tвыв. =

= 149,9час + 0,39час + 0,11час = 150,4час;

Определяем стоимость решения задачи на ПК:

C = P * tобщ. (где P – стоимость 1часа работы ПК ≈ 250руб/час)

C = 250руб/час * 150,4час = 37600руб.


5. Заключение

Разрабатываемая ИС должна обладать следующими важнейшими потребительскими свойствами:

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

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

4. Приложения

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 Menus, jpeg, ExtCtrls, ComCtrls, StdCtrls ;

type

 TForm1 = class(TForm)

   MainMenu1: TMainMenu;

   N1: TMenuItem;

   N2: TMenuItem;

   N5: TMenuItem;

   N16: TMenuItem;

   Image1: TImage;

   N17: TMenuItem;

   N18: TMenuItem;

   N3: TMenuItem;

   procedure N16Click(Sender: TObject);

   procedure N2Click(Sender: TObject);

   procedure N17Click(Sender: TObject);

   procedure N18Click(Sender: TObject);

   procedure N4Click(Sender: TObject);

   procedure N5Click(Sender: TObject);

   procedure N6Click(Sender: TObject);

   procedure N7Click(Sender: TObject);

   procedure N3Click(Sender: TObject);

   procedure Image1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit10, Unit11, Unit12,

 Unit16;

{$R *.DFM}

procedure TForm1.N16Click(Sender: TObject);

begin

If MessageDlg('Âû õîòèòå âûéòè?',mtConfirmation, [mbYes, mbNo],0)=mrYes then

Close;

end;

procedure TForm1.N2Click(Sender: TObject);

begin

Form2.Showmodal;

end;

procedure TForm1.N17Click(Sender: TObject);

begin

Form3.Showmodal;

end;

procedure TForm1.N18Click(Sender: TObject);

begin

Form4.Showmodal;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form5.Showmodal;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form7.Showmodal;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form16.showmodal;

end;

end.

unit Unit2;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls, Grids, DBGrids, Db, DBTables, ComCtrls, Buttons, Mask, DBCtrls;

type

 TForm2 = class(TForm)

   DataSource1: TDataSource;

   Table1: TTable;

   PageControl1: TPageControl;

   Label1: TLabel;

   TabSheet1: TTabSheet;

   TabSheet2: TTabSheet;

   TabSheet3: TTabSheet;

   DBGrid1: TDBGrid;

   DataSource2: TDataSource;

   Table2: TTable;

   DataSource3: TDataSource;

   Table3: TTable;

   DBGrid2: TDBGrid;

   DBGrid3: TDBGrid;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button6: TButton;

   Button7: TButton;

   Button8: TButton;

   Button9: TButton;

   Button10: TButton;

   Button11: TButton;

   Button12: TButton;

   Button13: TButton;

   Label2: TLabel;

   BitBtn1: TBitBtn;

   TabSheet4: TTabSheet;

   DBGrid4: TDBGrid;

   Button5: TButton;

   Button14: TButton;

   Button15: TButton;

   Button16: TButton;

   DataSource4: TDataSource;

   Table4: TTable;

   CheckBox1: TCheckBox;

   Edit1: TEdit;

   Button17: TButton;

   CheckBox2: TCheckBox;

   Edit2: TEdit;

   Button18: TButton;

   CheckBox3: TCheckBox;

   Edit3: TEdit;

   Button19: TButton;

   CheckBox4: TCheckBox;

   Edit4: TEdit;

   Button20: TButton;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   DBEdit3: TDBEdit;

   Button21: TButton;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   DBEdit4: TDBEdit;

   DBEdit5: TDBEdit;

   DBEdit6: TDBEdit;

   DBEdit7: TDBEdit;

   DBEdit8: TDBEdit;

   DBEdit9: TDBEdit;

   DBEdit10: TDBEdit;

   Label9: TLabel;

   Label10: TLabel;

   Label11: TLabel;

   Label12: TLabel;

   Label13: TLabel;

   DBEdit11: TDBEdit;

   Button22: TButton;

   Label14: TLabel;

   Label15: TLabel;

   Label16: TLabel;

   DBEdit12: TDBEdit;

   DBEdit13: TDBEdit;

   DBEdit14: TDBEdit;

   Button23: TButton;

   Label17: TLabel;

   Label18: TLabel;

   DBEdit15: TDBEdit;

   DBEdit16: TDBEdit;

   Button24: TButton;

   procedure Button5Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure Button7Click(Sender: TObject);

   procedure Button8Click(Sender: TObject);

   procedure Button9Click(Sender: TObject);

   procedure Button10Click(Sender: TObject);

   procedure Button11Click(Sender: TObject);

   procedure Button12Click(Sender: TObject);

   procedure Button13Click(Sender: TObject);

   procedure BitBtn1Click(Sender: TObject);

   procedure Button17Click(Sender: TObject);

   procedure Button18Click(Sender: TObject);

   procedure Button19Click(Sender: TObject);

   procedure Button20Click(Sender: TObject);

   procedure Button21Click(Sender: TObject);

   procedure Button22Click(Sender: TObject);

   procedure Button23Click(Sender: TObject);

   procedure Button24Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.Button5Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Table1.Append;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Table1.Delete;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Table1.Post;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

Table1.Refresh;

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

Table2.Append;

end;

procedure TForm2.Button7Click(Sender: TObject);

begin

Table2.Delete;

end;

procedure TForm2.Button8Click(Sender: TObject);

begin

Table2.Post;

end;

procedure TForm2.Button9Click(Sender: TObject);

begin

Table2.Refresh;end;

procedure TForm2.Button10Click(Sender: TObject);

begin

Table4.Append;

end;

procedure TForm2.Button11Click(Sender: TObject);

begin

Table4.Delete;

end;

procedure TForm2.Button12Click(Sender: TObject);

begin

Table4.Post;

end;

procedure TForm2.Button13Click(Sender: TObject);

begin

Table4.Refresh;

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

Close;

end;

procedure TForm2.Button17Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);

end;

procedure TForm2.Button18Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod',Edit1.Text,[]);

end;

procedure TForm2.Button19Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod_sklada',Edit1.Text,[]);

end;

procedure TForm2.Button20Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod_podrazdel',Edit1.Text,[]);

end;

procedure TForm2.Button21Click(Sender: TObject);

begin

Table1.Edit;

end;

procedure TForm2.Button22Click(Sender: TObject);

begin

Table2.Edit;

end;

procedure TForm2.Button23Click(Sender: TObject);

begin

Table3.Edit;

end;

procedure TForm2.Button24Click(Sender: TObject);

begin

Table4.Edit;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit3;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 DBCtrls, ComCtrls, StdCtrls, Db, DBTables, Mask, Grids, DBGrids, Buttons;

type

 TForm3 = class(TForm)

   DataSource1: TDataSource;

   DBEdit6: TDBEdit;

   Table1: TTable;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   DateTimePicker1: TDateTimePicker;

   DBLookupComboBox1: TDBLookupComboBox;

   DBLookupComboBox2: TDBLookupComboBox;

   DBLookupComboBox3: TDBLookupComboBox;

   DBLookupComboBox4: TDBLookupComboBox;

   DataSource2: TDataSource;

   Table2: TTable;

   Label7: TLabel;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   DBGrid1: TDBGrid;

   DBLookupComboBox5: TDBLookupComboBox;

   RadioButton1: TRadioButton;

   RadioButton2: TRadioButton;

   DataSource3: TDataSource;

   Table3: TTable;

   Label8: TLabel;

   DBEdit1: TDBEdit;

   SpeedButton1: TSpeedButton;

   SpeedButton2: TSpeedButton;

   SpeedButton3: TSpeedButton;

   SpeedButton4: TSpeedButton;

   CheckBox1: TCheckBox;

   Edit1: TEdit;

   Button6: TButton;

   procedure Button5Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure RadioButton1Click(Sender: TObject);

   procedure RadioButton2Click(Sender: TObject);

   procedure SpeedButton1Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

uses Unit2, Unit14;

{$R *.DFM}

procedure TForm3.Button5Click(Sender: TObject);begin

Close;

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

Table1.Append;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

Table1.Delete;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Table1.Edit;

Table1.FieldByName('Data').value:=DateTimePicker1.Date;

Table1.FieldByName('Zena').value:=DBEdit1.Text;

Table1.Post;

DBLookupComboBox3.Enabled:=False;

DBLookupComboBox5.Enabled:=False;

end;

procedure TForm3.Button4Click(Sender: TObject);

Var i,s:integer;

begin

s:=Table1.RecordCount;

Table1.First;

For i:=1 to s do

begin

Table1.Edit;

Table1.FieldByName('Sum_prih').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Zena').value;

Table1.Post;

Table1.Next;

end;

Table1.Refresh;

end;

procedure TForm3.RadioButton1Click(Sender: TObject);

begin

If RadioButton1.Checked then DBLookupComboBox3.Enabled:=True;end;

procedure TForm3.RadioButton2Click(Sender: TObject);

begin

If RadioButton2.Checked then DBLookupComboBox5.Enabled:=True;

end;

procedure TForm3.SpeedButton1Click(Sender: TObject);

begin

Form14.ShowModal;

end;

procedure TForm3.Button6Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit4;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls, Mask, DBCtrls, ComCtrls, Db, DBTables, Grids, DBGrids, Buttons;

type

 TForm4 = class(TForm)

   DataSource1: TDataSource;

   Table1: TTable;

   DataSource2: TDataSource;

   Table2: TTable;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   DateTimePicker1: TDateTimePicker;

   DBLookupComboBox1: TDBLookupComboBox;

   DBLookupComboBox2: TDBLookupComboBox;

   DBLookupComboBox3: TDBLookupComboBox;

   DBLookupComboBox4: TDBLookupComboBox;

   DBEdit1: TDBEdit;

   Label7: TLabel;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   DBGrid1: TDBGrid;

   DBLookupComboBox5: TDBLookupComboBox;

   DataSource3: TDataSource;

   Table3: TTable;

   RadioButton1: TRadioButton;

   RadioButton2: TRadioButton;

   DataSource4: TDataSource;

   Table4: TTable;

   SpeedButton1: TSpeedButton;

   SpeedButton2: TSpeedButton;

   SpeedButton3: TSpeedButton;

   CheckBox1: TCheckBox;

   Edit1: TEdit;

   Button6: TButton;

   procedure Button2Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure RadioButton1Click(Sender: TObject);

   procedure RadioButton2Click(Sender: TObject);

   procedure SpeedButton1Click(Sender: TObject);

   procedure SpeedButton2Click(Sender: TObject);

   procedure SpeedButton3Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form4: TForm4;

implementation

uses Unit2, Unit8, Unit9, Unit13;

{$R *.DFM}

procedure TForm4.Button2Click(Sender: TObject);

begin

Table1.Delete;

end;

procedure TForm4.Button5Click(Sender: TObject);

begin

Close;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

Table1.Append;

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

Table1.Edit;

Table1.FieldByName('Data').value:=DateTimePicker1.Date;

Table1.Post;

DBLookupComboBox3.Enabled:=False;

DBLookupComboBox5.Enabled:=False;

end;

procedure TForm4.Button4Click(Sender: TObject);

Var i,s:integer;

begin

s:=Table1.RecordCount;

Table1.First;

For i:=1 to s do

begin

Table1.Edit;

Table1.FieldByName('Sum_rash').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value;

Table1.Post;

Table1.Next;

end;

Table1.Refresh;

end;

procedure TForm4.RadioButton1Click(Sender: TObject);

begin

If RadioButton1.Checked then DBLookupComboBox3.Enabled:=True;

end;

procedure TForm4.RadioButton2Click(Sender: TObject);

begin

If RadioButton2.Checked then DBLookupComboBox5.Enabled:=True;

end;

procedure TForm4.SpeedButton1Click(Sender: TObject);

begin

Form8.Showmodal;

end;

procedure TForm4.SpeedButton2Click(Sender: TObject);

begin

Form9.ShowModal;

end;

procedure TForm4.SpeedButton3Click(Sender: TObject);

begin

Form13.ShowModal;

end;

procedure TForm4.Button6Click(Sender: TObject);

begin

If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);

end;

procedure TForm4.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit5;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 Db, DBTables, ComCtrls, DBCtrls, StdCtrls, Grids, DBGrids;

type

 TForm5 = class(TForm)

   PageControl1: TPageControl;

   TabSheet1: TTabSheet;

   TabSheet2: TTabSheet;

   DataSource1: TDataSource;

   Table1: TTable;

   DBGrid1: TDBGrid;

   DBGrid2: TDBGrid;

   GroupBox1: TGroupBox;

   DBLookupComboBox1: TDBLookupComboBox;

   DBLookupComboBox2: TDBLookupComboBox;

   GroupBox2: TGroupBox;

   DataSource2: TDataSource;

   Table2: TTable;

   Edit1: TEdit;

   Edit2: TEdit;

   Button1: TButton;

   Edit3: TEdit;

   Edit4: TEdit;

   Button3: TButton;

   Button4: TButton;

   RadioButton1: TRadioButton;

   RadioButton2: TRadioButton;

   RadioButton3: TRadioButton;

   RadioButton4: TRadioButton;

   RadioButton5: TRadioButton;

   RadioButton6: TRadioButton;

   RadioButton7: TRadioButton;

   RadioButton8: TRadioButton;

   Label1: TLabel;

   DateTimePicker3: TDateTimePicker;

   DateTimePicker4: TDateTimePicker;

   procedure Button4Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

 Form5: TForm5;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm5.Button4Click(Sender: TObject);

begin

Close;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

Close;

end;

procedure TForm5.Button1Click(Sender: TObject);

begin

Table1.Filtered:=True;

If RadioButton1.Checked then

Table1.Filter:='Data>'+''''+datetostr(DateTimePicker3.Date)+''''+'and Data<'+''''+datetostr(DateTimePicker4.Date)+'''';

If RadioButton2.Checked then Table1.Filter:='Kod_mat='+DBLookupCombobox2.Text;

If RadioButton3.Checked then Table1.Filter:='Kol_vo>'+Edit1.Text+'And Kol_vo<'+Edit2.Text;

If RadioButton4.Checked then Table1.Filtered:=False;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

Table2.Filtered:=True;

If RadioButton5.Checked then

Table2.Filter:='Data>'+''''+datetostr(DateTimePicker3.Date)+''''+'and Data<'+''''+datetostr(DateTimePicker4.Date)+'''';

If RadioButton6.Checked then Table2.Filter:='Kod_mat='+DBLookupCombobox1.Text;

If RadioButton7.Checked then Table2.Filter:='Kol_vo>'+Edit3.Text+'And Kol_vo<'+Edit4.Text;

If RadioButton8.Checked then Table2.Filtered:=False;

end;

procedure TForm5.FormCreate(Sender: TObject);

begin

end;

end.

unit Unit7;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

 StdCtrls, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables;

type

 TForm7 = class(TForm)

   DataSource1: TDataSource;

   Table1: TTable;

   DBGrid1: TDBGrid;

   Label1: TLabel;

   DBNavigator1: TDBNavigator;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   DataSource2: TDataSource;

   Query1: TQuery;

   DataSource3: TDataSource;

   Query2: TQuery;

   DateTimePicker1: TDateTimePicker;

   procedure Button4Click(Sender: TObject);

   procedure DateTimePicker1CloseUp(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form7: TForm7;

implementation

uses Unit8, Unit9, Unit3, Unit4;

{$R *.DFM}

procedure TForm7.Button4Click(Sender: TObject);

begin

Close;

end;

procedure TForm7.DateTimePicker1CloseUp(Sender: TObject);

Var z,t:integer;

begin

z:=Table1.RecordCount;

Table1.First;

For t:=1 to z do

begin

Table1.Edit;

Table1.FieldByName('Mesyac').value:=DateTimePicker1.Date;

Table1.Post;

Table1.Next;

end;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

Table1.Edit;

end;

procedure TForm7.Button3Click(Sender: TObject);

Var s,m,i:integer;

begin

s:=Table1.RecordCount;

Table1.First;

For i:=1 to s do

begin

Table1.Edit;

Table1.FieldByName('Ost_nach').asFloat:=

Table1.FieldByName('Ost_tek').asFloat;

m:=Table1.FieldByName('Ost_nach').value+

Table1.FieldByName('Kol_prih').value-

Table1.FieldByName('Kol_rash').value;

Table1.FieldByName('Ost_tek').asFloat:=m;

Table1.Post;

Table1.Next;

end;

end;

procedure TForm7.Button5Click(Sender: TObject);

begin

Table1.ClearFields;

end;

procedure TForm7.Button1Click(Sender: TObject);

Var n,s,d,i:integer;

   m:real;

begin

Table1.FieldByName('Mesyac').value:=DateTimePicker1.Date;

n:=Table1.RecordCount;

For i:=1 to n do

Table1.Delete;

Query1.First;

Query2.First;

s:=Query1.RecordCount;

For i:=1 to s do

begin

Table1.Append;

Table1.FieldByName('Kod_mat').value:=

Query1.FieldByName('Kod_mat').value;

Table1.FieldByName('Kol_prih').value:=

Query1.FieldByName('Kol_vo').value;

Table1.Post;

Query1.Next;

end;

s:=Query2.RecordCount;

For i:=1 to s do

begin

d:=Query2.FieldByName('Kod_mat').value;

If Table1.Locate('Kod_mat',d,[])then

begin

Table1.Edit;

Table1.FieldByName('Kol_rash').value:=

Query2.FieldByName('Kol_vo').value;

Table1.Post;

end

else begin

Table1.Append;

Table1.FieldByName('Kol_rash').value:=

Query2.FieldByName('Kol_vo').value;

Table1.FieldByName('Kod_mat').value:=

Query2.FieldByName('Kod_mat').value;

Table1.Post;

end;

Query2.Next;

end;

s:=Table1.RecordCount;

Table1.First;

For i:=1 to s do

begin

Table1.Edit;

m:=Form7.Table1.FieldByName('Ost_nach').AsFloat+

Table1.FieldByName('Kol_prih').AsFloat-

Table1.FieldByName('Kol_rash').AsFloat;

Table1.FieldByName('Ost_tek').AsFloat:=m;

Table1.Post;

Table1.Next;

end;

end;

procedure TForm7.FormCreate(Sender: TObject);

begin

end;

end.


Товарно–транспортная накладная

Накладная на отпуск

Акт приемки материалов

Карточка складского учета

Приходный ордер

Перемещение

Требование

Ведомость итогов и

остатков

Ведомость

расхода

Ведомость

прихода

Оборотно-сальдовая ведомость

Остатки

Оприходывние

Приход

Склады

Подразделения

Контрагенты

Материалы

6

5

4

3

2

1

  1.  Ввод данных
  2.  Формирование остатков
  3.  Выходные документы
  4.  Справка
  5.  Выход

Заполнение данных

Работа со справочниками

Приход

Расход

ЖД

Материалы

Контрагенты

Склады

Подразделения

  1.  Справочники
    1.  Оформление прихода
    2.  Оприходование
    3.  Перемещение

Заполнение данных

ЖД

1.2.-1,3

Работа со справочниками

1.1,1,4

Вывод подменю

1.

Вывод главного меню

Начало

10

9

8

7

2

Остатки

Формирование остатков

Ввод

параметра

2.

12

11

10

3.

13

4.1. Ведомость по приходу

4.2. Ведомость по расходу

4.3. Оборотно-сальдовая ведомость

4.4. Ведомость итогов и остатков

14

4.4

Группировка

Формирование отчета

Формирование запроса

4.1-4.3

Остатки

Материалы

Остатки

Формирование остатков

Формирование отчета

Формирование запроса

Вывод подменю

18

16

17

15

Группировка по поставщику

Вывод отчета

Формирование отчета

Формирование запроса

4.2-4.3

22

21

20

19

1

25

24

23

4.

Конец

Завершение работы с программой

5.


 

А также другие работы, которые могут Вас заинтересовать

566. Устройство кузова пассажирского вагона 66 KB
  Конструкция кузова пассажирского вагона существенно отличается от кузова грузового вагона. Боковые продольные балки. Пакеты теплоизоляции. Монтаж котла отопления, калориферов, бака для воды и вентиляционного агрегата.
567. Планирование конкурентной цены и рационального объема продаж нового товара 279.5 KB
  Определение исходной цены и объема продаж нового товара. Оценка уровня конкурентоспособного товара по технико-эксплуатационным параметрам. Экспертная оценка предпочтительности товаров по параметрам. Определение диапазона конкурентной цены. Установление окончательной цены и объема продаж. Анализ воздействия ключевых факторов на прибыль.
568. Финансовое планирование и финансовый контроль на предприятиях 86 KB
  Финансовое планирование – это разновидность управленческой деятельности, направленной на определение необходимого объёма финансовых ресурсов, их оптимальное распределение и использование с целью обеспечения финансовой устойчивости хозяйствующего субъекта. Значение и задачи финансового планирования на предприятии.
569. Построение приложений локальных баз данных средствами СУБД Microsoft Access 74.5 KB
  Формирование письма исполнителю (указание выполнить дело, запрос о причинах задержки сроков исполнения). Разработка телефонного справочника. Автоматизация составления расписания. Вывод списка продуктов и сметы для данного блюда на N персон.
570. Исследование и настройка узлов магнитофона 75 KB
  Изучить строение магнитофона и дать оценку его функционированию. Проверка магнитофона произошла успешно, были выявлены неточности и недостатки в работе, но в общем можно сказать, что данный магнитофон пригоден для работы, и может использоваться в домашних условиях.
571. Расчет однопредметной прерывно – поточной производственной линии по обработке детали 866 KB
  Принципы организации производственного процесса. Характеристика прямоточных однопредметных линий с точки зрения основных принципов организации производства. Выбор и обоснование типов производства и вида поточной линии (участка)
572. Особенности демографической ситуации в России 515.5 KB
  Структуры населения: Трудовая, этническая, семейная. Статистика уровня жизни населения и демографическая ситуация в стране. Обобщающие показатели уровня жизни населения. Основные показатели естественного движения населения.
573. Робоче місце оператора комп’ютерного набору. Ергономіка і організація праці 81.5 KB
  Робоче місце – це зона трудової діяльності співробітника, яке оснащене необхідними засобами для виконання посадових обов’язків. Серед канцелярських приладів і спеціального обладнання можна виділити предмети, які найбільш часто використовуються при роботі з документами.
574. Процедура проведення фокус-групи 79 KB
  Метод фокус-груп, або сфокусоване інтерв'ю вперше був використаний соціологами Р.Мертоном і Р. Кендаллом (США) в 1944 г, що випустили підручник Фокусированное інтерв'ю (який і до цього дня залишається основним навчальним посібником).