Создание АРМ менеджера по продажам в магазине «Элита» с использование новых технических и программных средств сбора, обработки и передачи информации

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

2015-09-17

1.64 MB

25 чел.


Поделитесь работой в социальных сетях

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


СОДЕРЖАНИЕ

Введение 6

1 Техническое задание 8

1.1 Основание для разработки 8

1.2 Требования к программе 11

1.3 Требования к системе 13

2 Описание программы 15

2.1 Общие сведения 15

2.2 Типы данных и модели данных 17

2.3 Ограничения целостности 19

2.4 Операции 20

2.5 Основные процедуры используемые в программе 20

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

3.1 Информационная модель и ее описание  37

3.2 Состав пакета программы 39

3.3 Выполнение программы 39

Заключение 60

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


ВВЕДЕНИЕ

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

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

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

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

Исходя из всего вышесказанного целью работы является создание АРМ менеджера по продажам в магазине «Элита» с использование новых технических и программных средств сбора, обработки и передачи информации на основе предварительного анализа информационно-экономической среды и особенностей работы менеджера по продажам.

Для достижения этой цели решены следующие задачи:

- проанализирована организация и управление сбытом;

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

- система контроля наличия товара на складе;

- формирование и оформление необходимых документов;

- сокращение документооборота в бумажной форме;

- устранение повторного ввода информации;

-сокращение поиска необходимой информации и времени, затрачиваемого на формирование отчетов.

Объектом исследования и проектирования в данной работе является создание проекта автоматизированных информационных систем.

Предметом исследования и проектирования в данной работе является исследование функций менеджера.

Методами исследования в данной работе являются: общий экономический анализ деятельности предприятия, маркетинговый анализ конкурентной среды, структурно-функциональный анализ деятельности предприятия, моделирование бизнес процессов по методологии IDEFO, метод проектирования инфологической модели, методы классификации и кодирования информационных объектов, методы выбора СУБД, алгоритмы расчётов решения предметных задач, создание структурной схемы использования комплекса программ, экономический анализ результатов экономической эффективности проектов по критериям оценки эффективности ИТ - затрат.

При проектировании АРМ менеджера используется СУБД FoxRpo и язык программирования (классический язык запросов) SOL, интерфейс «оконный».

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

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


1 Техническое задание

  1.  Основание для разработки

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

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

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

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

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

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

Как сказано в Трудовом Кодексе Республики Казахстан, что рабочее место - место постоянного или временного нахождения работника при выполнении им трудовых обязанностей в процессе трудовой деятельности [1].

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

Рабочее место — часть производственного пространства цеха или отдела, оснащенная средствами труда для выполнения элементов производственного процесса одним или группой сотрудников [2, с. 134]

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

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

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

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

Оснащение зависит от специализации рабочего места. На универсальном рабочем месте имеется широкий перечень оснастки, на специализированном - менее широкий перечень оснастки, на специальном - узкий.

Средства оснащения рабочих мест могут быть постоянными, то есть всегда находящимися на рабочем месте, и временными, используемыми лишь для выполнения отдельных видов работ. [3, с. 229]

Выделяют следующие виды оснащения рабочего места:

  1.  Основное технологическое оборудование: станки, агрегаты, автоматические линии;
  2.  Вспомогательное оборудование: стенды, средства транспортировки, подъемники;
  3.  Технологическая оснастка: приспособления, инструмент, техническая документация;
  4.  Организационная оснастка: средства для размещения и хранения инструмента и приспособлений, производственная тара, производственная мебель, средства для размещения документации, средства сигнализации и связи, освещения, средства по уходу за оборудованием, средства техники безопасности, предметы производственного интерьера.

Для управленческого персонала определены такие виды средств управленческого труда:

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

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

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

Основные задачи планировки рабочих мест (всех ее видов) следующие:

  •  создать удобные и безопасные условия труда;
  •  наиболее эффективно использовать производственные площади;
  •  улучшить использование рабочего времени исполнителей за счет устранения излишних движений, хождений и т.п. [3, с. 234]

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

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

Задачи внешнего планирования:

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

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

  •  обеспечение наименьших затрат рабочего времени на выполнение работ, которые закреплены за рабочим местом;
  •  минимизация физиологических усилий и нервно-психической напряженности работника;
  •  удобство выполнения работы и обслуживания оборудования;
  •  хороший обзор в активной рабочей зоне всех частей оборудования, приборов, механизмов;
  •  оптимизация маршрутов передвижения работника по рабочему месту;
  •  рационализация рабочей позы (рабочего положения) работника;
  •  создание благоприятных условий труда;
  •  безопасность труда. [4, с. 117-118]

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

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

Объектами обслуживания являются все элементы рабочего места:

  1.  средства труда;
  2.  предметы труда;
  3.  субъекты труда (работники). [3, с. 237]

1.2. Требования к программе

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

  1.  разработка простого и удобного пользовательского интерфейса связанного с легкостью и удобством обработки, редактирования и хранения данных для пользователя мало знакомого с оргтехникой и программным обеспечением;
  2.  возможность учета полного движения продукции, начиная с конкретного заказа организациями и до момента поступления ее в продажу;
  3.  возможность полного учета сырья, как входящего в состав создаваемой продукции, так и отдельно реализуемого согласно разработанной и внедренной извне базы данных калькуляции;
  4.  возможность складского учета продукции и сырья;
  5.  возможность хранения и модификации данных по заказу продукции сторонними организациями;
  6.  возможность ведения учета денежных средств проходимых через кассу предприятия;
  7.  возможность учета фактических и теоретических остатков в цехах;
  8.  вывод отчетной документации согласно установленным стандартам предприятия.

Использование ЭВМ при реализации данного проекта даст возможность решить ряд очень существенных задач:

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

- Источниками поступления информации являются: автоматизированное рабочее место бухгалтера, начальника производства, внешние источники электронного и бумажного типов. Периодичность поступления информации не зависит напрямую от пользователя, т.к. происходит в режиме on-line.

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

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

- Периодичность решения задачи зависит от ее типа. Задачи формирования некоторых документов происходит автоматически.

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

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

В магазине  «Элита» сначала разрабатывается технология изготовления конкретного изделия и подбираются все необходимые материалы. После этого, экономистом рассчитывается:

- себестоимость изделия с учетом сумм материальных затрат,

- стоимости сырья и расходных материалов,

- сумм заработной платы,

- затрат на электроэнергию,

- амортизацию оборудования.

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

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

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

Рисунок 1. Схема технологического процесса

1.3 Требования к системе

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

- обработку экономической информации,

- средства подготовки данных на машинных носителях,

- средства сбора и регистрации информации,

- средства передачи данных по каналам связи,

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

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

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

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

- необходимость интенсивного ввода данных.

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

Требования по техническому обеспечению отображены в Таблице 1.

Таблица 1

Требования по техническому обеспечению

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

Минимальные требования

Рекомендуемые требования

Процессор

Pentium III – 900

Pentium IV 

Оперативная память

512 Mb

2048 Mb

Флоппи дисковод

3.5 "

3.5 "

Жесткий диск

120 Gb

500 Gb

Модем

56 Kb

ADLS

Сетевая карта

100 Mb

1 Gb

Монитор

Разрешение 800х600

Разрешение 1024х768

Принтер

Струйный

Лазерный

Персональный компьютер, с достаточным объемом оперативной памяти, наличие дисковых накопителей HDD и FDD для хранения БД, документов и их архивных копий, сетевую плату или модем для доступа к Internet, монитор, принтер для печати.

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

  1.  возможность работы программы на IBM PC – совместимом компьютере;
  2.  возможность работы программного пакета в операционных системах Windows 2000 и Windows 7;
  3.  разработка программы сравнительно небольшого объема, что было обосновано небольшим объемом жестких дисков, входящих в состав комплектации компьютеров имеющихся в наличии предприятия;
  4.  возможность распечатки отчетов и другой необходимой специфичной документации.


2 Описание
программы

2.1 Общие сведения

Разработка данной дипломной работы была начата с определения целей и задач. Основным направлением на начальном этапе явилось определение среды разработки программного обеспечения. После глубокого анализа все предпочтения были отданы системе управления базами данных СУБД Visual FoxPro 7.0.

Visual FoxPro состоит из отдельных компонентов, которые используются для хранения информации, ее отображения и редактирования. В Visual FoxPro вся информация хранится в базе данных, которая состоит из таблиц, отношений между таблицами, индексов, триггеров и хранимых процедур. Каждая таблица имеет уникальное имя и хранится в отдельном файле, наименование которого совпадает с именем таблицы. Созданный файл имеет расширение DBF [8].

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

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

