Разработка информационной системы для контроля и учета поставок на предприятие ООО "Рекламное агентство Протон Плюс"
Обоснование необходимости и цели использования вычислительной техники для решения задачи учета запасов. Анализ существующих разработок и обоснование выбора технологии проектирования. Характеристика нормативно-справочной и входной оперативной информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.03.2012 |
Размер файла | 869,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В отличие от предыдущей системы Windows 2000, которая поставлялась как в серверном, так и в клиентском вариантах, Windows XP является исключительно клиентской системой. Её серверным вариантом является выпущенная позже система Windows Server 2003. Windows XP и Windows Server 2003 построены на основе одного и того же ядра операционной системы, в результате их развитие и обновление идет более или менее параллельно.
Некоторыми из наиболее заметных улучшений в Windows XP по сравнению с Windows 2000 являются:
- Новое оформление графического интерфейса, включая более округлые формы и плавные цвета; а также дополнительные функциональные улучшения (такие, как возможность представления папки в виде слайд-шоу в проводнике Windows).
- Возможность быстрого переключения пользователей, позволяющая временно прервать работу одного пользователя и выполнить вход в систему под именем другого пользователя, оставляя при этом приложения, запущенные первым пользователем, включёнными.
- Функция «удалённый помощник», позволяющая опытным пользователям и техническому персоналу подключаться к компьютеру с системой Windows XP по сети для разрешения проблем. При этом помогающий пользователь может видеть содержимое экрана, вести беседу и (с позволения удалённого пользователя) брать управление в свои руки.
- Программа восстановления системы, предназначенная для возвращения системы в определённое предшествующее состояние (эта функция является развитием аналогичной программы, включённой в Windows Me).
- Улучшенная совместимость со старыми программами и играми. Специальный мастер совместимости позволяет эмулировать для отдельной программы поведение одной из предыдущих версий ОС (начиная с Windows 95).
- Возможность удалённого доступа к рабочей станции благодаря включению в систему миниатюрного сервера терминалов (только в издании Professional).
- Более развитые функции управления системой из командной строки.
- Поддержка проводником Windows цифровых фотоформатов (например, представление папки в виде слайд-шоу) и аудиофайлов (автоматическое отображение метаданных для аудиофайлов, например, тегов ID3 для MP3-файлов).
В качестве средства разработки программного продукта выбран Delphi7.
Delphi - это объектно-ориентированный язык программирования, который назван в честь греческого города, где находился дельфийский оракул.
Delphi - это комбинация нескольких важнейших технологий:
- Высокопроизводительный компилятор в машинный код
- Объектно-ориентированная модель компонент
- Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов
- Масштабируемые средства для построения баз данных
Delphi, ранее известный как Object Pascal, разработанный фирмой Borland и изначально реализованный в её пакете Borland Delphi, от которого и получил в 2003 году своё нынешнее название, результат развития языка Turbo Pascal, который, в свою очередь, развился из языка Pascal. Pascal был полностью процедурным языком, Turbo Pascal, начиная с версии 5.5, добавил в Pascal объектно-ориентированные свойства.
Delphi является средой разработки, используемой прежде всего для подде ржки и разработки приложений, предназначенных как для отдельных рабочих станций, так и для серверов. Delphi может функционировать под управлением операционной системы Windows 95, 98, NT, XP. Отличительными чертами рабочей среды Delphi являются:
- большинство созданных с помощью Delphi приложений будут направлены главным образом на решение задач, связанных с производством и бизнесом; это значит, что обеспечение функционирования баз данных и создание отчетов будут наиболее часто решаемыми задачами; - совместимость приложений становится все более важной. Помимо всего прочего, это обусловлено еще и бурным развитием аппаратного обеспечения (Hardware), в частности:
- широким распространением мобильных компьютеров;
- дальнейшим развитием технических средств, предназначенных для приема, воспроизведения и передачи информации следующих типов: цифровой, текстовой, изображения и звука.
Для функционирования же программы необходим пакет прикладных программ Microsoft Office.
Microsoft Office -- офисный пакет приложений, созданных корпорацией Microsoft для операционных систем Microsoft Windows и Apple Mac OS X. В состав этого пакета входит программное обеспечение для работы с различными типами документов: текстами, электронными таблицами, базами данных и др. Microsoft Office является сервером OLE объектов и его функции могут использоваться другими приложениями, а также самими приложениями Microsoft Office. Поддерживает скрипты и макросы, написанные на VBA.
1.6.4 Технологическое обеспечение
Общий порядок приемки товарно-материальных ценностей установлен “Положением о поставке продукции производственно-технического назначения”. Порядок и сроки приемки товарно-материальных ценностей в определенном количестве и качестве, оформление актов приемки и предъявление претензий определены инструкцией о порядке приемки продукции производственно-технического назначения и товаров народного потребления по количеству и инструкцией о порядке приемки продукции производственно-технического назначения по качеству. Особенности приемки отдельных видов продукции определяются в ГОСТах [12.01.005-89], технических условиях, Особых условиях поставки и договорах поставки, предусматривающих особые порядки приемки продукции при поставках.
На предприятии порядок и сроки приема товаров по количеству, качеству и комплексности и его документальное оформление регулируются условиями поставки, договорами купли-продажи и инструкциями о порядке приемки товаров по количеству, качеству и комплексности.
Приемку товара осуществляет заведующий магазином с продавцом; сверяют количество, указанное в накладной с фактическим количеством, наличие сертификата соответствия на данный товар.
Накладная является приходным товарным документом при поступлении товаров.
Накладная оформляется в двух экземплярах, первый остается у поставщика, другой - у получателя.
Параллельно с накладной выписывается счет-фактура (в двух экземплярах).
Первый экземпляр представляется поставщиком покупателю и дает право на зачет сумм налога на добавленную стоимость в порядке, установленном Федеральным законом.
Счет-фактуры и накладные, предъявляемые поставщиками, регистрируются в книге покупок в хронологическом порядке по мере оприходования приобретаемых товаров.
Возврат товара поставщику при обнаружении брака в процессе реализации товара стандарту или согласованному образцу по качеству осуществляется путем оформления расходной накладной. Условия возврата товара поставщику могут быть различны и оговариваются в договоре поставки. При нарушении правил приема и сроков получатель лишается возможности предъявления претензий поставщикам.
Оформленные документы на приемку товаров являются основанием для расчетов с поставщиками и их данные не могут быть пересмотрены после приемки товаров.
Поступающие товары приходуются в день окончания их приемки по фактическому количеству и сумме. Заведующий магазином со старшим бухгалтером устанавливают цены на поступившие товары, заведующий магазином оформляет ценник.
2 Проектная часть
2.1 Информационное обеспечение задачи
2.1.1 Информационная модель и ее описание
В качестве входной информации выступают накладная и счет-фактура, которые являются приходными товарными документами при поступлении товаров.
В накладной указываются номер и дата выписки; наименование поставщика и покупателя; наименование и краткое описание товара, его количество (в единицах), цена и общая сумма (с учетом налога на добавленную стоимость) отпуска товара. Накладная подписывается материально-ответственными лицами, сдавшими и принявшими товар, и заверяются круглыми печатями организаций поставщика и получателя.
В счет-фактуре указаны: порядковый номер счет-фактуры; наименование и регистрационный номер поставщика товара, наименование товара, стоимость товара, сумма налога на добавленную стоимость, дата представления счет-фактуры.
Пользователь на основе данных документов прихода товара заполняет форму «Добавление товара», где указывает наименование поступившего товара, количество, себестоимость, процент наценки и код товара. В результате чего изменяются данные в таблице Хранилище, следующим образом: при поступлении нового вида товара создается новая запись, если же пришедший товар уже имеется на складе, то количество суммируется (остатки на складе + количество поступившего товара), а себестоимость пересчитывается по методу средней. Также информация о приходе добавляется в таблицу Поставки.
При отгрузке товара заполняется форма «Реализация», в которой указывается информация о реализуемой продукции (наименование, количество), а также данные о заказчике (наименование, ФИО, телефон и адрес). Сохранение данной формы приводит к изменению информации в трех таблицах: Хранилище, Заказы и Продано.
В таблице Хранилище при наличии необходимого количества отгружаемого товара на складе происходит списание, т.е. уменьшается остаток (остаток на складе - количество отгружаемого товара).
В таблице заказы добавляется запись о заказе, содержащая информацию о заказчике, об отгружаемом товаре, а также о дате и времени формирования заказа и выручке по заказу.
В таблице Продано осуществляется накопление информации обо всей реализованной продукции. При отгрузке нового вида продукции, не отгружавшегося ранее, создается новая запись, с указанием наименования, количества, выручки и прибыли по отгруженному товару. Если же товар уже отгружался, то данные по количеству, выручки и прибыли суммируются. Так же обновляются данные о выручке и прибыли по всей реализованной продукции.
Для возможности анализа данных на основе текущей информации формируется отчет, содержащий записи всех таблиц.
Инфологическая модель показана на рисунке 1.3
Так как данные в программе хранятся с текстовом файле строить даталогическую модель нет смысла.
2.1.2 Используемые классификаторы и системы кодирования.
Важным понятием при работе с информацией является классификация объектов.
Классификация - система распределения объектов (предметов, явлений, процессов, понятий) по классам в соответствии с определенным признаком.
Рис. 1.3 Инфологическая модель данных
Под объектом понимается любой предмет, процесс, явление материального или нематериального свойства. Система классификации позволяет сгруппировать объекты и выделить определенные классы, которые будут характеризоваться рядом общих свойств. Классификация объектов - это процедура группировки на качественном уровне, направленная на выделение однородных свойств. Применительно к информации как к объекту классификации выделение классы называют информационными объектами.
Свойства информационного объекта определяются информационными параметрами, называемыми реквизитами. Реквизиты представляются либо числовыми данными, например вес, стоимость, год, либо признаками, например цвет, марка машины, фамилия.
Реквизит - логически неделимый информационный элемент, описывающий определенное свойство объекта, процесса, явления и т.п.
Кроме выявления общих свойств информационного объекта классификация нужна для разработки правил (алгоритмов) и процедур обработки информации, представленной совокупностью реквизитов.
При любой классификации желательно, чтобы соблюдались следующие требования:
- полнота охвата объектов рассматриваемой области;
- однозначность реквизитов;
- возможность включения новых объектов.
В любой стране разработаны и применяются государственные, отраслевые, региональные классификаторы. Например, классифицированы: отрасли промышленности, оборудование, профессии, единицы измерения, статьи затрат и т.д.
Классификатор - систематизированный свод наименований и кодов классификационных группировок.
При классификации широко используются понятия классификационный признак и значение классификационного признака, которые позволяют установить сходство или различие объектов. Возможен подход к классификации с объединением этих двух понятий в одно, названное как признак классификации. Признак классификации имеет также синоним основание деления.
Разработаны три метода классификации объектов: иерархический, фасетный, дескрипторный. Эти методы различаются разной стратегией применения классификационных признаков.
Описание классификаторов данного проекта приводятся в таблицах 8-11.
Таблица 8
Классификатор «Хранилище»
Наименование |
Тип |
Длина |
Описание |
|
1 |
2 |
3 |
4 |
|
Наименование |
Строка |
256 |
Название товара |
|
Количество |
Число |
8.2 |
Количество товара |
|
Себестоимость |
Число |
8.2 |
Себестоимость товара |
|
Процент |
Число |
4.2 |
Процент накрутки |
|
Цена |
Число |
10.4 |
Цена товара |
|
Код |
Строка |
20 |
Код товара |
Таблица 9
Классификатор «Заказы»
Наименование |
Тип |
Длина |
Описание |
|
1 |
2 |
3 |
4 |
|
Предприятие |
Строка |
256 |
Наименование предприятия |
|
Ф.И.О. |
Строка |
256 |
Контактное лицо |
|
Адрес |
Строка |
256 |
Адрес предприятия |
|
Телефон |
Строка |
256 |
Контактный телефон |
|
Наименование |
Строка |
256 |
Наименование товара |
|
Количество |
Число |
8.2 |
Количество товара |
|
Выручка |
Число |
8.2 |
Выручка от реализованного товара |
|
Дата |
Дата |
Дата реализации |
||
Время |
Время |
Время реализации |
Таблица 10
Классификатор «Продано»
Наименование |
Тип |
Длина |
Описание |
|
1 |
2 |
3 |
4 |
|
Наименование |
Строка |
256 |
Наименование товара |
|
Количество |
Число |
8.2 |
Количество реализованного товара |
|
Выручка |
Число |
8.2 |
Выручка от реализованного товара |
|
Прибыль |
Число |
8.2 |
Прибыль с реализованного товара |
|
Код |
Строка |
20 |
Код товара |
Таблица 11
Классификатор «Поставки»
Наименование |
Тип |
Длина |
Описание |
|
1 |
2 |
3 |
4 |
|
Наименование |
Строка |
256 |
Наименование товара |
|
Количество |
Число |
8.2 |
Количество поступившего товара |
|
Себестоимость |
Число |
8.2 |
Себестоимость товара |
|
Дата |
Дата |
Дата поступления товара |
||
Время |
Время |
Время поступления товара |
||
Код |
Строка |
20 |
Код товара |
2.1.3 Характеристика нормативно-справочной и входной оперативной информации
Под входной информацией понимается вся информация, необходимая для решения задачи и расположенная на различных носителях: первичных документах, машинных носителях, в памяти персонального компьютера. С этой целью составляются перечень входной информации и состав реквизитов каждого вида входной информации, расположение реквизитов входной информации, описание полей (реквизитов) входных документов. Все хозяйственные операции фиксируются в памяти ЭВМ и в специальном журнале регистрации первичных документов.
К условно-постоянной относится информация, использующаяся во многих циклах обработки и остающаяся неизменной в течение длительного периода времени.
В связи с тем, что постоянная информация составляет до 75% общего объема информации, циркулирующей в системе управления фирмы, от правильной ее организации во многом зависит эффективность функционирования всей системы управления фирмой.
Созданием системы постоянной информации достигается централизация хранения данных, повышения их достоверности, устранение дублирования, сокращение объема работ по подготовке и вводу их в ЭВМ, что повышает эффективность использования постоянной информации.
Подробная характеристика информации, входящей в модель данных данного дипломного проекта представлена в табл. 12.
Таблица 12
Характеристика информации входящей в модель данных
Элемент информации |
Место возникновения |
Стадия обработки |
Способ отображения |
Стабильность |
Функция управления |
|
1 |
2 |
3 |
4 |
5 |
6 |
|
Код |
Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Изготовитель |
Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Дата реализации |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная Нормативно-справочная |
|
Цена покупки |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Цена продажи |
Внутренняя Выходная |
Вторичная |
Текстовая |
Переменная |
Оперативная |
|
Количество прихода |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Поступление |
Внутренняя Выходная |
Вторичная |
Текстовая |
Переменная |
Оперативная |
|
Заказ |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Дата поступления |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Текущая дата |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Дата заказа |
Входная |
Первичная |
Текстовая |
Переменная |
Оперативная |
|
Заказчик |
Внешняя Входная |
Результативная |
Текстовая |
Переменная |
Нормативно-справочная |
|
ФИО |
Внешняя Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Предприятие |
Внешняя Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Телефон |
Внешняя Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Адрес |
Внешняя Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Сумма поступления |
Внутренняя |
Результативная |
Текстовая |
Переменная |
Оперативная |
|
Сумма заказа |
Внутренняя |
Результативная |
Текстовая |
Переменная |
Оперативная |
|
Наименование |
Входная |
Первичная |
Текстовая |
Переменная |
Нормативно-справочная |
|
Процент |
Входная |
Первичная |
Текстовая |
Постоянная |
Оперативная Нормативно-справочная |
2.1.4 Характеристика результатной информации
Результатом формирования данного программного продукта является формирования форм поступления и реализации товаров, а также форма хранения остатков на складе и форма накопления информации о реализованном товаре.
Форма для регистрации данных приведена на рис. 2.1, в данной форме хранится информация о каждом поступлении товара. При оприходовании первичных документов (Накладная, Счет-фактура) на вкладке Поставки создается соответствующая запись.
Рис. 9
Форма хранения и накопления остатков представлена на рис. 9 При каждом проведении прихода на основании первичных документов на вкладке Хранилище происходит накопление данных обо всем имеющемся товаре на складе. При каждой реализации информация обновляется, и текущие остатки уменьшаются на количество реализованного товара. Таким образом, пользователь видит актуальные остатки по каждой позиции.
Рис. 10
Форма регистрации заказов имеет вид, представленный на рис. 10Записи на вкладке Заказы добавляются при каждом оформлении реализации товара.
Рис. 11
Форма накопления о реализованной продукции приведена на рис. 12. Информация в данной форме обновляется при каждом оформлении реализации, т.е. пользователь в режиме реального времени может видеть выручку и прибыль по каждой отдельной позиции товара, а также в сумме по всему ассортименту.
Пример отчета приведен на рисунке 13
Рис. 12
Рисунок 13 - Пример отчета
2.2 Программное обеспечение задачи
2.2.1 Общие положения (дерево функций и сценарий диалога)
Разработанная программа предназначается для контроля и учета поставок на предприятие. Данная система должна позволить автоматизировать процесс учета поставок и обрабатывать данные с большой скоростью.
Для простоты использования разрабатываемого программного обеспечения необходимо предусмотреть удобный пользовательский интерфейс.
Схема функционирования автоматизированной системы представлена на рисунке 13
Из главной формы программы осуществляется доступ к файлу в котором хранятся данные, а также доступ к формам, позволяющим оформить поступление товара, а также его реализацию.
Для регистрации информации по поступлению товара используется форма «Добавление товара», для её вызова необходимо нажать на кнопку «Добавить товар» на вкладке Хранилище главной формы программы.
Для оформления заказа необходимо воспользоваться формой «Реализация», которую также можно вызвать с вкладки Хранилище главной формы программы, нажав на кнопку «Заказать»
Рис. 13
2.2.2 Структурная схема пакета (дерево вызова процедур и программ)
Структурная схема -- это совокупность элементарных звеньев объекта и связей между ними, один из видов графической модели. Под элементарным звеном понимают часть объекта, системы управления и т. д., которая реализует элементарную функцию.
Элементарные звенья изображаются прямоугольниками, а связи между ними -- сплошными линиями со стрелками, показывающими направление действия звена. Иногда в поле прямоугольника вписывают математическое выражение закона преобразования сигнала в звене, в этом случае схему иногда называют алгоритмичной.
В схемотехнике вместе со структурной различают также принципиальную и функциональную схему. Среди всех этих схем структурная наименее детализирована.
Она предназначена для отражения общей структуры устройства, то есть его основных блоков, узлов, частей и главных связей между ними. Из структурной схемы должно быть понятно, зачем нужно данное устройство и что оно делает в основных режимах работы, как взаимодействуют его части. Обозначение структурной схемы могут быть достаточно свободными, хотя некоторые общепринятые правила всё же лучше выполнять
Алгоритм реализации программного продукта «Учет поставок и реализации» представлен на рис. 14.
Рис. 14
2.2.3 Описание программных модулей
Модуль в программировании представляет собой функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной его части, предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие, в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобный для многократного использования функционал (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки.
В данной программе используются четыре формы:
- Form1: Главная форма (форма приложения);
- Form2: Форма для добавления товара на склад;
- Form3: Форма для создания заказа;
- AboutBox: Форма информации о программе.
Основные процедуры программы
2.2.4 Схема взаимосвязи программных модулей и информационных файлов.
Разрабатываемое приложение содержит следующие программные модули:
- Unit1.pas - модуль главной формы приложения
- Unit2.pas - модуль формы «Добавление товара»
- Unit3.pas - модуль формы «Реализация»
- Unit4.pas - модуль формы о программе
Схема взаимосвязи данных модулей представлена на рис. 15
Рис. 15
2.3 Технологическое обеспечение задачи
Для учета поступления товара используются накладные и счета-фактуры, на основе данных документов заполняется форма «Добавление товара». Чтобы поставить товар на приход необходимо на вкладке Хранилище главной формы программы нажать кнопку «Добавить товар», затем заполнить форму для каждой позиции товара в накладной (счет-фактуре). Данные действия приведут к изменению информации в таблицах Поставки и Хранилище.
Реализация товара оформляется на основе информации в таблице Хранилище, при наличии необходимого товара для отгрузки заполняется форма «Реализация», которую можно вызвать с главной формы программы с вкладки Хранилище, нажав на кнопку «Заказать». При проведении реализации изменяются данные в таблицах Хранилище, Заказы и Продано.
На основе текущих данных всех таблиц можно формировать ежемесячный отчет, который сохраняется в файл Еxcel, что позволяет обрабатывать и анализировать данные, используя возможности Microsoft Office Excel, такие как сводные таблицы, диаграммы и другие.
Схема обработки информации при использовании приложения «Учёт поставок и реализации» приведена на рисунке 16.
Рис. 16
3. Обоснование экономической эффективности проекта
Экономическая эффективность проекта (Э) складывается из двух составляющих:
- Косвенного эффекта, который, например, характеризуется увеличением прибыли, привлечением большего числа покупателей, уменьшение количества рекламаций потребителей, снижение затрат на сырье и материалы, уменьшение сумм штрафов, неустоек и т.д.
-Прямого эффекта, который характеризуется снижением трудовых и стоимостных показателей.
К трудовым показателям относятся следующие:
1) абсолютное снижение трудовых затрат (Т):
Т = Т0 - Т1,
где Т0 - трудовые затраты на обработку информации по базовому варианту;
Т1 - трудовые затраты на обработку информации по предлагаемому варианту;
2) коэффициент относительного снижения трудовых затрат (КТ):
КТ =Т / T0 * 100%;
3) индекс снижения трудовых затрат или повышение производительности труда (YT):
YT = T0 / T1.
К стоимостным показателям относятся: абсолютное снижение стоимостных затрат (C), коэффициент относительного снижения стоимостных затрат (КC) индекс снижения стоимостных затрат (YC), рассчитываемые аналогично трудовым показателям.
Помимо рассмотренных показателей рассчитаем срок окупаемости затрат на внедрение проекта машинной обработки информации (Ток)
Ток = КП /C,
где КП - затраты на создание проекта машинной обработки информации (проектирование и внедрение).
Результаты расчета показателей экономической эффективности проекта необходимо представить в форме таблиц, графиков, повышающих наглядность восприятия. Здесь же следует определить улучшение качественных характеристик процесса управления соответствующим объектом и оценить влияние автоматизированного комплекса задач на эффективность деятельности органов управления и конечные результаты.
Операции технологического процесса могут быть представлены в табличной форме (см. табл. 15)
Значения для столбца 6 (норма выработки/производительность) могут получены:
из технической документации (например, скорость модема, принтера);
из информационных источников на предприятии (в бухгалтерии, экономическом отделе, отделе кадров);
путем статистических наблюдений и/или вычислений;
Например, часовая норма амортизации может быть рассчитана при следующих исходных данных.
Балансовая стоимость компьютера и принтера 20000 руб;
Срок службы компьютера и принтера 5 лет;
Рабочих дней в году 256;
Работа компьютера 8 часов в день.
Рассчитываем общий объем работы компьютера и принтера за весь срок 5*256*8= 10240 часов
Рассчитываем часовую норму амортизации 20000/10240= 1,95 руб/час.
Остальные показатели рассчитываются аналогичным образом.
На основе проведенных расчетов формируются показатели Т0, Т1 (гр. 7) и С0, С1 (гр. 12). С их использованием вычисляются все остальные показатели, описанные в пункте 3.1. Результаты расчетов оформляются в табличной форме (см. табл. 3.2). Может быть избрана и другая табличная форма, основными требованиями к которой являются наглядность и простота.
Таблица 15
Характеристика затрат на обработку информации при базовом варианте
№ п/п |
Наименование операций технологического процесса решения комплекса задач |
Оборудование |
Ед. Изм. |
Объем работы в год |
Норма выработки / производительность устройств ЭВМ ( в час.) |
Тру доемкость (гр5: гр6) |
Среднечасовая зарплата оператора (руб.) |
Часовая норма амортизации / ст. 1 м.часа (руб.) |
Часовая стоимость накладных расходов (руб.) |
Стоимость работы оборудования (гр8+ гр9/+ гр10) для ручных операций |
Стоимостные затраты (гр7*гр11) (руб.)/гр.7*/гр.9 ) для операций, вып. на ЭВМ |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
||
Итого: |
ХХХ |
ХХХХХ |
Желательно охарактеризовать связь показателей YT и YC, объяснив их равенство или неравенство с точки зрения функциональной информационной технологии.
Приведенная методика расчета экономической характеристики проекта не учитывает затрат на ее создание, поэтому после расчета оптимальных величин показателей рассчитываются капитальные затраты на создание и внедрение проекта. Затраты могут быть разбиты по категориям.
На основе полученных результатов может быть вычислен годовой экономический эффект. Срок окупаемости проекта рассчитывается как отношение затрат на проектирование к годовому экономическому эффекту, выраженное в месяцах.
После расчета срока окупаемости проекта все показатели эффективности должны быть проиллюстрированы диаграммами (например, круговыми или столбчатыми).
Таблица 16 Показатели эффективности от внедрения проекта автоматизации
Затраты |
Абсолютное изменение |
Коэффициент изменения затрат |
Индекс изменения затрат |
|||
Базовый вариант |
проектный вариант |
затрат |
||||
Трудоемкость |
T0 (час) |
T1 (час) |
Т=Т0 -Т1 (час) |
КТ=Т/T0 100 % |
YT=T0/T1 |
|
ХХХ |
ХХХ |
ХХХ |
ХХ% |
ХХ |
||
Стоимость |
C0 (руб.) |
C1 (руб.) |
C=C0-C1 (руб.) |
КC=C/C0 100% |
YC=C0/C1 |
|
ХХХ |
ХХХ |
ХХХ |
ХХ% |
ХХ |
В начале 2010 года по запросу одной московской компании, группа «ВАРЭС» провела исследования в ряде регионов России, касающиеся влияния использования автоматизации учета товарных запасов в деятельности трудового коллектива малых предприятий. Так вот, оказалось, что применение автоматизации на различных предприятиях увеличивало производительность труда в 1,2 - 1,7 раза. Для анализа эффективности предложенного мероприятия возьмем среднее значение роста производительности труда и примем его за 1,5. Величина переменной части вознаграждения сотрудника будет составлять 10% от оклада.
1. Производительность труда после внедрения мероприятия составит: 6192,0* 1,5 = 9288,0 тыс. руб./чел.
2. Следовательно выручка при той же среднесписочной численности (42 чел.) будет равняться: 9288,0 * 48 = 445824 тыс. руб.
3. В нашем случае изменение себестоимости реализованной продукции (ДС) равняется изменению фонда заработной платы (ДФЗП) + изменение Единого социального налога (ДНЕСН), фонд заработной платы увеличится на 10%:
ДС= ДФЗП + ДНЕСН,
ДФЗП = ФЗП 2010 года * 10% = 207649,52 * 10% = 20764,9 тыс. руб.
ДНЕСН = 20764,9 * 26% = 3658,9 тыс. руб.
ДС =20764,9 + 3658,9 = 23423,8 тыс. руб.
4. Увеличение прибыли ведет за собой увеличение налога на прибыль:
ДНпр = ДП * 20%,
где: ДНпр - изменение налога на прибыль,
ДНпр= (445824 - 420495 - 23423) * 24% = 457,44 тыс. руб.
5. Результат операционной деятельности (или экономический эффект) определяется как:
ДО = ДП - ДНпр,
Где: ДО - результат операционной деятельности
ДО = 1906 - 457,44 = 1448,56 тыс. руб.
Т.е. при внедрении данного мероприятия по автоматизации товарных запасов положительный эффект составит 1448,56 тыс. руб.
Заключение
Целью настоящего исследования поставлено разработка информационной системы для контроля и учета поставок на предприятие ООО «Рекламное агентство Протон Плюс». Для реализации этой цели в процессе работы выполнены следующие задачи:
Рассмотрен порядок документального оформления поступления, реализации товаров, учет товарных запасов в соответствии с Гражданским кодексом Российской Федерации, с Положениями о бухгалтерском учете и отчетности, с Инструкциями Минфина Российской Федерации, Госкомстата России;
Проведен анализ товарных запасов на предприятии;
Выполнен анализ текущего состояния процесса обработки информации в ООО «Рекламное агентство Протон Плюс»;
Спроектировано и реализовано АРМ бухгалтера по учету товарных запасов на предприятии.
По результатам работы разработана программа информационная система “Учет поставок”. В результате выполненной разработки можно сделать следующие выводы:
1. Разработанная программа позволяет достигнуть следующих эффектов:
- уменьшение времени необходимого для учета поставок произведенных на предприятие;
- автоматизация контроля поставок;
- возможность длительного хранения информации о поставках на предприятие большого срока давности, для возможности более полного расчета эффективности деятельности предприятия;
- своевременное получение информации о сроках оплаты за осуществленные поставки.
2. Целесообразность разработки обуславливается наличием свободного сегмента рынка для реализации разработанной программы.
3. На основании вышесказанного можно сделать вывод о том, что разработка программы “Учет поставок и реализации” является целесообразной и будет приносить реальную пользу при использовании ее на предприятии.
Приложение А
Код програмы
UNIT1
procedure TForm1.FormCreate(Sender: TObject);
// Определяет свойства объектов SG (StringGrid): количество строк, столбцов, //их размеры и др.
begin
with StringGrid1 do //настройка SG1 на вкладке хранилище
begin
RowCount:=2; //устанавливаем кол-во строк, равное 2 (шапка и ода пустая строка)
ColCount:=7; //устанавливаем кол-во столбцов, равное 7
Cells[0,0]:='№'; //Значение ячейки [0,0] = №
ColWidths[0]:=25; //Устанавливаем ширину нулевого столбца, равную 25
Cells[1,0]:='Наименование'; //Значение ячейки [1,0] = Наименование
ColWidths[1]:=220; //Устанавливаем ширину первого столбца, равную 220
Cells[2,0]:='Кол-во'; //Значение ячейки [2,0] = Количество
ColWidths[2]:=85; //Устанавливаем ширину второго столбца, равную 85
Cells[3,0]:='Себестоимость'; //Значение ячейки [3,0] = Себестоимость
ColWidths[3]:=85; //Устанавливаем ширину третьего столбца, равную 85
Cells[4,0]:='Процент'; //Значение ячейки [4,0] = Процент
ColWidths[4]:=85; //Устанавливаем ширину четвертого столбца, равную 85
Cells[5,0]:='Цена'; //Значение ячейки [5,0] = Цена
ColWidths[5]:=85; //Устанавливаем ширину пятого столбца, равную 85
Cells[6,0]:='Код'; //Значение ячейки [6,0] = Код
ColWidths[6]:=85; //Устанавливаем ширину шестого столбца, равную 85
end;
with StringGrid2 do //настройка SG2 на вкладке заказы (аналогично SG1)
begin
RowCount:=2;
ColCount:=10;
Cells[0,0]:='№';
ColWidths[0]:=25;
Cells[1,0]:='Предприятие';
ColWidths[1]:=150;
Cells[2,0]:='Ф.И.О.';
ColWidths[2]:=120;
Cells[3,0]:='Адрес';
ColWidths[3]:=200;
Cells[4,0]:='Телефон';
ColWidths[4]:=90;
Cells[5,0]:='Наименование';
ColWidths[5]:=190;
Cells[6,0]:='Кол-во';
ColWidths[6]:=50;
Cells[7,0]:='Выручка';
ColWidths[7]:=60;
Cells[8,0]:='Дата';
ColWidths[8]:=70;
Cells[9,0]:='Время';
ColWidths[9]:=50;
end;
with StringGrid3 do //настройка SG3 на вкладке продано (аналогично SG1)
begin
RowCount:=2;
ColCount:=6;
Cells[0,0]:='№';
ColWidths[0]:=25;
Cells[1,0]:='Наименование';
ColWidths[1]:=220;
Cells[2,0]:='Кол-во';
ColWidths[2]:=85;
Cells[3,0]:='Выручка';
ColWidths[3]:=85;
Cells[4,0]:='Прибыль';
ColWidths[4]:=85;
Cells[5,0]:='Код';
ColWidths[5]:=85;
end;
with StringGrid4 do //настройка SG4 на вкладке продано (аналогично SG1)
begin
RowCount:=2;
ColCount:=7;
Cells[0,0]:='№';
ColWidths[0]:=25;
Cells[1,0]:='Наименование';
ColWidths[1]:=220;
Cells[2,0]:='Кол-во';
ColWidths[2]:=85;
Cells[3,0]:='Себестоимость';
ColWidths[3]:=85;
Cells[4,0]:='Дата';
ColWidths[4]:=85;
Cells[5,0]:='Время';
ColWidths[5]:=85;
Cells[6,0]:='Код';
ColWidths[6]:=85;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
//Вызывается нажатием кнопки Добавить товар на вкладке Хранилище. //Вызывает форму для добавления товара.
begin
form2.showmodal; //открываем форму для добавления товара
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form3.showmodal; //открываем форму для оформления заказа
end;
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then form3.ShowModal; //при нажатии enter (13 код клавиши enter)
//на SG1 открывает форму заказа
if key=45 then form2.ShowModal; //при нажатии insert (45 код клавиши insert)
//на SG1 открывает форму добавления товара
end;
procedure TForm1.Button2Click(Sender: TObject);
//Вызывается нажатием кнопки Заказать. Вызывает форму для создания заказа //товара.
begin
form3.showmodal; //открываем форму для оформления заказа
end;
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then form3.ShowModal; //при нажатии enter (13 код клавиши enter)
//на SG1 открывает форму заказа
if key=45 then form2.ShowModal; //при нажатии insert (45 код клавиши insert)
//на SG1 открывает форму добавления товара
end;
procedure SaveFile(s:string);
//Производит текущее сохранение состояния таблиц SG1..SG4 в файл. При //сохранении используются типы r1, r2, r3, r4. Каждый тип - строка каждой из //четырёх таблиц. Параметр s - имя файла.
var
f: TextFile;
i,j: integer;
r1,r2,r3,r4: string;
begin
AssignFile(f, s+'.txt'); // привязка файла к переменной
Rewrite(f); // создаем новый файл
WriteLn(f,'---SG1---'); // добавляем в файл метку об источнике данных
//цикл по строкам SG1
for i:=1 to form1.StringGrid1.RowCount-2
do begin
r1:=''; //освоождаем строковую переменную для дальнейшей записи
//цикл по столбцам i-ой строки
for j:=0 to form1.StringGrid1.ColCount-1 do
r1:=r1+form1.StringGrid1.Cells[j,i]+'|';
WriteLn(f,r1); //записываем полученную строку в файл
end;
WriteLn(f,'---SG2---'); // добавляем в файл метку об источнике данных
//цикл по строкам SG2
for i:=1 to form1.StringGrid2.RowCount-2
do begin
r2:=''; //освоождаем строковую переменную для дальнейшей записи
//цикл по столбцам i-ой строки
for j:=0 to form1.StringGrid2.ColCount-1 do
r2:=r2+form1.StringGrid2.Cells[j,i]+'|';
WriteLn(f,r2); //записываем полученную строку в файл
end;
WriteLn(f,'---SG3---'); // добавляем в файл метку об источнике данных
//цикл по строкам SG3
for i:=1 to form1.StringGrid3.RowCount-2
do begin
r3:=''; //освоождаем строковую переменную для дальнейшей записи
//цикл по столбцам i-ой строки
for j:=0 to form1.StringGrid3.ColCount-1 do
r3:=r3+form1.StringGrid3.Cells[j,i]+'|';
WriteLn(f,r3); //записываем полученную строку в файл
end;
WriteLn(f,'---SG4---'); // добавляем в файл метку об источнике данных
//цикл по строкам SG1
for i:=1 to form1.StringGrid4.RowCount-2
do begin
r4:=''; //освоождаем строковую переменную для дальнейшей записи
//цикл по столбцам i-ой строки
for j:=0 to form1.StringGrid4.ColCount-1 do
r4:=r4+form1.StringGrid4.Cells[j,i]+'|';
WriteLn(f,r4); //записываем полученную строку в файл
end;
writeln(f,'------');
//Запишем в файл значение выручки
WriteLn(f,'Выручка='+form1.label1.caption);
//Запишем в файл значение прибыли
WriteLn(f,'Прибыль='+form1.label2.caption);
CloseFile(f); // закрыть файл
end;
procedure ReadFile(s:string);
//Производит загрузку данных из файла в таблицы.
var
f: TextFile;
i,j: integer;
r1,r2,r3,r4: string;
begin
//ощищаем SG от содержимого
//SG1
for i:=1 to form1.StringGrid1.RowCount-1 do
form1.StringGrid1.Rows[i].Clear;
Form1.StringGrid1.RowCount:=2;
//SG2
for i:=1 to form1.StringGrid2.RowCount-1 do
form1.StringGrid2.Rows[i].Clear;
Form1.StringGrid2.RowCount:=2;
//SG3
for i:=1 to form1.StringGrid3.RowCount-1 do
form1.StringGrid3.Rows[i].Clear;
Form1.StringGrid3.RowCount:=2;
//SG4
for i:=1 to form1.StringGrid4.RowCount-1 do
form1.StringGrid4.Rows[i].Clear;
Form1.StringGrid4.RowCount:=2;
//очищаем итоговые данные с вкладки продано
form1.label1.Caption:='0,00';
form1.label2.Caption:='0,00';
AssignFile(f, s); // привязка файла к переменной
Reset(f); //открываем файл для чтения
Readln(f,r1); //считываем первую строку в переменную r1
//Записываем данные из файла в SG1
i:=1; //устанавливаем начальный номер строки
Readln(f,r1); //считываем следующую строку в переменную r1
//организуем цикл по строкам файла до тех пор пока не дойдем до метки SG2
while r1<>'---SG2---'
do begin
//увеличиваем количество строк в SG на единицу
form1.StringGrid1.RowCount:=form1.StringGrid1.RowCount+1;
j:=0; //устанавливаем начальное значение столбца
//организуем цикл по строке из файла
while r1<>'' //пока строка не пустая
do begin
//записываем в SG значение со строки r1 с первой позиции до разделителя '|'
form1.StringGrid1.Cells[j,i]:=copy(r1,1,pos('|',r1)-1);
//удаляем из строки r1 подстроку c 1 элемента до позиции первого разделителя '|'
delete(r1,1,pos('|',r1));
//увеличиваем индекс столбца в SG на единицу
j:=j+1;
end;
//увеличиваем индекс строки в SG на единицу
i:=i+1;
//считываем следующую строку в переменную r1
ReadLn(f,r1);
end;
//Записываем данные из файла в SG2
i:=1; //устанавливаем начальный номер строки
Readln(f,r2); //считываем следующую строку в переменную r2
//организуем цикл по строкам файла до тех пор пока не дойдем до метки SG3
while r2<>'---SG3---'
do begin
//увеличиваем количество строк в SG на единицу
form1.StringGrid2.RowCount:=form1.StringGrid2.RowCount+1;
j:=0; //устанавливаем начальное значение столбца
//организуем цикл по строке из файла
while r2<>'' //пока строка не пустая
do begin
//записываем в SG значение со строки r2 с первой позиции до разделителя '|'
form1.StringGrid2.Cells[j,i]:=copy(r2,1,pos('|',r2)-1);
//удаляем из строки r2 подстроку c 1 элемента до позиции первого разделителя '|'
delete(r2,1,pos('|',r2));
//увеличиваем индекс столбца в SG на единицу
j:=j+1;
end;
//увеличиваем индекс строки в SG на единицу
i:=i+1;
//считываем следующую строку в переменную r2
ReadLn(f,r2);
end;
//Записываем данные из файла в SG3
i:=1; //устанавливаем начальный номер строки
Readln(f,r3); //считываем следующую строку в переменную r3
//организуем цикл по строкам файла до тех пор пока не дойдем до метки SG4
while r3<>'---SG4---'
do begin
//увеличиваем количество строк в SG на единицу
form1.StringGrid3.RowCount:=form1.StringGrid3.RowCount+1;
j:=0; //устанавливаем начальное значение столбца
//организуем цикл по строке из файла
while r3<>'' //пока строка не пустая
do begin
//записываем в SG значение со строки r3 с первой позиции до разделителя '|'
form1.StringGrid3.Cells[j,i]:=copy(r3,1,pos('|',r3)-1);
//удаляем из строки r3 подстроку c 1 элемента до позиции первого разделителя '|'
delete(r3,1,pos('|',r3));
//увеличиваем индекс столбца в SG на единицу
j:=j+1;
end;
//увеличиваем индекс строки в SG на единицу
i:=i+1;
//считываем следующую строку в переменную r3
ReadLn(f,r3);
end;
//Записываем данные из файла в SG4
i:=1; //устанавливаем начальный номер строки
Readln(f,r4); //считываем следующую строку в переменную r4
//организуем цикл по строкам файла до его завершения
while r4<>'------'
do begin
//увеличиваем количество строк в SG на единицу
form1.StringGrid4.RowCount:=form1.StringGrid4.RowCount+1;
j:=0; //устанавливаем начальное значение столбца
//организуем цикл по строке из файла
while r4<>'' //пока строка не пустая
do begin
//записываем в SG значение со строки r4 с первой позиции до разделителя '|'
form1.StringGrid4.Cells[j,i]:=copy(r4,1,pos('|',r4)-1);
//удаляем из строки r1 подстроку c 1 элемента до позиции первого разделителя '|'
delete(r4,1,pos('|',r4));
//увеличиваем индекс столбца в SG на единицу
j:=j+1;
end;
//увеличиваем индекс строки в SG на единицу
i:=i+1;
//считываем следующую строку в переменную r4
ReadLn(f,r4);
end;
//считываем значение прибыли
ReadLn(f,r4);
delete(r4,1,8);
form1.label1.caption:=r4;
//считываем значение выручки
ReadLn(f,r4);
delete(r4,1,8);
form1.label2.caption:=r4;
CloseFile(f); // закрыть файл
end;
procedure DeleteItem(var mySG:TstringGrid; n:integer);
//Производит удаление из таблицы строки с номером n. Все нижние строки //сдвигаются вверх.
var i, j: Integer;
begin
with mySG do
begin
//организуем цикл по строкам, начиная со строки, которую неоходимо удалить
for i:=n+1 to RowCount-1 do
//организуем цикл по столбцам
for j:=1 to ColCount-1 do
//переписываем текущие значения в ячейку выше
Cells[j, i-1]:=Cells[j, i];
// организуем цикл по столбцам
for i:=0 to ColCount-1 do
//удаляем значения с последней строки
Cells[i, RowCount-1]:='';
//уменьшаем количество строк в SG на единицу
RowCount:=RowCount-1;
//удаляем номер по порядку с последней строки пустой строки
Cells[0, RowCount-1]:='';
end;
end;
procedure TForm1.N8Click(Sender: TObject);
{Вызывается выбором пункта главного меню Данные - Создать отчёт. Вызывает диалоговое окно для подтверждения создания отчёта. Затем происходит сохранение состояния всех таблиц в текстовом файле с указанием в его названии даты формирования, а также на основе шаблона создается отчет в excel. После сохранения текстового файла и файла отчета происходит удаление из таблицы всех данных кроме товаров на складе. Если какого-либо товара не осталось (количество - 0), то он также удаляется из списка.}
var MSExcel: Variant;
i: Integer;
path: string;
begin
if MessageDlg('Вы действительно желаете сформировать файл отчета на основе текущих данных?'+#13+
'Внимание! После формирования отчета таблицы будут очищены.'+#13+
'Для дальнейшей работы с этими же данными необходимо будет загрузить их с резервного файла,'+#13+
'который будет автоматически создан в папке отчеты.',mtConfirmation, mbOKCancel, 0) = mrOk
then begin
path:=copy(Application.ExeName,1,pos('\Project1.exe',Application.ExeName)-1);//определяем путь к exe файлу приложения
//создание резервного файла txt в папке отчеты
SaveFile(path+'\Отчеты\'+FormatDateTime('yyyy.mm.dd',Date)+'.txt');
//формирование отчета в excel
MsExcel:= CreateOleObject('Excel.Application'); //определяем переменную MsExcel
MsExcel.Visible:= False; //отключаем видимоть окна excel
MsExcel.WorkBooks.Add(path+'\Отчеты\Шаблон отчета.xlt'); //создание новой книги на основе шаблона
//выгрузка SG1
MsExcel.Sheets['Хранилище'].Select; //делаем активным лист хранилище
for i:= 1 to StringGrid1.RowCount - 2 do //для строк SG1 со второй по педпоследнюю
begin
//вывод данных с преобразованием типов, где необходимо
MsExcel.ActiveSheet.Cells[i+1, 1]:=StrToInt(StringGrid1.Cells[0,i]);
MsExcel.ActiveSheet.Cells[i+1, 2]:=StringGrid1.Cells[1,i];
MsExcel.ActiveSheet.Cells[i+1, 3]:=StrToFloat(StringGrid1.Cells[2,i]);
MsExcel.ActiveSheet.Cells[i+1, 4]:=StrToFloat(StringGrid1.Cells[3,i]);
MsExcel.ActiveSheet.Cells[i+1, 5]:=StrToFloat(StringGrid1.Cells[4,i]);
MsExcel.ActiveSheet.Cells[i+1, 6]:=StrToFloat(StringGrid1.Cells[5,i]);
MsExcel.ActiveSheet.Cells[i+1, 7]:=StringGrid1.Cells[6,i];
end;
//выгрузка SG2
MsExcel.Sheets['Заказы'].Select; //делаем активным лист заказы
for i:= 1 to StringGrid2.RowCount - 2 do //для строк SG2 со второй по педпоследнюю
begin
//вывод данных с преобразованием типов, где необходимо
MsExcel.ActiveSheet.Cells[i+1, 1]:=StrToInt(StringGrid2.Cells[0,i]);
MsExcel.ActiveSheet.Cells[i+1, 2]:=StringGrid2.Cells[1,i];
MsExcel.ActiveSheet.Cells[i+1, 3]:=StringGrid2.Cells[2,i];
MsExcel.ActiveSheet.Cells[i+1, 4]:=StringGrid2.Cells[3,i];
MsExcel.ActiveSheet.Cells[i+1, 5]:=StringGrid2.Cells[4,i];
MsExcel.ActiveSheet.Cells[i+1, 6]:=StringGrid2.Cells[5,i];
MsExcel.ActiveSheet.Cells[i+1, 7]:=StrToFloat(StringGrid2.Cells[6,i]);
MsExcel.ActiveSheet.Cells[i+1, 8]:=StrToFloat(StringGrid2.Cells[7,i]);
MsExcel.ActiveSheet.Cells[i+1, 9]:=StrToDate(StringGrid2.Cells[8,i]);
MsExcel.ActiveSheet.Cells[i+1, 10]:=StrToTime(StringGrid2.Cells[9,i]);
end;
//выгрузка SG3
MsExcel.Sheets['Продано'].Select; //делаем активным лист продано
for i:= 1 to StringGrid3.RowCount - 2 do //для строк SG3 со второй по педпоследнюю
begin
//вывод данных с преобразованием типов, где необходимо
MsExcel.ActiveSheet.Cells[i+1, 1]:=StrToInt(StringGrid3.Cells[0,i]);
MsExcel.ActiveSheet.Cells[i+1, 2]:=StringGrid3.Cells[1,i];
MsExcel.ActiveSheet.Cells[i+1, 3]:=StrToFloat(StringGrid3.Cells[2,i]);
MsExcel.ActiveSheet.Cells[i+1, 4]:=StrToFloat(StringGrid3.Cells[3,i]);
MsExcel.ActiveSheet.Cells[i+1, 5]:=StrToFloat(StringGrid3.Cells[4,i]);
MsExcel.ActiveSheet.Cells[i+1, 6]:=StringGrid3.Cells[5,i];
end;
//добавляем строку с итоговыми данными (вся выручка, вся прибыль)
MsExcel.ActiveSheet.Cells[i+1, 2]:='Итого:';
MsExcel.ActiveSheet.Cells[i+1, 4]:=StrToFloat(label1.Caption);
MsExcel.ActiveSheet.Cells[i+1, 5]:=StrToFloat(label2.Caption);
//выгрузка SG4
MsExcel.Sheets['Поставки'].Select; //делаем активным лист поставки
for i:= 1 to StringGrid4.RowCount - 2 do //для строк SG4 со второй по педпоследнюю
begin
//вывод данных с преобразованием типов, где необходимо
MsExcel.ActiveSheet.Cells[i+1, 1]:=StrToInt(StringGrid4.Cells[0,i]);
MsExcel.ActiveSheet.Cells[i+1, 2]:=StringGrid4.Cells[1,i];
MsExcel.ActiveSheet.Cells[i+1, 3]:=StrToFloat(StringGrid4.Cells[2,i]);
MsExcel.ActiveSheet.Cells[i+1, 4]:=StrToFloat(StringGrid4.Cells[3,i]);
MsExcel.ActiveSheet.Cells[i+1, 5]:=StrToDate(StringGrid4.Cells[4,i]);
MsExcel.ActiveSheet.Cells[i+1, 6]:=StrToTime(StringGrid4.Cells[5,i]);
MsExcel.ActiveSheet.Cells[i+1, 7]:=StringGrid4.Cells[6,i];
end;
MsExcel.DisplayAlerts:= False; //отключаем диалоговое окно сохранения шаблона
//сохраняем отчет в папке отчеты с именем текущий год.месяц.число
MsExcel.ActiveWorkbook.SaveCopyAs(path+'\Отчеты\' + FormatDateTime('yyyy.mm.dd',Date)+'.xls');
MsExcel.Quit; //закрываем excel
//очищаем SG2 - SG4
for i:=1 to StringGrid2.RowCount-1 do
StringGrid2.Rows[i].Clear;
StringGrid2.RowCount:=2;
for i:=1 to StringGrid3.RowCount-1 do
StringGrid3.Rows[i].Clear;
StringGrid3.RowCount:=2;
for i:=1 to StringGrid4.RowCount-1 do
StringGrid4.Rows[i].Clear;
StringGrid4.RowCount:=2;
//очищаем итоговые данные с вкладки продано
label1.Caption:='0,00';
label2.Caption:='0,00';
//удаляем строки с нулевыми остатками на вкладке хранилище
i:=1;
while i<StringGrid1.RowCount-1 do
if StrToFloat(StringGrid1.Cells[2,i])=0
then
DeleteItem(StringGrid1,i)
else
i:=i+1;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
//Вызывается закрытием главной формы. Появляется диалоговое окно, //требующее подтверждения сохранить данные в файл.
var
s:string;
begin
if MessageDlg('При закрытии программы все несохраненные данные будут потеряны.'+#13+
'Сохранить содержимое таблиц в файл?',mtConfirmation, mbOKCancel, 0) = mrOk
then begin
//задаем по-умолчанию имя файла текущий год.месяц.день
s:=FormatDateTime('yyyy.mm.dd',date);
//переносим имя файла по умолчанию в диалоговое окно
SaveDialog1.FileName:=s;
//открываем диалоговое окно сохранения файлов
SaveDialog1.Execute;
//вызываем процедуру сохранения данных в файл,
//в качестве параметра передаем полное имя файла (включая путь)
SaveFile(SaveDialog1.FileName);
end;
end;
procedure TForm1.SG1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
//Когда активный компонент - таблица, то при нажатии ENTER появляется //форма создания заказа. Если INS, то добавления нового товара.
begin
if key=13 then form3.ShowModal; //при нажатии enter (13 код клавиши enter)
//на SG1 открывает форму заказа
if key=45 then form2.ShowModal; //при нажатии insert (45 код клавиши insert)
//на SG1 открывает форму добавления товара
end;
procedure TForm1.N4Click(Sender: TObject);
var
s:string;
begin
//задаем по-умолчанию имя файла текущий год.месяц.день
s:=FormatDateTime('yyyy.mm.dd',date);
//переносим имя файла по умолчанию в диалоговое окно
SaveDialog1.FileName:=s;
//открываем диалоговое окно сохранения файлов
SaveDialog1.Execute;
//вызываем процедуру сохранения данных в файл,
//в качестве параметра передаем полное имя файла (включая путь)
SaveFile(SaveDialog1.FileName);
end;
UNIT2
procedure TForm2.FindItem(var mySG:TstringGrid; ItemToSend:string);
{Находит на компоненте mySG строку товара ItemToSend и записывает в свойство Row номер строки. При отсутствии данного товара, устанавливает «указатель» в конец таблицы и увеличивает общее количество строк в ней.}
var
i,row: integer; //i - переменная цикла,
//row - переменная, в которую запоминаем номер строки искомого товара
begin
row:=0;
//организуем цикл по колонке наименование в SG
for i:=1 to mySG.RowCount do
begin
if mySG.Cells[1,i]=ItemToSend //проверяем является ли текущий товар в SG искомым
then begin
row:=i; //если текущий товар = искомому, то запоминаем номер строки
break; //прирываем выполнение цикла;
end;
end;
if row <> 0 //если row не равно 0, т.е. товар в SG найден
then mySG.Row:=row //выделяем строку с искомым товаром
else begin //в противном случае (товар не найден)
mySG.RowCount:=mySG.RowCount+1; //добавляем ещё одну пустую строку
mySG.Row:= mySG.RowCount-2; //выделяем предпоследнюю (пустую) строку в SG
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
{Выполняется нажатием кнопки ОК на форме добавления товара. Проверяет корректность введенных данных, затем изменяет информацию в таблице SG1 (Хранилище) и на таблице SG4 (Поступления).}
var
row: integer;
begin
//проверяем все ли поля ввода заполнены
if (trim(edit1.text)='')or(trim(edit2.text)='')or(trim(edit3.text)='')or(trim(edit4.text)='')or(trim(edit5.text)='')
Подобные документы
Обоснование необходимости и целей использования вычислительной техники для решения задачи, цель и назначение автоматизированного варианта ее решения. Анализ существующих разработок и обоснование выбора технологии проектирования, оперативная информация.
курсовая работа [768,6 K], добавлен 18.02.2010Обоснование проектных решений по информационному обеспечению. Обоснование цели использования вычислительной техники для решения комплекса задач. Характеристика нормативно-справочной и входной оперативной информации. Информационная модель и ее описание.
дипломная работа [3,2 M], добавлен 06.04.2015Внедрение информационных систем взаимодействия с клиентами. Назначение автоматизированного варианта решения задачи. Анализ существующих разработок и обоснование выбора технологии проектирования. Расчет и обоснование экономической эффективности проекта.
дипломная работа [7,5 M], добавлен 11.12.2020Цели и задачи проектирования информационной системы, основные требования к ней, внутренняя структура и взаимосвязь отдельных компонентов. Обзор и анализ существующих программных разработок. Обоснование стратегии автоматизации и технологии проектирования.
курсовая работа [3,3 M], добавлен 12.01.2015Анализ существующих разработок и обоснование выбора технологии проектирования. Проектирование подсистемы кадрового учета. Выбор и обоснование методики расчета экономической эффективности автоматизированной системы кадрового учета на предприятии.
дипломная работа [1,9 M], добавлен 09.02.2018Технико-экономическая характеристика предметной области. Анализ существующих разработок, выбор и обоснование стратегии автоматизации и способа приобретения ИС. Характеристика первичных документов с нормативно-справочной и входной оперативной информацией.
дипломная работа [3,6 M], добавлен 10.03.2013Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.
дипломная работа [2,4 M], добавлен 18.08.2013Технико-экономическая характеристика предметной области. Обоснование необходимости и цели использования информационных технологий для решения задачи. Выбор технологии проектирования, разработка АРМ. Расчет показателей экономической эффективности проекта.
дипломная работа [2,8 M], добавлен 11.03.2010Организационно-экономическая сущность задачи автоматизации библиотечной информационной системы. Режимы работы и информационная модель решения задачи, описание входной и выходной информации. Обоснование выбора языка программирования, алгоритм решения.
дипломная работа [448,5 K], добавлен 08.11.2010Общая характеристика организации решения задачи на ЭВМ, формализация расчетов, анализ существующих разработок и обоснование выбора технологии проектирования. Информационная модель задачи и ее описание, используемые классификаторы и системы кодирования.
дипломная работа [5,0 M], добавлен 20.10.2016