Для отображения и редактирования данных используются формы, отчеты, запросы и программы. При создании форм, отчетов и запросов применяются конструкторы. Поэтому эти компоненты часто называют конструкторскими объектами. Формы и отчеты являются составными объектами, т. к. они состоят из более мелких объектов (таких как поля, кнопки, диаграммы, рамки, OLE - компоненты и т. п.), которые называются объектами интерфейса [9].

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

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

Запросы являются средством выборки данных из одной или нескольких таблиц. В Visual FoxPro для создания запроса может быть использован как конструктор запросов, так и специализированный язык Structured Query Language (SQL). Результаты выполнения запроса могут отображаться в форме, выводиться в виде отчетов и диаграмм или сохраняться в указанной таблице.

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

Для создания форм в Visual FoxPro можно использовать не только базовые классы, но и создавать собственные. Например, можно определить класс форм, в котором задан определенный цвет фона и стандартный набор кнопок для управления данными. Чтобы стандартизировать разработку, полезно иметь один или несколько пользовательских классов для каждого базового класса. Классы, созданные в Visual FoxPro, хранятся в библиотеках классов.

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

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

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

Таблица 2

Расширения имен файлов объектов Visual FoxPro

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

Расширения

Проект

PRJ, FPC, CAT, PJX, PJT

База данных

DBC

Таблица Visual FoxPro

DBF

Составной индексный файл

CDX

Memo-поле и поле типа General

FRT

Форма

SCT, SCX

Запрос

QPR

Отчет

FRM, FRX

Почтовая наклейка

LBL, LBX

Меню

MNT, MNX

Библиотека класса

VCX

Программа, библиотека программ, текст меню, текст запроса

PRG, FXP, MPR, QPR

Рисунок

BMP, JPG, GIF, ICO, DIB, CUR, ANI

Звукозапись

WAV

2.2 Типы данных и модели данных

Центральным понятием языка программирования является понятие типа данных. Введение этого понятия в программирование обусловлено восприятие человеком действительности. Человек привык классифицировать объекты, объединять в одну группу объекты со сходными признаками и применять к ним одни и те же способы обработки [10].

“Тип данных определяет множество значений посредством множества операций”.

Тип данных – это определение объектов, их инвариантных свойств (ограничений) и операций, допустимых над ними.

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

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

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

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

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

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

Концепция типов данных полезна в моделировании данных с точки зрения получения абстракций и установления соотношений и связей между данными [11].

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

Широкое распространение получили три типа моделей данных: иерархические модели, сетевая модель данных РГБД КОДАСИЛ и реляционные модели данных. Эти типы образуют некоторое "базовое" множество. Каждый из типов определяет соответствующую систему управления базами данных (СУБД).

Кроме того, с этими моделями принято сравнивать большинство других моделей данных. В иерархических моделях и сетевой модели данных РГБД КОДАСИЛ прослеживается связь с файловыми системами. Реляционная модель данных основывается на теоретических результатах в большей степени, чем на практическом опыте.

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

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

Иерархическая модель данных представляется упорядоченным деревом. Дерево называется упорядоченным, если относительный порядок поддеревьев значим, т.е. важно относительное расположение вершин. Кроме того, дуги, соответствующие функциональным связям, всегда направлены от корня к листьям дерева. Такая структурная диаграмма называется иерархическим деревом определения данных [12].

2.3 Ограничения целостности

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

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

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

1) однозначность идентификации (значение ключа однозначно идентифицирует кортеж отношения);

2) неизбыточность (никакое подмножество атрибутов ключа не обладает свойством С1).

Один из возможных ключей выбирается в качестве первичного ключа отношения. Первичный ключ не разрешается обновлять. Кроме того, первичный ключ не может принимать значения "не опредeлeнo".

Второе свойство множеств, присущее отношениям, состоит в том, что порядок строк в таблице несущественен [13].

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

2.4 Операции

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

Реляционные языки данных могут быть разделены на три класса. К первому классу относятся языки, базирующиеся на реляционном исчислении (язык QUEL в СУБД INGRESS и язык ALPHA). Эти языки предусматривают использование кванторов. Второй класс составляют дисплей-ориентированные языки. Применяя их, можно сформулировать запрос путем указания соответствующих элементов отображения, выведенного на экран дисплея, или наполнения пустых граф (язык Query by Example - QBE). К третьему классу принадлежат языки, ориентированные на отображения. Таким языком является SQL (Structured Query Language), ранее известный как SEQUEL. Язык SQL поддерживается многими реляционными системами, а также и системой FOXPRO. Языки реляционной алгебры используются теоретически, но не реализованы ни в одной реляционной системе.

2.5 Основные процедуры используемые в программе

Перевод сырья

Ниже приведен фрагмент программного кода события «Click» кнопки «Передать». Практически вся процедура реализована SQL

* Поддверждение передачи сырья

IF MESSAGEBOX("Вы действительно хотите передать " + ;

ALLTRIM(ThisForm.List1.Value) + " из " + ThisForm.Combo1.Value+" в "+ ;

ThisForm.Combo2.Value + " ?", 4+32+256, "Передача сырья") = 6

* списываем передаваемое сырье в расход источника

INSERT INTO (table1)(дата, сырье, кол_во, принял);

VALUES (ThisForm.Text1.Value, ALLTRIM(ThisForm.List1.Value), ;

ThisForm.Text2.Value, "Перевод")

* списываем передаваемое сырье в приход приемника

INSERT INTO (table2)(дата, сырье, кол_во, принял) ;

VALUES (ThisForm.Text1.Value, ALLTRIM(ThisForm.List1.Value), ;

ThisForm.Text2.Value, "Перевод")

MESSAGEBOX("Передача завершена",64, "Передача сырья", 1)

ENDIF

Свод сырья по цеху

При реализации фильтров используются SQL запросы и динамические фильтры. Ниже приведен фрагмент исходного кода загружаемого при инициализации (событие Init) формы «Пекарня»:

ThisForm.Label18.Caption = mes_svod

ThisForm.Label19.Caption = 'рабочий период: ' + DTOC(date1)+' - '+DTOC(date2)

* формирование промежуточного хранилища остатка на начало

* нулевые значения указывать обязательно, так как они используются в

* последующих подзапросах

* подзапрос формирования промежуточного хранилища остатка на начало

SELECT a.сырье, sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName1 a  WHERE &filter1 GROUP BY a.сырье ;

UNION ;

* подзапрос формирования прихода

SELECT a.сырье, -sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a  WHERE &filter1 GROUP BY a.сырье ;

UNION ;

* подзапрос формирования остатка на начало

SELECT a.сырье, sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName1 a  WHERE &filter2 GROUP BY a.сырье ;

UNION ;

SELECT a.сырье, -sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a  WHERE &filter2 GROUP BY a.сырье INTO CURSOR query1

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

SELECT a.сырье, sum(a.Остаток_на_начало) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM query1 a GROUP BY a.сырье ;   && остаток на начало

UNION ;

SELECT a.сырье, 000000000000.0000, sum(a.кол_во) as приход,

000000000000.0000 as расход, 000000000000.0000 as остаток_на_конец;

FROM &TableName1 a WHERE &filter3_1 GROUP BY a.сырье ; && приход

UNION ;

SELECT a.сырье, 000000000000.0000, sum(a.кол_во) as приход,

 000000000000.0000 as расход, 000000000000.0000 as остаток_на_конец;

FROM &TableName1 a WHERE &filter4_1 GROUP BY a.сырье ; && приход

UNION ;

SELECT a.сырье, 000000000000.0000, 000000000000.0000 as приход,

 sum(a.кол_во) as расход, 000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a WHERE &filter3_2 GROUP BY a.сырье ; && расход

UNION ;

SELECT a.сырье, 000000000000.0000, 000000000000.0000 as приход,

 sum(a.кол_во) as расход, 000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a WHERE &filter4_2 GROUP BY a.сырье

INTO CURSOR query1 && расход

Итак в промежуточном хранилище набора данных остатка на начало сформированы приходная и расходная части выборки. Далее формируется набор данных остатка на конец.

* остаток_на_конец

SELECT a.сырье, sum(a.Остаток_на_начало) as Остаток_на_начало,

sum(a.приход) as приход, sum(a.расход) as расход,

sum(a.Остаток_на_начало)+sum(a.приход)-sum(a.расход) as остаток_на_конец;

FROM query1 a GROUP BY a.сырье INTO CURSOR свод

ThisForm.Pageframe1.свод.Grid1.RecordSource = [свод]

ThisForm.Pageframe1.свод.Init

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

Расчет остатков

Ниже приводится фрагмент программного кода расчета остатков в форме расположенного в событии «init» формы.

* Подготовка таблиц для остатка

SELECT table2  && сырья

SET FILTER TO

SCAN

replace table2.количество WITH 0

ENDSCAN

SELECT продукция && продукции

SET FILTER TO

SCAN

replace продукция.кол_во WITH 0

ENDSCAN

* расчет остатка сырья

SELECT table2

SCAN

kol_pr = 0

kol_ras = 0

* приход сырья

SET FILTER TO sklad.title = ALLTRIM(table2.сырье) IN sklad

GO TOP IN sklad

DO WHILE !EOF('sklad') && Просматривается вся таблица

 kol_pr = kol_pr + sklad.quantity

 SKIP IN sklad

ENDDO

* расход сырья

SET FILTER TO sklad_р.title = ALLT(table2.сырье) IN sklad_р

GO TOP IN sklad_р

DO WHILE !EOF('sklad_р')

 kol_ras = kol_ras + sklad_р.quantity

 SKIP IN sklad_р

ENDDO

* остаток сырья

Replace table2.количество WITH kol_pr - kol_ras

ENDSCAN

SET FILTER TO table2.количество <> 0

GO TOP

* РАСЧЕТ ОСТАТКА ПРОДУКЦИИ

SELECT продукция

SCAN

kol_pr = 0

kol_ras = 0

* приход продукции

SET FILTER TO sklad.title = продукция.продукция IN sklad

GO TOP IN sklad

DO WHILE !EOF('sklad') && Просматривается вся таблица

 kol_pr = kol_pr + sklad.quantity

 SKIP IN sklad

ENDDO

* расход продукции

SET FILTER TO sklad_р.title = продукция.продукция IN sklad_р

GO TOP IN sklad_р

DO WHILE !EOF('sklad_р') && Просматривается вся таблица

 kol_ras = kol_ras + sklad_р.quantity

 SKIP IN sklad_р

ENDDO

* остаток продукции

Replace продукция.кол_во WITH kol_pr - kol_ras

ENDSCAN

GO TOP

SET FILTER TO продукция.кол_во <> 0

ThisForm.Refresh

Списание сырья со склада в цех

Ниже приведена процедура разноски по цехам магазина.

DO CASE

CASE ALLTRIM(ThisForm.Combo2.Value)='Пекарня'

INSERT INTO pek_pr_сырье (дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

 sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Полуфабрикаты'

INSERT INTO пол_пр_сырье(дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

 sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Кондитерские изд. (торты)'

INSERT INTO kon_tort_pr_сырье(дата, день, сырье, кол_во, ед_изм,принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Кондитерские изд. (штучно)'

INSERT INTO kon_шт_pr_сырье(дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

ENDCASE

Формирование фильтров

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

LPARAMETERS CallObject, ObjectCount

DO CASE

*** Combo1, Combo2, Optiongroup1

CASE CallObject = 'Combo1' OR CallObject = 'Combo2'

report_title = UPPER(ThisForm.Combo1.Value) + IIF(!EMPTY(ThisForm.Combo2.Value)," ("+ALLTRIM(ThisForm.Combo2.Value)+")", "")

ThisForm.Label18.Caption = [ИЗГОТОВЛЕННАЯ ПРОДУКЦИЯ ( ] + ThisForm.Combo1.Value + [  ] + ALLTRIM(ThisForm.Combo2.Value) + [ )]

filter1 = 'BETWEEN(a.дата, date1, date2) and цех = ThisForm.Combo1.Value and принял = ThisForm.Combo2.Value' + ;

IIF(ThisForm.Optiongroup1.Value#0, IIF(ThisForm.Optiongroup1.Value=1,' and день=.T.',' and день=.F.'), '')

*  IIF(ThisForm.Optiongroup1.Value#0,' and ' + IIF(ThisForm.Optiongroup1.Value=1,'a.день = .T.','a.день = .F.'), '')

SELECT * FROM изготовлено a WHERE a.дата = date1 AND a.день = .F. and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата >= date1+1 AND a.дата <= date2-1 and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата = date2 AND a.день = .T. and &filter1 INTO CURSOR заказ_query1

SELECT заказ_query1

ThisForm.Grid1.RecordSource = [SELECT продукция, sum(кол_во) as Количество, ед_изм, цех, принял ;

FROM заказ_query1 GROUP BY продукция, принял INTO CURSOR заказ_query]

*** Optiongroup1, Combo1

CASE CallObject = 'Optiongroup1'

mDay = IIF(ThisForm.Optiongroup1.Value=1,'день','ночь')

ThisForm.Label19.Caption = mDay

filter1 = 'BETWEEN(a.дата, date1, date2) and ' + IIF(ThisForm.Optiongroup1.Value=1,'день = .T.','день = .F.') + ;

' and цех = ThisForm.Combo1.Value and принял = ThisForm.Combo2.Value'

SELECT * FROM изготовлено a WHERE a.дата = date1 AND a.день = .F. and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата >= date1+1 AND a.дата <= date2-1 and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата = date2 AND a.день = .T. and &filter1 INTO CURSOR заказ_query1

SELECT заказ_query1

ThisForm.Grid1.RecordSource = [SELECT продукция, sum(кол_во) as Количество, ед_изм, цех, принял ;

FROM заказ_query1 GROUP BY продукция, принял INTO CURSOR заказ_query]

*** Период, Optiongroup1, Combo1

CASE CallObject = 'Command5'

report_title = UPPER(ALLTRIM(ThisForm.Combo1.Value))

ThisForm.Label18.Caption = [ИЗГОТОВЛЕННАЯ ПРОДУКЦИЯ] + IIF(!EMPTY(ThisForm.Combo1.Value),' ( '+ThisForm.Combo1.Value+' )','')

*filter1 = IIF(ThisForm.Optiongroup1.Value#0, IIF(ThisForm.Optiongroup1.Value=1,'a.день=.T.','a.день=.F.'), '') +;

* 'a.цех = ThisForm.Combo1.Value'

filter1 = IIF(ThisForm.Optiongroup1.Value#0, IIF(ThisForm.Optiongroup1.Value=1,'a.день=.T.','a.день=.F.'), '') +;

IIF(!EMPTY(ThisForm.Combo1.Value),'and a.цех = ThisForm.Combo1.Value','')

SELECT * FROM изготовлено a WHERE a.дата = date1 AND a.день = .F. and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата >= date1+1 AND a.дата <= date2-1 and &filter1 ;

UNION ALL ;

SELECT * FROM изготовлено a WHERE a.дата = date2 AND a.день = .T. and &filter1 INTO CURSOR заказ_query1

SELECT заказ_query1

ThisForm.Grid1.RecordSource = [SELECT продукция, sum(кол_во) as Количество, ед_изм, цех, принял ;

FROM заказ_query1 GROUP BY продукция, принял INTO CURSOR заказ_query]

ENDCASE

*!*ThisForm.Grid1.RecordSource = [SELECT продукция, sum(кол_во) as Количество, ед_изм, цех, принял ;

*!*FROM изготовлено a WHERE &filter1 GROUP BY продукция, принял INTO CURSOR заказ_query]

GO TOP IN заказ_query

ThisForm.Refresh

ThisForm.Grid1.SetFocus

Ниже приведена процедура используемая в наряд-заказе.

mTime = TIME()

* Если не забыли указать сотрудника принявшего заказ и выбрана смена (ДЕНЬ-НОЧЬ)

IF !EMPTY(ThisForm.Combo3.Value) AND ThisForm.Optiongroup1.Value # 0

* Продукция в приход на пекарню

INSERT INTO изготовлено(дата,день,время,цех,продукция,кол_во,ед_изм,принял);

VALUES

(date1,IIF(ThisForm.Optiongroup1.Value=1,.T.,.F.),mTime,AliasName,ALLTRIM(продукция.продукция),ThisForm.Text1.Value,;

IIF(SEEK(ALLTRIM(продукция.продукция),'продукция','продукция'),продукция.ед_изм,''), сотрудники.fio)

* Продукция в приход на склад

INSERT INTO sklad(дата,time,пост,title,edenizm,quantity,edenizm,прод);

VALUES (date1,mTime,AliasName,&TableName2..продукция,&TableName2..ед_изм,&TableName2..кол_во,;

IIF(SEEK(ALLTRIM(&TableName2..продукция),'продукция','продукция'),продукция.ед_изм,''), .T.)

* Разноска на приход в пекарню

SELECT svod1

SCAN

INSERT INTO &TableName4(дата,день,время,продукция,id,сырье,кол_во,ед_изм,принял);

VALUES (date1,IIF(ThisForm.Optiongroup1.Value=1,.T.,.F.),mTime,продукция.продукция,svod1.N,svod1.сырье,svod1.количество,;

IIF(SEEK(ALLTRIM(svod1.сырье),'table2','сырье'),table2.ед_изм,''),;

сотрудники.fio)

ENDSCAN

This.Enabled = .F.

ThisForm.Text1.Enabled = .F.

ELSE

MESSAGEBOX([Не указан сотрудник принявший заказ или смена],0+64,[Внимание!])

* Блокировка кнопок

This.Enabled = .T.

ThisForm.Text1.Enabled = .T.

ENDIF

GO TOP

ThisForm.Optiongroup1.InteractiveChange

ThisForm.Refresh

ThisForm.Combo4.SetFocus

Процедура формирования карточки наряд-заказа.

SELECT a.цех, a.продукция, a.кол_во, a.Ед_изм, b.сырье, b.кол_во, b.ед_изм FROM изготовлено a, pek_ras_сырье b WHERE a.дата = date1 AND b.дата = date1 AND a.цех = ALLTRIM(ThisForm.Combo1.Value) INTO CURSOR наряд_заказ_печ READWRITE

SELECT наряд_заказ_печ

INDEX ON продукция TAG продукция

INDEX ON сырье TAG сырье

DELETE ALL

** Сырье с разбивкой на цеха

SELECT &TableName4

SET ORDER TO сырье

SET FILTER TO дата = date1

SCAN

IF SEEK(ALLTRIM(&TableName4..сырье),'наряд_заказ_печ','сырье')

REPLACE наряд_заказ_печ.кол_во_b WITH наряд_заказ_печ.кол_во_b + &TableName4..кол_во

ELSE

INSERT INTO наряд_заказ_печ(цех, сырье, кол_во_b, ед_изм_b);

VALUES (AliasName, &TableName4..сырье, &TableName4..кол_во, &TableName4..ед_изм)

ENDIF

ENDSCAN

* Продукция

SELECT изготовлено

SET ORDER TO ПРОДУКЦИЯ

SET FILTER TO дата = date1 AND цех = ALLTRIM(ThisForm.Combo1.Value)

GO TOP IN наряд_заказ_печ

SCAN

IF SEEK(ALLTRIM(изготовлено.продукция),'наряд_заказ_печ','продукция')

REPLACE наряд_заказ_печ.кол_во_a WITH наряд_заказ_печ.кол_во_a + изготовлено.кол_во

ELSE

SELECT наряд_заказ_печ

SCAN

IF EMPTY(наряд_заказ_печ.продукция) AND наряд_заказ_печ.цех = изготовлено.цех AND !EOF()

REPLACE наряд_заказ_печ.цех WITH изготовлено.цех

REPLACE наряд_заказ_печ.продукция WITH изготовлено.продукция

REPLACE наряд_заказ_печ.кол_во_a WITH изготовлено.кол_во

REPLACE наряд_заказ_печ.ед_изм_a WITH изготовлено.ед_изм

EXIT

ENDIF

ENDSCAN

IF EOF()

INSERT INTO наряд_заказ_печ(цех, продукция, кол_во_a, ед_изм_a);

VALUES (изготовлено.цех, изготовлено.продукция, изготовлено.кол_во, изготовлено.ед_изм)

ENDIF

ENDIF

ENDSCAN

SELECT наряд_заказ_печ

SET ORDER TO 0

REPORT FORM nar_zakaz_kartochka PREVIEW

Процедура добавления фактических остатков в цех магазина.

PUBLIC mday, medit

mday = .F.

medit=.f.

* Меню

DEFINE POPUP shortcut SHORTCUT RELATIVE FROM MROW(),MCOL()

DEFINE BAR 1 OF shortcut PROMPT "День"

DEFINE BAR 2 OF shortcut PROMPT "Ночь"

ON SELECTION BAR 1 OF shortcut mday = .T.

ON SELECTION BAR 2 OF shortcut mday = .F.

ACTIVATE POPUP shortcut

* Через переменные

ThisForm.Pageframe1.Ост_фак.Container1.Visible = .T.

* Деактивация кнопок добавления и удаления фактического остатка

ThisForm.Command5.Enabled = .F.

ThisForm.Command6.Enabled = .F.

ThisForm.Refresh

ThisForm.Pageframe1.Ост_фак.Container1.Text1.Value = DATE()

ThisForm.Pageframe1.Ост_фак.Container1.Combo1.Value = ''

ThisForm.Pageframe1.Ост_фак.Container1.Text2.Value = 0

ThisForm.Pageframe1.Ост_фак.Container1.Text3.Value = ''

ThisForm.Pageframe1.Ост_фак.Container1.SetFocus

Процедура вычисления количественного расчета.

SET CURSOR OFF

WAIT [Идут вычисления]+CHR(13)+[Пожалуйста подождите] WINDOW NOWAIT

ThisForm.Label18.Caption = 'КОЛИЧЕСТВЕННЫЙ отчет ' + otv_fio + ' за период с '+ DTOC(date1) + ' по ' + DTOC(date2)

mReport = 'Количественный'

SELECT kalk

SCAN

REPLACE kalk.кол_во WITH 0

REPLACE kalk.сумма WITH 0

ENDSCAN

* Формируем список сырья и цен

SELECT table2

SCAN

INSERT INTO количественный(наим, цена) VALUES (table2.сырье, table2.цена)

ENDSCAN

* Сформировали

* Действия по шагам

* 1 шаг Расчет остатка на начало

* 2 шаг Расчет прихода и расхода

* 3 шаг Расчет реализ. продукции за указ. период согласно калькуляции

* 4 шаг Расчет «Остатка на конец»

* 1 шаг  

* Расчет остатка на начало

SELECT количественный

SET FILTER TO IN количественный

kol = 0

kol_r = 0

SCAN

* Приход на начало периода

 SELECT sklad

SET FILTER TO sklad.дата < date1   && IN sklad

LOCATE FOR sklad.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad.quantity

 CONTINUE

ENDDO

* Расход на начало периода

 SELECT sklad_р

SELECT * FROM sklad_р WHERE sklad_р.дата <= date1-1 ;

UNION ALL ;

SELECT all * FROM sklad_р WHERE sklad_р.дата = date1 AND день = .T. INTO CURSOR расход_со_склада

 SELECT расход_со_склада

LOCATE FOR расход_со_склада.title = ALLTRIM(количественный.наим)

 DO WHILE FOUND()

 kol_r = kol_r + расход_со_склада.quantity

 CONTINUE

ENDDO

 * Остаток на начало периода

SELECT количественный        && Заносим в отчет

Replace количественный.ост_кол WITH kol - kol_r  && остаток,

Replace количественный.ост_сум WITH (kol - kol_r)* количественный.цена && сумму

kol = 0

kol_r = 0

ENDSCAN

* Рассчитали

* 2 шаг

* Расчет прихода и расхода

SELECT количественный

kol = 0

kol_r = 0

SCAN

* Приход на склад сырья за указанный период

 SELECT sklad

SET FILTER TO sklad.дата >= date1 AND sklad.дата <= date2

LOCATE FOR sklad.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad.quantity

 CONTINUE

ENDDO

SELECT количественный        && Заносим в отчет

Replace количественный.пр_кол WITH kol && В отчет кол-во

Replace количественный.пр_сум WITH kol * количественный.цена && В отчет сумму прихода

* Расход со склада сырья за указанный период

 SELECT sklad_р

* SET FILTER TO sklad_р.дата >= date1 AND sklad_р.дата <= date2 AND sklad_р.реал = .f.

SELECT * FROM sklad_р WHERE sklad_р.дата = date1 AND день = .F. AND реал = .F. ;

UNION ALL ;

SELECT * FROM sklad_р WHERE sklad_р.дата >= date1+1 AND sklad_р.дата <= date2-1 AND реал = .F. ;

UNION ALL ;

SELECT * FROM sklad_р WHERE sklad_р.дата = date2 AND день = .T. AND реал = .F. INTO CURSOR расход_со_склада

SELECT расход_со_склада

LOCATE FOR расход_со_склада.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

kol_r = kol_r + расход_со_склада.quantity

 CONTINUE

ENDDO

SELECT количественный

Replace количественный.рас_кол WITH kol_r && В отчет кол-во

Replace количественный.рас_сум WITH kol_r * количественный.цена && В отчет сумму расхода

kol = 0

kol_r = 0

ENDSCAN

* Рассчитали

* 3 шаг

* Здесь расчет реализ. продукции за указ. период согласно калькуляции

Select sklad_р

Set Order To 1   && TITLE

Set Filter To sklad_р.дата >= date1 AND sklad_р.дата <= date2 AND реал = .t.

* Расчитанная согласно кальк. реализованная продукция в отчет

SELECT количественный

kol = 0

SCAN

* Приход на склад сырья за указанный период

 SELECT sklad_р

LOCATE FOR sklad_р.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad_р.quantity

 CONTINUE

ENDDO

SELECT количественный      && Заносим в отчет

Replace количественный.реал_кол WITH kol && В отчет кол-во

Replace количественный.реал_сум WITH kol * количественный.цена && В отчет сумму прихода

kol = 0

ENDSCAN

* Расчитали согласно калькуляции реализованную продукцию и отправили в отчет

* 4 шаг

* Расчет «Остатка на конец»

SELECT количественный

SCAN

* количество

REPLACE количественный.остат_кол WITH количественный.ост_кол + количественный.пр_кол - количественный.рас_кол - количественный.реал_кол

* сумма

REPLACE количественный.остат_сум WITH количественный.ост_сум + количественный.пр_сум - количественный.рас_сум - количественный.реал_сум

ENDSCAN

*Рассчитали

* Фильтруем нулевые значения

*SET FILTER TO количественный.ост_кол <> 0 OR количественный.пр_кол <> 0 OR количественный.рас_кол <> 0

*SET FILTER TO количественный.остат_кол <> 0

CALCULATE sum(количественный.ост_кол) TO ThisForm.TxtОстКол.Value

CALCULATE sum(количественный.ост_сум) TO ThisForm.TxtОстСумма.Value

CALCULATE sum(количественный.пр_кол) TO ThisForm.TxtПрКол.Value

CALCULATE sum(количественный.пр_сум) TO ThisForm.TxtПрСумма.Value

CALCULATE sum(количественный.рас_кол) TO ThisForm.TxtРасКол.Value

CALCULATE sum(количественный.рас_сум) TO ThisForm.TxtРасСумма.Value

CALCULATE sum(количественный.реал_кол) TO ThisForm.TxtРеалКол.Value

CALCULATE sum(количественный.реал_сум) TO ThisForm.TxtРеалСумма.Value

CALCULATE sum(количественный.остат_кол) TO ThisForm.TxtОстатКол.Value

CALCULATE sum(количественный.остат_сум) TO ThisForm.TxtОстатСумма.Value

SET ORDER TO наим

GO TOP IN количественный

ThisForm.Refresh

WAIT CLEAR

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

WAIT [Идут вычисления]+CHR(13)+[Пожалуйста подождите] WINDOW NOWAIT

ThisForm.Label18.Caption = 'СЛИЧИТЕЛЬНАЯ ведомость ' + otv_fio + ' за период с '+ DTOC(date1) + ' по ' + DTOC(date2)

mReport = 'Сличительная'

SELECT kalk

SCAN

REPLACE kalk.кол_во WITH 0.0000

REPLACE kalk.сумма WITH 0.0000

ENDSCAN

* Формируем список сырья и цен

SELECT table2

SCAN

INSERT INTO количественный(наим, цена) VALUES (table2.сырье, table2.цена)

ENDSCAN

* Сформировали

* Действия по шагам

* 1 шаг  Расчет остатка по отчету

* 2 шаг  Расчет фактического сырья на складе по ревизии

* 3 шаг  

* 1 шаг  расчет остатка по отчету

* Расчет остатка на начало

SELECT количественный

SET FILTER TO IN количественный

kol = 0

kol_r = 0

SCAN

* Приход на начало периода

 SELECT sklad

SET FILTER TO sklad.дата < date1   && IN sklad

LOCATE FOR sklad.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad.quantity

 CONTINUE

ENDDO

* Расход на начало периода

 SELECT sklad_р

SELECT * FROM sklad_р WHERE sklad_р.дата <= date1-1 ;

UNION ALL ;

SELECT * FROM sklad_р WHERE sklad_р.дата = date1 AND день = .T. INTO CURSOR расход_со_склада

 SELECT расход_со_склада

LOCATE FOR расход_со_склада.title = ALLTRIM(количественный.наим)

 DO WHILE FOUND()

 kol_r = kol_r + расход_со_склада.quantity

 CONTINUE

ENDDO

* Остаток на начало периода

SELECT количественный        && Заносим в отчет

Replace количественный.ост_кол WITH kol - kol_r  && остаток,

Replace количественный.ост_сум WITH (kol - kol_r)* количественный.цена && сумму

kol = 0

kol_r = 0

ENDSCAN

* Рассчитали

* Расчет прихода и расхода

SELECT количественный

kol = 0

kol_r = 0

SCAN

* Приход на склад сырья за указанный период

 SELECT sklad

SET FILTER TO sklad.дата >= date1 AND sklad.дата <= date2

LOCATE FOR sklad.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad.quantity

 CONTINUE

ENDDO

SELECT количественный        && Заносим в отчет

Replace количественный.пр_кол WITH kol && В отчет кол-во

Replace количественный.пр_сум WITH kol * количественный.цена && В отчет сумму прихода

* Расход со склада сырья за указанный период

 SELECT sklad_р

* SET FILTER TO sklad_р.дата >= date1 AND sklad_р.дата <= date2 AND sklad_р.реал = .f.

SELECT * FROM sklad_р WHERE sklad_р.дата = date1 AND день = .F. AND реал = .F. ;

UNION ALL ;

SELECT * FROM sklad_р WHERE sklad_р.дата >= date1+1 AND sklad_р.дата <= date2-1 AND реал = .F. ;

UNION ALL ;

SELECT * FROM sklad_р WHERE sklad_р.дата = date2 AND день = .T. AND реал = .F. INTO CURSOR расход_со_склада

 SELECT расход_со_склада

LOCATE FOR расход_со_склада.title = ALLTRIM(количественный.наим)

 DO WHILE FOUND()

 kol_r = kol_r + расход_со_склада.quantity

 CONTINUE

ENDDO

SELECT количественный

Replace количественный.рас_кол WITH kol_r && В отчет кол-во

Replace количественный.рас_сум WITH kol_r * количественный.цена && В отчет сумму расхода

kol = 0

kol_r = 0

ENDSCAN

* Рассчитали

* Здесь расчет реализованной продукции за указ. период согласно калькуляции

SELECT sklad_р

SET ORDER TO 1   && TITLE

SET FILTER TO sklad_р.дата >= date1 AND sklad_р.дата <= date2 AND реал = .T.

* Рассчитанная согласно кальк. реализованная продукция в отчет

SELECT количественный

kol = 0

SCAN

* Приход на склад сырья за указанный период

 SELECT sklad_р

LOCATE FOR sklad_р.title = ALLTRIM(количественный.наим)

DO WHILE FOUND()

 kol = kol + sklad_р.quantity

 CONTINUE

ENDDO

SELECT количественный      && Заносим в отчет

Replace количественный.реал_кол WITH kol && В отчет кол-во

Replace количественный.реал_сум WITH kol * количественный.цена && В отчет сумму прихода

kol = 0

ENDSCAN

* Расчитали согласно кальк. реализованную продукцию и отправили в отчет

* Расчет ОСТАТКА НА КОНЕЦ

SELECT количественный

SCAN

* количество

REPLACE количественный.остат_кол WITH количественный.ост_кол + количественный.пр_кол - количественный.рас_кол - количественный.реал_кол

* сумма

Replace количественный.остат_сум WITH количественный.ост_сум + количественный.пр_сум - количественный.рас_сум - количественный.реал_сум

ENDSCAN

* Рассчитали остаток по отчету

* Переносим остаток по отчету из количественного в сличительную ведомость

SCAN

INSERT INTO сличительная (наим, цена, остат_кол, остат_сум) VALUES (количественный.наим, количественный.цена, количественный.остат_кол, количественный.остат_сум)

ENDSCAN

* 2 шаг Расчет фактического сырья на складе по ревизии

SELECT ревизия

SET FILTER TO ревизия.дата >= date1 AND ревизия.дата <= date2 AND ревизия.прод = .F.

SELECT сличительная

kol = 0.0000

kol_r = 0.0000

SCAN

* Приход на склад сырья за указанный период

 SELECT ревизия

LOCATE FOR ALLTRIM(ревизия.наим) == ALLTRIM(сличительная.наим)

DO WHILE FOUND()

 kol = kol + ревизия.кол_во

 CONTINUE

ENDDO

SELECT сличительная

&& Заносим в отчет

Replace сличительная.фсыр_кол WITH kol && В отчет кол-во

&& В отчет сумму прихода

Replace сличительная.фсыр_сум WITH kol * сличительная.цена

kol = 0.0000

kol_r = 0.0000

ENDSCAN

* Рассчитали

* 3 шаг * Расчет излишков и недостачи

SELECT сличительная

SCAN

IF сличительная.остат_кол - сличительная.фсыр_кол < 0

REPLACE сличительная.излиш_кол WITH сличительная.фсыр_кол - сличительная.остат_кол

REPLACE сличительная.излиш_сум WITH (сличительная.фсыр_кол - сличительная.остат_кол) * сличительная.цена

ENDIF

IF сличительная.остат_кол - сличительная.фсыр_кол > 0

REPLACE сличительная.недост_кол WITH сличительная.остат_кол - сличительная.фсыр_кол

REPLACE сличительная.недост_сум WITH (сличительная.остат_кол - сличительная.фсыр_кол) * сличительная.цена

ENDIF

ENDSCAN

* расчет по столбцам

CALCULATE sum(сличительная.остат_кол) TO ThisForm.TxtОстКол.Value

CALCULATE sum(сличительная.остат_сум) TO ThisForm.TxtОстСумма.Value

CALCULATE sum(сличительная.фсыр_кол) TO ThisForm.TxtРасКол.Value

CALCULATE sum(сличительная.фсыр_сум) TO ThisForm.TxtРасСумма.Value

CALCULATE sum(сличительная.недост_кол) TO ThisForm.TxtРеалКол.Value

CALCULATE sum(сличительная.недост_сум) TO ThisForm.TxtРеалСумма.Value

CALCULATE sum(сличительная.излиш_кол) TO ThisForm.TxtОстатКол.Value

CALCULATE sum(сличительная.излиш_сум) TO ThisForm.TxtОстатСумма.Value

GO TOP IN количественный

SELECT сличительная

SET ORDER TO наим

GO TOP

ThisForm.Refresh


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

3.1 Информационная модель и ее описание

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

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

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

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

Рисунок 2. Взаимосвязи входных, промежуточных и результатных информационных потоков

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

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

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

- для планировании закупки упаковки составляется график закупки упаковки.

Установка программы

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

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

Рисунок 3. Местоположение программы для эффективной работы


3.2 Состав пакета программы

В состав пакета входят 30 таблиц вместе со своими индексными файлами расположенные в поддиректории “Tables”, 42 графических файла расположенные в поддиректории “Graphics”, 27 стационарных отчета расположенные в поддиректории “Reports” и 40 форм – папка “Forms”. Главным загрузчиком программы является файл Магазин.exe.

Также в состав пакета входят библиотеки Visual FoxPro, без которых работа приложения не возможна (рисунок 4).

Рисунок 4. Расположение и структура файлов программы.

3.3 Выполнение программы

Загрузка программы начинается с вызова файла «магазин.exe». После запуска программы открывается главная форма, показанная на Рисунке 5.

Рисунок 5. Главная форма.

На главной форме расположена панель главного меню, панель инструментов. Панель инструментов находится на доработке и поэтому она отключена. Главное меню имеет 10 пунктов (см. Рисунок 6).

Рисунок 6. Главное меню.

При выборе меню склад распахивается ниспадающее popup-меню, в которое включено 5 пунктов: приход на склад, расход со склада, остаток на складе, реализация, ревизия.

Приход на склад

При вызове пункта меню «Приход на склад» открывается экранная форма, показанная на Рисунке 7.

Рисунок 7. Форма прихода на склад на фоне главной формы.

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

Кнопка «период» позволяет задать период отображения поступившего сырья или продукции.

Кнопка «Добавить» позволяет открыть диалоговое окно ввода сырья или продукции в базу.

Кнопка «Печать» позволяет вывести на печатающее устройство текущие записи таблицы.

Кнопка «Удалить» позволяет удалить текущую запись.

В форму включено 2 объекта combobox, для задания фильтров. Активизировать фильтры можно путем установления галочки в опции checkbox «фильтр». В первом объекте combobox задается один из следующих возможных фильтров: «Все», «Сырье», «Продукция», «Поставщики». При выборе значения устанавливается соответствующий фильтр на базу. При выборе значения «Поставщики», активизируется динамический фильтр по поставщикам, в котором при необходимости можно указать конкретного поставщика. При необходимости можно задействовать все возможные фильтры одновременно, чем будет достигаться максимальная оптимизация вывода данных из базы.

В форму также включено 3 текстовых объекта textbox в которых отображаются текущие суммы по складу.

Форма ввода данных в приход на склад

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

Рисунок 8.  Форма ввода сырья или продукции в базу прихода на склад.

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

Расход со склада

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

Рисунок 9. Форма расхода со склада на фоне главной формы.

Форма ввода данных в расход со склада

Форма ввода данных в расход со склада вызывается из формы расхода со склада путем нажатия кнопки «Добавить». На экране появится диалоговое окно ввода данных (см. Рисунок 10). После добавления запись заносится в базу данных расхода. Параллельно с этим она поступает на приход в указанный цех. Ниже приведена процедура разноски по цехам магазина.

DO CASE

CASE ALLTRIM(ThisForm.Combo2.Value)='Пекарня'

INSERT INTO pek_pr_сырье (дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

 sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Полуфабрикаты'

INSERT INTO пол_пр_сырье(дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

 sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Кондитерские изд. (торты)'

INSERT INTO kon_tort_pr_сырье(дата, день, сырье, кол_во, ед_изм,принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

CASE ALLTRIM(ThisForm.Combo2.Value)='Кондитерские изд. (штучно)'

INSERT INTO kon_шт_pr_сырье(дата, день, сырье, кол_во, ед_изм, принял);

VALUES (sklad_р.дата, sklad_р.день, sklad_р.title,

sklad_р.quantity, sklad_р.edenizm, sklad_р.принял)

ENDCASE

Рисунок 10. Окно ввода данных в расход со склада.

Остаток сырья на складе

На Рисунке 11 изображена форма остатка на складе.

Рисунок 11. Окно остатка сырья на складе на фоне главной формы.

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

Ниже приводится фрагмент программного кода расчета остатков в форме расположенного в событии «init» формы.

* Подготовка таблиц для остатка

SELECT table2  && сырья

SET FILTER TO

SCAN

replace table2.количество WITH 0

ENDSCAN

SELECT продукция && продукции

SET FILTER TO

SCAN

replace продукция.кол_во WITH 0

ENDSCAN

* РАСЧЕТ ОСТАТКА СЫРЬЯ

SELECT table2

SCAN

kol_pr = 0

kol_ras = 0

* приход сырья

SET FILTER TO sklad.title = ALLTRIM(table2.сырье) IN sklad

GO TOP IN sklad

DO WHILE !EOF('sklad') && Просматривается вся таблица

 kol_pr = kol_pr + sklad.quantity

 SKIP IN sklad

ENDDO

* расход сырья

SET FILTER TO sklad_р.title = ALLT(table2.сырье) IN sklad_р

GO TOP IN sklad_р

DO WHILE !EOF('sklad_р')

 kol_ras = kol_ras + sklad_р.quantity

 SKIP IN sklad_р

ENDDO

* остаток сырья

Replace table2.количество WITH kol_pr - kol_ras

ENDSCAN

SET FILTER TO table2.количество <> 0

GO TOP

* РАСЧЕТ ОСТАТКА ПРОДУКЦИИ

SELECT продукция

SCAN

kol_pr = 0

kol_ras = 0

* приход продукции

SET FILTER TO sklad.title = продукция.продукция IN sklad

GO TOP IN sklad

DO WHILE !EOF('sklad') && Просматривается вся таблица

 kol_pr = kol_pr + sklad.quantity

 SKIP IN sklad

ENDDO

* расход продукции

SET FILTER TO sklad_р.title = продукция.продукция IN sklad_р

GO TOP IN sklad_р

DO WHILE !EOF('sklad_р') && Просматривается вся таблица

 kol_ras = kol_ras + sklad_р.quantity

 SKIP IN sklad_р

ENDDO

* остаток продукции

Replace продукция.кол_во WITH kol_pr - kol_ras

ENDSCAN

GO TOP

SET FILTER TO продукция.кол_во <> 0

ThisForm.Refresh

Цеха магазина

Пункт меню «Цех» имеет четыре подпункта, по одному для каждого цеха магазина и пункт внутреннего перемещения сырья: «Пекарня»,  «Кондитерские изд. (торты)», «Кондитерские изд. (штучно)» и «Внутренние перемещения».

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

В форме имеются четыре вкладки: свод сырья, приход, расход, остаток фактический.

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

Рисунок 12. Форма пекарни.

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

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

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

При снятии галочки с опции «фильтр» фильтры отключаются и значения переводятся в исходное состояние.

Неактивные кнопки «добавить остаток», «редактировать остаток», «удалить остаток» и «оприходовать/списать» доступны только во вкладке «остаток фактический».

При реализации фильтров используются SQL запросы и динамические фильтры. Ниже приведен фрагмент исходного кода загружаемого при инициализации (событие Init) формы «Пекарня»:

ThisForm.Label18.Caption = mes_svod

ThisForm.Label19.Caption = 'рабочий период: ' + DTOC(date1)+' - '+DTOC(date2)

* формирование промежуточного хранилища остатка на начало

* нулевые значения указывать обязательно, так как они используются в

* последующих подзапросах

* подзапрос формирования промежуточного хранилища остатка на начало

SELECT a.сырье, sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName1 a  WHERE &filter1 GROUP BY a.сырье ;

UNION ;

* подзапрос формирования прихода

SELECT a.сырье, -sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a  WHERE &filter1 GROUP BY a.сырье ;

UNION ;

* подзапрос формирования остатка на начало

SELECT a.сырье, sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName1 a  WHERE &filter2 GROUP BY a.сырье ;

UNION ;

SELECT a.сырье, -sum(a.кол_во) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a  WHERE &filter2 GROUP BY a.сырье INTO CURSOR query1

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

SELECT a.сырье, sum(a.Остаток_на_начало) as Остаток_на_начало,

000000000000.0000 as приход, 000000000000.0000 as расход,

000000000000.0000 as остаток_на_конец ;

FROM query1 a GROUP BY a.сырье ;   && остаток на начало

UNION ;

SELECT a.сырье, 000000000000.0000, sum(a.кол_во) as приход,

000000000000.0000 as расход, 000000000000.0000 as остаток_на_конец;

FROM &TableName1 a WHERE &filter3_1 GROUP BY a.сырье ; && приход

UNION ;

SELECT a.сырье, 000000000000.0000, sum(a.кол_во) as приход,

 000000000000.0000 as расход, 000000000000.0000 as остаток_на_конец;

FROM &TableName1 a WHERE &filter4_1 GROUP BY a.сырье ; && приход

UNION ;

SELECT a.сырье, 000000000000.0000, 000000000000.0000 as приход,

 sum(a.кол_во) as расход, 000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a WHERE &filter3_2 GROUP BY a.сырье ; && расход

UNION ;

SELECT a.сырье, 000000000000.0000, 000000000000.0000 as приход,

 sum(a.кол_во) as расход, 000000000000.0000 as остаток_на_конец ;

FROM &TableName2 a WHERE &filter4_2 GROUP BY a.сырье

INTO CURSOR query1 && расход

Итак в промежуточном хранилище набора данных остатка на начало сформированы приходная и расходная части выборки. Далее формируется набор данных остатка на конец.

* остаток_на_конец

SELECT a.сырье, sum(a.Остаток_на_начало) as Остаток_на_начало,

sum(a.приход) as приход, sum(a.расход) as расход,

sum(a.Остаток_на_начало)+sum(a.приход)-sum(a.расход) as остаток_на_конец;

FROM query1 a GROUP BY a.сырье INTO CURSOR свод

ThisForm.Pageframe1.свод.Grid1.RecordSource = [свод]

ThisForm.Pageframe1.свод.Init

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

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

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

Внутреннее перемещение сырья

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

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

Рисунок 13. Форма перевода сырья из одного цеха в другой.

Для того чтобы перевести сырье необходимо:

  1.  указать переводимое сырье в списке сырья;
  2.  указать дату перевода;
  3.  указать цех-источник;
  4.  указать цех-приемник;
  5.  указать количество переводимого сырья.

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

IF MESSAGEBOX("Вы действительно хотите передать " + ;

ALLTRIM(ThisForm.List1.Value) + " из " + ThisForm.Combo1.Value+" в "+ ;

ThisForm.Combo2.Value + " ?", 4+32+256, "Передача сырья") = 6

* списываем в расход источника

INSERT INTO (table1)(дата, сырье, кол_во, принял);

VALUES (ThisForm.Text1.Value, ALLTRIM(ThisForm.List1.Value), ;

ThisForm.Text2.Value, "Перевод")

* списываем в приход приемника

INSERT INTO (table2)(дата, сырье, кол_во, принял) ;

VALUES (ThisForm.Text1.Value, ALLTRIM(ThisForm.List1.Value), ;

ThisForm.Text2.Value, "Перевод")

MESSAGEBOX("Передача завершена",64, "Передача сырья", 1)

ENDIF

Наряд-заказ

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

Рисунок 14. Ввод даты заказа.

После ввода даты осуществляется проверка корректности введенной даты, и если нет ошибок, запускается диалоговое окно ввода наряд-заказа (см. Рисунок 15).

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

Кнопка «Сформировать карточку» необходима для распечатки списка заказанной продукции и количества необходимого для реализации данного заказа продукции. Печатная карточка показана на Рисунке 16.

Рисунок 15. Окно ввода наряд-заказа.

Рисунок 16. Карточка наряд-заказа.

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

Изготовленная продукция

Сформированная наряд-заказом продукция может быть отображена при выборе опции «изготовленная продукция» в том же пункте меню «наряд-заказ» (см. Рисунок 17.). Информация отображается хронологически, т.е. в том порядке как она была разнесена в наряд-заказе.

Рисунок 17. Форма отображения изготовленной продукции.

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

Касса

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

На Рисунке 18 изображена форма прихода денег в кассу.

Рисунок 18. Форма прихода в кассу.

Для того чтобы добавить запись в приход по кассе необходимо нажать кнопку «Добавить». После нажатия программа выведет на экран форму ввода в приход (см. Рисунок 19).

Рисунок 19. Форма ввода денег в приход кассы.

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

Рисунок 20. Форма расхода из кассы

Рисунок 21. Форма ввода денег в расход кассы.

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

Рисунок 22. Отчет по приходу

Рисунок 23. Отчет по расходу

Отчеты

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

В программе также реализованы документы для сличительного и количественного отчета за указанный период. На Рисунке 19 показано диалоговое окно ввода отчетного периода для формирования сличительного или количественного отчета.

Рисунок 24. Окно ввода отчетного периода

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

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

Рисунок 25. Форма сличительного отчета.

Рисунок 26 - Форма количественного отчета

Сервис

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

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

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

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

Помощь

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

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

Рисунок 27. О программе

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

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

Procedure mClose

IF MESSAGEBOX('Вы уверены?',32+4,'Внимание!')=6

Close databases

Clear all

_Screen.ActiveForm.Release

ELSE

_Screen.ActiveForm.Refresh

EndIf

EndProc


ЗАКЛЮЧЕНИЕ

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

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

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

Показаны определенные правила, по которым проектировалась база данных.

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

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


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1.  
  2.  Трудовой Кодекс Республики Казахстан (с изменениями и дополнениями по состоянию на 17.02.2012 год);
  3.  Генкин Б.М. Экономика и социология труда. Учебник для вузов, 1998. 384 с.
  4.  Организация и нормирование труда. Учебник для вузов/ Под ред. Ю.Г. Одегова – М.: Издательство «Экзамен», 2003. – 464с.;
  5.  Рофе А.И. Организация и нормирование труда: Учебник для вузов. – М.: Издательство «МИК», 2003. – 368с.
  6.  Зудина Л.Н. Организация управленческого труда: Учеб. пособие. – М.: ИНФРА-М; Новосибирск: НГАЭ и У, 1997. – 256с.;
  7.  Егоршин А.П., Зайцев А.К. Организация труда персонала: Учебник. – М.: ИНФРА-М, 2008. – 320с.;
  8.  Зудина Л.Н. Организация управленческого труда: Учеб. пособие. – М.: ИНФРА-М; Новосибирск: НГАЭ и У, 1997. – 256с.;
  9.  Хомоненко А.Д., Цыганков В.М, Мальцев М.Г. Базы данных. /Учебник для вузов. - СПб.: Корона-принт, 2002.
  10.  Григорьев Ю. А., Ревунков Г.И. Банки данных. / Учебник для вузов. - М.: Издательство МГТУ им. И.Э.Баумана, 2002.
  11.  Дейт К. Введение в системы баз данных. /Пер. с англ. - М.: Вильямс, 2001.
  12.  Когаловский М-Р. Энциклопедия технологий баз данных. - М.: Финансы и статистика, 2002.
  13.  Мейер Д. Теория реляционных баз данных. Alep. с англ,- М.: Мир,1987.
  14.  Хансен Г., Хансен Д. Базы данных. Разработка и управление. /Пер. с англ. -М.: Бином, 2000.
  15.  Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. /Пер. с англ.-М.: Вильямс, 2003.
  16.  Сичкаренко В.А. SQL-99. Руководство разработчика баз данных. - СПб-ДиаСофт, 2002.
  17.  Горев А., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. - СПб.: Питер, 1997.
  18.  Мамаев Е.В. Microsoft SQL Server. - СПб.: БХВ-Санкт-Петербург, 2001.
  19.  Пэддок Р., Петерсен Дж., Тэлмейдж Р., Ренфт Э. Visual FoxPro 6. Разработка корпоративных приложений./Пер- с англ. -М.: ДМК, 1999.
  20.  Омельченко Л. Самоучитель Visual FoxPro 7.0. - СПб.: БХВ - Сапкт-Петсрбург, 2002.
  21.  Бэлсон Дон, Гокмен Марк, Ингрем Джонатан. Внутренний мир ORACLE 8. Проектирование и настройка. /Пер. с англ. - К.: ДиаСофт, 2000.
  22.  Фролов А., Фролов Г. Базы данных в Интернете: практическое руководство по созданию Web-приложений с базами данных. - М.: Русская редакция, 2000.
  23.  Мещеряков А.Е., Хомоненко А.Д. Публикация баз данных в Интернете. -СПб.: БХВ-Санкт-Петербург,2001.
  24.  Харрингтон Дж. Проектирование объектно-ориентированных баз данных. -/Пер. с англ. - М.: ДМК, 2001.
  25.  Цикритзис Д., Лоховски Ф. Модели данных. - М: Финансы и статистика, 1985.
  26.  Бойко В.В., Савинков B.В. Проектирование баз данных информационных систем. - М: Финансы и статистика, 1989.
  27.  Замулин А. Системы программирования баз данных и знаний. - Новосибирск: Наука. Сибирское отделение, 1990.
  28.  Дейт К. Введение в системы баз данных. - M: Мир, 1980.
  29.  Тиори Т., Фрай Дж. Проектирование структур баз данных в двух книгах. - М: Мир, 1985.
  30.  «Руководство разработчика баз данных». Шумаков, Фаронов.
  31.  «SQL Server 7.0» Ю.Тихомиров.
  32.  Бемер. С. FoxPro 2.6 для Windows. - Киев.: ВHV, 1995.
  33.  Long Jeb. FoxPro 2.6 for Windows. - Sams Pudlishing, 1994.
  34.  А.А.Попов. FoxPro 2.5/2.6. Создание приложений для FoxPro в DOS и Windows. ООО "ДЕСС". M.1997.
  35.  Попов А.А. Программирование в среде СУБД 2.0. Построение систем обработки данных. М., Радио и связь,1994.
  36.  Четвериков В.Н., Ревунков Г.И., Самохвалов Э.Н. Базы и банки данных.М.,Высшая школа,1987.
  37.  Лес Принтер. Разработка приложений в Microsoft FoxPro 2.5. M., TOO ЭДЕЛЬ, 1995.
  38.  FoxPro. Language Refrence.- Microsoft Corp.,1994.
  39.  Каратыгин С.А., Тихонов А.Ф., Тихонова Л.Н. Программирование в FoxPro для Windows на примерах . - М.: Бином,1995.
  40.  Бакуменко Л.П., Кудрявцева Ж.А. dBase. Практический курс для начинающих. Йошкар - Ола,1991.
  41.  Тони Лима. Введение в dBaseIV.M., Радио и связь, 1993.



 

Другие похожие работы, которые могут вас заинтересовать.
18492. Создание программы, облегчающей работу менеджера по продажам в автосалоне 591.22 KB
  Для использования столь огромных объемов хранимой информации, помимо развития системных устройств, средств передачи данных, памяти необходимы средства обеспечения диалога человек-ЭВМ, которые позволяют пользователю вводить запросы, читать файлы, модифицировать хранимые данные, добавлять новые данные или принимать решения на основании хранимых данных. Для обеспечения этих функций созданы специализированные средства – системы управления базами данных (СУБД).
1349. ТЕХНОЛОГИЯ СБОРА, ОБРАБОТКИ И НАКОПЛЕНИЯ ИНФОРМАЦИИ О СОТРУДНИКАХ В ПРОГРАММЕ «1С:ЗАРПЛАТА И УПРАВЛЕНИЕ ПЕРСОНАЛОМ» 3.7 MB
  Общая характеристика системы управления персоналом предприятия. Информация в системе управления персоналом Цель исследования: обосновать пути автоматизации процессов сбора, передачи, обработки и накопления информации в системе управления персоналом предприятия (на примере ООО «Ковровый двор»).
19036. Система сбора и обработки статистических данных «Метеонаблюдения» 2.03 MB
  Работы с базами данных и СУБД позволяют значительно качественнее организовать работу сотрудников. Простота в эксплуатации и надежность хранения данных позволяют практически совсем отказаться от ведения бумажного учета. Значительно ускоряется работа с отчетной и статистической информацией калькуляцией данных.
13116. Система сбора и обработки статистических данных «Метеонаблюдения» 2.04 MB
  Работы с базами данных и СУБД позволяют значительно качественнее организовать работу сотрудников. Простота в эксплуатации и надежность хранения данных позволяют практически совсем отказаться от ведения бумажного учета. Значительно ускоряется работа с отчетной и статистической информацией калькуляцией данных.
8345. СРЕДСТВА СБОРА И РЕГИСТРАЦИИ ПОЛЕТНОЙ ИНФОРМАЦИИ 763.39 KB
  В настоящее время существует следующие виды бортовых СОК: бортовые устройства регистрации параметрической информации БУР ПИ; бортовые устройства регистрации звуковой информации БУР ЗИ переговоры экипажа по внешней или внутренней связи звуковая обстановка в кабине экипажа; бортовые устройства регистрации видеоинформации БУР ВИ показания приборов и сигнальных табло положение органов управления обстановка в кабине экипажа; интегральные устройства появились в последнее время которые совмещают в себе функции БУР ПИ и БУР ЗИ....
6648. Средства, приемы и способы специальной обработки техники, вооружения, материальных средств и санитарной обработки личного состава 77.56 KB
  Комплект для специальной обработки автотракторной техники ИДК-1 предназначен для проведения полной дегазации и дезинфекции автотракторной техники с использованием сжатого воздуха от компрессора автомобиля или автомобильного насоса для накачивания шин
14734. Структурная схема системы передачи информации (СПИ) 48.81 KB
  Теория электрической связи. Системы связи играют всё большую роль в жизни людей объединяя и сближая отдельные страны континенты и объекты космоса.
344. Инструменты разработки программных средств 9.37 KB
  В процессе разработки программных средств в той или иной мере используется компьютерная поддержка процессов разработки ПС. В качестве специального устройства поддерживающего процесс разработки ПС может служит эмулятор какоголибо языка. ПС предназначенное для поддержки разработки других ПС будем называть программным инструментом разработки ПС а устройство компьютера специально предназначенное для поддержки разработки ПС будем называть аппаратным инструментом разработки ПС.
8061. ОЪЕКТНЫЙ ПОДХОД К РАЗРАБОТКЕ ПРОГРАММНЫХ СРЕДСТВ 15.98 KB
  Окружающий нас мир состоит из объектов и отношений между ними. Таким образом объект воплощает некоторую сущность и имеет некоторое состояние которое может изменяться со временем как следствие влияния других объектов находящихся с первым в какихлибо отношениях. Он может иметь внутреннюю структуру: состоять из других объектов также находящихся между собой в некоторых отношениях. Исходя из этого можно построить иерархическое строение мира из объектов.
1982. КРАТКИЙ ОБЗОР ПРОГРАММНЫХ СРЕДСТВ, ИСПОЛЬЗУЕМЫХ НА УКРАИНЕ 7.47 KB
  В базовом модуле содержатся функции реализующие основные операции ГИС в том числе программная поддержка устройств ввода вывода экспорт и импорт данных и т. Первый состоит из трех базовых модулей: rcMp – отображение редактирование и анализ данных rcCtlog – доступ к данным и управление ими rcToolbox – инструмент расширенного пространственного анализа управление проекциями и конвертацией данных.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.