Проектирование информационной системы учета продаж компании 'Max-Service'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,53 Мб
  • Опубликовано:
    2014-02-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование информационной системы учета продаж компании 'Max-Service'

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Московский государственный индустриальный университет

(ГОУ МГИУ)






Курсовая работа

по специальности «Базы данных»

на тему «Проектирование информационной системы учета продаж Компания "Max-Service"»











Москва, 2013

Содержание

Введение

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

1.1 Анализ предметной области

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

2. Инфологическое моделирование

2.1 Диаграммы потоков данных

2.2 Диаграммы "сущность-связь"

3. Даталогическое моделирование

3.1 Даталогическая модель данных

3.2 Физическая модель данных

4. Разработка программного обеспечения

4.1 Структура программных средств

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

4.3 Руководство программиста

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

Приложения

Приложение 1. Схема данных

Приложение 2. Описание таблиц

Приложение 3. Тексты SQL-запросов

Приложение 4. Образцы выходных документов системы

Введение

автоматизация учет продажа информационная

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

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

Собрать материал о предметной области;

Проанализировать сущность задач учета операций товародвижения;

Обосновать использование вычислительной техники;

Формализовать расчеты;

Обосновать разработки по всем видам обеспечения;

Построить инфологическую модель;

Охарактеризовать входную, постоянную, промежуточную и результатную информацию;

Реализовать выбранный вариант проекта.

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

Пользователями этой системы будет оперативно-торговый персонал.

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

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

.1 Анализ предметной области

Компания "Max-Service" специализируется на продаже, покупке и ремонте сотовых мобильных телефонов следующих производителей: Nokia, Sony Ericsson, Motorola, Samsung, Alcatel, VK Mobile, Siemens, Voxtel, Panasonic, Fly, Sagem, Benefon, Bird, Ericsson, Hewlett-Packard, Hyundai, I-Mate, LG, Maxon, NEC, Pantech, Philips, Sendo, Sharp.

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

Структурно в компании можно выделить два основных компонента:

. Магазин - осуществляет продажу сотовых телефонов и аксессуаров и скупку у населения б\у телефонов на запчасти или перепродажи.

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

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

. Сервисный центр.

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

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

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

Бухгалтерский учет реализации товаров на данном предприятии осуществляется по мере поступления денег в кассу от покупателей и ежемесячном пересчёте товаров оставшихся в магазине (ревизия).

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

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

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

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

Работа с поставщиками происходит следующим образом:

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

продавцы отдают заявку поставщику;

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

продавцы проверяют наличие товара по фактуре;

продавцы расплачиваются с поставщиком.

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

собрать заявки, составленные продавцами;

взять необходимую сумму денег у руководителя предприятия на основе содержания заявки;

приехать на торговые базы оптовых фирм, купить товары согласно заявке;

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

привезти товар;

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

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

Вопросом расширения и обновления ассортимента занимаются экспедитор и завмаг. Экспедитор исследует предложения фирм-оптовиков и докладывает о появлении интересных предложений завмагу. Завмаг принимает решение: везти или не везти определённый вид товара.

Таким образом, основными задачами, подлежащими автоматизации, являются:

документальное сопровождение продажи сотовых телефонов и аксессуаров (чек, гарантийный талон);

диагностика неисправностей;

документальное сопровождение скупки телефонов, бывших в употреблении;

автоматический расчёт стоимости ремонтных услуг и запчастей;

подбор по каталогу моделей с заданными параметрами;

подготовка сводных отчётов по продажам, ремонту и т. д.

выдача информации по запросам.

2. Инфологическое моделирование

.1 Диаграммы потоков данных

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

Рис. 1. Начальная контекстная диаграмма.

первого уровня строится как декомпозиция процесса, который присутствует на контекстной диаграмме. Процесс «Обслужить» является типовым, по одной и той же схеме с некоторыми несущественными изменениями происходят три базовых процесса: ПРОДАТЬ телефон, КУПИТЬ телефон и РЕМОНТИРОВАТЬ телефон. Выполним декомпозицию процесса ОБСЛУЖИТЬ на процессы первого уровня (рис. 2, 3 и 4):

Рис. 2. Диаграмма потоков данных первого уровня для процесса ОТРЕМОНТИРОВАТЬ.

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

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

. Работать с неисправным телефоном. То есть, зафиксировать, ликвидировать неисправность, выписать счёт и гарантийный талон для клиента.

На диаграмме первого уровня были выделены три промежуточных хранилища информации:

. БД 1 - Состояние. Здесь хранится информация о нормативных показатели технического состояния телефонов на разных сроках эксплуатации. Эта информация является эталонной для системы, на её основе путём сравнения с реальным состоянием оборудования составляется предварительный счёт за ремонт. Эта информация является статической, т.е. обновляется сравнительно редко. Здесь также содержатся все сведения о зафиксированных неисправностях, о проведённых ремонтных работах и т. п.

. БД 2 - Склад. Здесь хранится информация о наличии телефонов, запчастей и т.п.

По аналогичной схеме протекает процесс КУПИТЬ б\у телефон (рис. 3).

Рис. 3. Диаграмма потоков данных первого уровня для процесса ОТРЕМОНТИРОВАТЬ.

Схема процесса ПРОДАТЬ телефон немного отличается от описанных выше схем (рис. 4).

Рис. 4. Диаграмма потоков данных первого уровня для процесса ПРОДАТЬ.

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

.2 Диаграммы "сущность-связь"

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

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

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

Рис. 9. Диаграмма «сущность-связь»

Товар имеет свойство «наименование», которое отражается в журналах прихода и списания, магазин имеет свойство «название» которое так же отражается в журналах прихода и списания и кассы. В журнале прихода отражается название поставщика. Сотрудник имеет свойство «должность», «ФИО» и «Название магазина» в котором они работают.

3. Даталогическое моделирование

.1 Даталогическая модель данных

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

В соответствии с построенной инфологической моделью предметной области, были выделены следующие сущности (объекты):

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

. Фирма - данный объект содержит основные сведения о фирмах-производителях мобильных телефонов.

. Телефоны_товар - является подчинённым по отношению к объекту Модель_телефона и содержит сведения об отдельных экземплярах этого объекта, включая IMEI, состояние телефона, статус (новый или б/у).

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

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

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

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

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

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

. Виды_ремонтных_работ. На каждый вид работы существует прейскурант, в котором заложена базовая цена ремонта.

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

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

. Сотрудники. Необходим для того, чтобы учесть вклад каждого сотрудника в общую работу магазина «Vid Service».

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

. Тех_состояние - оценка технического состояния телефона (исправен-неисправен, пригоден для ремонта, подлежит разбору на запчасти и т.п.).

3.2 Физическая модель данных

В соответствии с разработанной структурой данных в среде СУБД Access были разработаны таблицы для хранения данных. Описание таблиц выполнено с помощью рабочих бланков объектов, в которых описываются: поля таблицы, их типы и размеры, индексы, ключи и связи с другими объектами.

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

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

Упорядочение процесса ввода данных для контроля корректности вводимой информации.

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

Таким образом, была составлена даталогическая модель, реализованная в СУБД MS Access, представленная на рис. 5.

Рис. 5. Схема данных, реализованная в СУБД Access.

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

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

В СУБД Access данные хранятся в таблицах. Каждая таблица состоит из схемы таблицы (названия полей, типы данных, размеры, ограничения, индексы) и собственно записей, содержащих информацию.

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

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

Таблица 1.

Описание таблицы «Телефоны_клиентов»

Имя объекта: Телефоны_клиентов

Краткое описание: В таблицу заносятся сведения о телефонах.

Связанные объекты:

Модель_телефона

Связь:

М:1


Статус_клиента


М:1


Тех_состояние


М:1


Клиенты


М:1





Имя

Тип

Размер

Индекс

IMEI

Текстовый

 50


модель

Длинное целое

4

FOR

дата_начала

Дата/время

8


дата_окончания

Дата/время

8


код_статуса

Длинное целое

4

FOR

код_состояния

Длинное целое

4

FOR

код_клиента

Длинное целое

4

FOR

аппарат

Логический

1


аккумулятор

Логический

1


задняя_крышка

Логический

1


зарядное_устройство

Логический

1


гарнитура

Логический

1


гарант_талон_№

Текстовый

50


дата_выдачи

Дата/время

8


код_телефона

Длинное целое

4

PRI


Полное описание всех объектов приведено в приложении Б.

4. Разработка программного обеспечения

.1 Структура программных средств

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

Рис. 12 - Общая структура программных средств

На рисунке сплошными линиями показаны структурные связи, штриховыми - вызов одних элементов приложения из других.

Кнопочная форма содержит объединяющие последовательности команд и запросов для выполнения задач приложения.

Таблицы - это место хранения взаимосвязанных данных в реляционных СУБД. Экраны - специфическое представление таблиц, когда показаны не все записи или поля таблицы, а только те, которые нужны в данный момент для решения конкретной задачи. Полное описание таблиц приведено в приложении А.

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

Инструкции на выборку данных[ALL | DISTINCT |DISTINCTROW | TOP ]

{ * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]}выражение [, ...] [IN внешняяБазаДанных]

[WHERE условие отбора ]

[GROUP BY условие группировки ] (до 10 полей)

[HAVING условие отбора сгруппированных полей ]

[ORDER BY поле 1[ASC|DEC], … ] (сортировка)

[WITH OWNERACCESS OPTION] (пользователю предоставляются права владельца)

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

DISTINCT

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

DISTINCTROW

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

TOP n [PERCENT]

Возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY.


В предложении WHERE может размещаться вложенный запрос:поле1, поле2, … IN (запрос).

Также, в этом предложении могут быть размещены кванторы существования (EXIST, NOT EXIST). Они всегда размещаются перед вложенным запросом.

В предложении FROM могут быть представлены результаты выполнения операций над другими таблицами:таблица_1 [INNER | RIGHT | LEFT JOIN таблица_2 ON таблица_1.поле_1 оператор таблица_2.поле_2]

В качестве оператора - любой оператор сравнения.

Операция INNER JOIN объединяет записи из двух таблиц, если связующие поля этих таблиц содержат одинаковые значения.

Инструкции, которые изменяют данные:

Инструкция SELECT...INTO - создаёт новую таблицу. SELECT поле_1[, поле_2[, ...]] INTO новая Таблица [IN внешняяБазаДанных] FROM источник;

Инструкция DELETE создает запрос на удаление записей, предназначенный для удаления записей из одной или нескольких таблиц, перечисленных в предложении FROM, которые удовлетворяют предложению WHERE. DELETE [таблица.*] FROM таблица WHERE условиеОтбора;

Инструкция INSERT INTO добавляет запись или записи в таблицу. INSERT INTO назначение [(поле_1[, поле_2[, ...]])] [IN внешняяБазаДанных]
SELECT [источник.]поле_1[, поле_2[, ...] FROM выражение;

Инструкция UPDATE создает запрос на обновление, который изменяет значения полей указанной таблицы на основе заданного условия отбора. UPDATE таблица SET имя поля = новое Значение WHERE условие Отбора.

Инструкции, изменяющие структуру данных

Инструкция CREATE TABLE используется для описания новой таблицы, ее полей и индексов. Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные.

CREATE [TEMPORARY] TABLE таблица (поле_1 тип [(размер)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [индекс_1] [, поле_2 тип [(размер)] [NOT NULL] [индекс_2] [, ...]] [, CONSTRAINT составнойИндекс [, ...]])

Создаваемая временная (TEMPORARY) таблица будет доступна только в том сеансе, где эта таблица была создана. По завершении данного сеанса она автоматически удаляется. Временные таблицы могут быть доступны для нескольких пользователей. Использование атрибута WITH COMPRESSION допускается только для типов данных CHARACTER и MEMO (он же TEXT) и их синонимов (переход к формату Юникод).

Модификация существующей таблицы, добавление или удаление поля или индекса, изменение типа и размера полей.TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL]

[CONSTRAINT индекс] | ALTER COLUMN тип поля[(размер)] | CONSTRAINT составнойИндекс} | DROP {COLUMN поле I имяИндекса} }

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

Удаление таблицы:{TABLE таблица | INDEX индекс ON таблица | PROCEDURE процедура | VIEW представление}

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

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

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

Необходимым условием возможности работы с программой является наличие следующего программного обеспечения на компьютере: операционная система Windows 'ХР; пакет программного обеспечения MS Office. СУБД Access 'ХР.

Для запуска программы необходимо открыть файл db_kurs.mdb. после этого на экране появится главная кнопочная форма в соответствии с рисунком 13.

Рис. 13 - Окно приветствия

При выборе пункта Клиенты появится форма, где можно добавить и отредактировать контактные данные клиентов (рис. ).

Рис. Редактирование данных клиентов.

При выборе пункта «Склад» появится форма в соответствии с рис. 16.

Рис. 16. Форма для работы со складом.

При выборе пункта "Каталог запчастей" появится форма в соответствии с рис.

Рис. Каталог запчастей.

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

Рис. Заказы.

Выбор пункта "Продать телефон" инициирует диалог, приведенный на рис.

Рис. Продажа телефона.

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

Рис. 17 - Форма подготовки товарного чека и гарантийного талона

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

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

Рис. 18 - Форма для выбора модели телефона

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

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

Следует отметить в графе «Заказ» нужную модель или несколько моделей и нажать кнопку «Сделать заказ», после чего в соответствии с рисунком 19 появится форма для уточнения параметров заказа.

Рис. 19 - Форма подготовки заявки экспедитору

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

При выборе пункта «Покупка б/у телефонов» меню «Операции» появится форма в соответствии с рисунком 20.

Рис. 20 - Оформление покупки б/у телефона

При выборе пункта «Ремонт телефонов» будет выведена форма в соответствии с рисунком 21.

Рис. 21. Форма для приёма телефона в ремонт

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

Рис. 22 - Форма для диагностики и расчёта стоимости ремонта

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

.3 Руководство программиста

Разработанное программное средство было сделано в среде СУБД Access 'ХР. При необходимости внести изменения в структуру базы данных, а именно: добавить новые таблицы, изменить состав полей, внешний вид форм и т.д., следует при запуске программы выбрать меню Сервис Þ Параметры запуска и в появившемся окне установить флажок в поле «Окно базы данных». После чего программу следует закрыть и запустить снова. Теперь окно базы данных будет доступно.

Для создания новой таблицы, необходимо активизировать окно базы данных, перейти на закладку «Таблицы» и нажать кнопку создать. На экране появиться окно диалога «Новая таблица». В этом окне выбираем кнопку «Конструктор» и нажимаем кнопку «ОК». Программа выведет окно пустой таблицы в режиме конструктора. В верхней части окна таблицы расположены столбцы, в кото­рые вводятся имя, тип данных и краткое описание каждого поля.

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

Каждая таблица в реляционной БД должна иметь первичный ключ. Для выбора ключевого поля таблицы в окне конструктора щелкнем в области выделения, расположенной слева от имени поля. Нажмем кнопку Ключе­вое поле на панели инструментов. В подтверждении того, что ключевое поле задано появиться символ ключа слева.

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

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

Вернемся в окно БД. Закрыв текущее окно таблицы. Выберем команду -Сервис -> Схема данных. Microsoft Access откроет пустое окно «Схема данных», выведем на экран окно диалога «Добавление таблицы».

В этом окне нужно выделить таблицы, между которыми будут созданы связи и нажать кнопку «Добавить». Затем кнопку закрыть. Чтобы построить связь, нужно установить курсор на ключевом поле одной таблице и перетащить его на одноименное (или аналогичное) неключевое поле другой таблицы. При этом, если типы полей совпадают, будет создана связь типа «один ко многим», в противном случае - связь неопределенного типа, которую нельзя использовать. Когда появится графическое изображение связи в виде соединительной линии, двойной щелчок по ней откроет окно редактирования связи. Устано­вление флажка Обеспечение целостности данных приведет к тому, что в подчиненную таблицу нельзя будет ввести записи, которым нет аналога в главной таблице. Установление флажка также сделает доступным два значения: Каскадное обновление связанных полей и каскадное удаление связанных полей.

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

Макет интерфейса пользователя представлен в Приложении Е.

Чтобы начать создание формы необходимо перейти на вкладку «Форма», а затем нажмем кнопку «Создать» на экране появится «Новая форма». В этом окне выбрать «Конструктор» и нажать ОК. Появиться окно пустой формы в режиме конст­руктора.

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

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

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

В окне БД нужно перейти на вкладку «Отчеты» и нажать на кнопку «Создать», чтобы открыть окно диалога «Новый отчет». В этом окне нажать на «Мастер отчетов» и выбрать таблицу или запрос в качестве источника данных. На­жав кнопку ОК, перейдем в окно, в котором выбираются необходимые поля таблицы и нажмем кнопку «Далее». В открывшемся окне задается внешний вид отчета в «Макете», затем Стиль. Нажав кнопку «Далее» в открывшемся окне вводится название отчета. Кнопка Готово.

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

В меню Сервис выберите команду Служебные программы и подкоманду Разделение баз данных.

Следуйте инструкциям в диалоговых окнах мастера Разделение базы данных.

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

Для задания связи с файлом, расположенным в локальной сети, используется стандартный формат записи пути (UNC), в формате «//Сервер/Общая папка/Путь/Имя файла».

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

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

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

Выделите запрос, щелкнув в режиме конструктора запроса любое место вне бланка запроса и списков полей.

Нажмите кнопку Свойства на панели инструментов, чтобы открыть окно свойств запроса.

Выберите требуемое значение свойства Блокировка записей (RecordLocks).

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

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

Нажмите кнопку Свойства на панели инструментов, чтобы открыть окно свойств запроса.

Задайте в значении свойства Время ожидания ODBC (ODBCTimeout) число секунд, после которого возвращается сообщения об ошибке превышения времени ожидания. По умолчанию задается значение 60 секунд. Если задать для этого свойства нулевое значение, ошибка превышения времени ожидания не возникает.

Заключение

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

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

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

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

Таким образом, задание на курсовое проектирование выполнено в полном объёме.

Список литературы

Анохин А.Н. CASE - технология: Моделирование управленческих процессов в организации. Учебное пособие для слушателей повышения квалификации. - М.: Талтар - М, 2000. - 52 с.

Кузнецов С.Д. Основы современных баз данных. Информационно - аналитические материалы. <#"701149.files/image020.gif">

Приложение 2. Описание таблиц

. Таблица: Виды_запчастей

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:

Запчасти

Связь:

1: М

Тип

Размер

Индекс

код_вида_запчасти

Длинное целое

4


вид_запчасти

Текстовый

50


вид_запчасти_англ

Текстовый

50



. Таблица: Виды_работ

Имя объекта: Виды_работ

Краткое описание: Прайс-лист на ремонтные работы

Связанные объекты:

Ремонтные_работы

Связь:

1: М






Имя

Тип

Размер

Индекс

код_работы

Длинное целое

4


название

Текстовый

50


цена

Денежный

8


гарантия

Логический

1



. Таблица: Запчасти

Имя объекта: Запчасти

Краткое описание: Наличие запчастей на складе

Связанные объекты:

Виды_запчастей

Связь:

М:1


Фирмы


М:1


Ремонт_запчасти


1: М






Имя

Тип

Размер

Индекс

код_запчасти

Длинное целое

4


код_вида_запчасти

Длинное целое

4


код_фирмы

Длинное целое

4


описание

Текстовый

250


кол-во_на складе

Длинное целое

4


цена

Денежный

8


список аналогов

Текстовый

250



. Таблица: Запчасти_приход

Имя объекта: Запчасти_приход

Краткое описание: Временная таблица для импорта из Excel

Связанные объекты:


Связь:

М:1






Имя

Тип

Размер

Индекс

код_запчасти

Длинное целое

4


код_фирмы

Длинное целое

4


код_вида_запчасти

Длинное целое

4


описание

Текстовый

50


цена

Денежный

8


кол-во

Длинное целое

4


дата_получения

Дата/время

8


учтено

Логический

1



. Таблица: Заявки_клиентов

Имя объекта: Заявки_клиентов

Краткое описание: Заявки на телефоны

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_заявки

Длинное целое

4


код_модели

Длинное целое

4


код_клиента

Длинное целое

4


ориент_дата

Дата/время

8



6. Таблица: Клиенты

Имя объекта: Клиенты

Краткое описание: Контактные данные клиентов

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

Фамилия

Текстовый

50


Имя

Текстовый

50


Отчество

Текстовый

50


серия_№паспорта

Текстовый

50


мобильный

Текстовый

50


домашний

Текстовый

50


рабочий

Текстовый

50


код_клиента

Длинное целое

4



. Таблица: Модель_телефона

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

фирма

Длинное целое

4


код_модели

Длинное целое

4


модель

Текстовый

50


цена_опт

Денежный

8


цена_розн

Денежный

8


на_складе

Байт

1


камера

Текстовый

50


ИК_порт

Логический

1


MP3

Логический

1


Bluethooth

Логический

1


цвет

Текстовый

50


размер

Текстовый

50


вес

Текстовый

50


конфигурация

Текстовый

50



. Таблица: Ремонт_запчасти

Имя объекта: Ремонт_запчасти

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_рем_запчасти

Длинное целое

4


код_запчасти

Длинное целое

4


код_записи

Длинное целое

4


количество

Байт

1


учтено

Логический

1



. Таблица: Ремонт_телефонов

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_записи

Длинное целое

4


код_модели

Длинное целое

4


дата_обращения

Дата/время

8


причина_обращения

Дата/время

8


ориент_дата_окончания

Дата/время

8


реальная_дата_окончания

Дата/время

8


ремонт_завершён

Логический

1


выписан_счёт

Логический

1


оплачен

Логический

1


стоимость_ремонта

Денежный

8


стоимость_запчастей

Денежный

8


код_сотрудника

Длинное целое

4


код_клиента

Длинное целое

4



. Таблица: Ремонтные_работы

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_рем_работы

Длинное целое

4


код_записи

Длинное целое

4


код_работы

Длинное целое

4


плюс_к_тарифу

Денежный

8


минус_к_тарифу

Денежный

8



. Таблица: Сотрудники

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_сотрудника

Длинное целое

4


ФИО

Текстовый

50



11. Таблица: Телефоны_клиентов

Краткое описание: В таблицу заносятся сведения о телефонах.

Связанные объекты:

Модель_телефона

Связь:

М:1

Статус_клиента

М:1

Тех_состояние

М:1

Клиенты

М:1




Имя

Тип

Размер

Индекс

IMEI

Текстовый

50


модель

Длинное целое

4

FOR

дата_начала

Дата/время

8


дата_окончания

Дата/время

8


код_статуса

Длинное целое

4

FOR

код_состояния

Длинное целое

4

FOR

код_клиента

Длинное целое

4

FOR

аппарат

Логический

1


аккумулятор

Логический

1


задняя_крышка

Логический

1


зарядное_устройство

Логический

1


гарнитура

Логический

1


гарант_талон_№

Текстовый

50


дата_выдачи

Дата/время

8


код_телефона

Длинное целое

4

PRI


. Таблица: Телефоны_товар

Имя

Тип

Размер

Индекс

код_телефона

Длинное целое

4


код_модели

Длинное целое

4


кол-во

Длинное целое

4


цена

Денежный

8


статус_телефона

Текстовый

50



13. Таблица: Тех_состояние

Имя объекта: Виды_запчастей

Краткое описание: Классификация запчастей по назначению

Связанные объекты:


Связь:

М:1




М:1




М:1




М:1






Имя

Тип

Размер

Индекс

код_состояния

Длинное целое

4


состояние

Текстовый

50



Приложение 3. Тексты SQL-запросов

Запрос: IMEI_поискТелефоны_клиентов.IMEI, Телефоны_клиентов.модель,

Телефоны_клиентов.код_клиентаВ_розыске, Телефоны_клиентов

Запрос: Добавить_в_ремонтINTO Ремонт_телефонов ( код_клиента, код_модели, IMEI )Телефоны_клиентов.код_клиента, Телефоны_клиентов.модель,

Телефоны_клиентов.IMEIТелефоны_клиентов(((Телефоны_клиентов.IMEI) Not In (SELECT Ремонт_телефонов.IMEI FROM

Запрос: добавление_запчастиINTO Запчасти ( код_фирмы, код_вида_запчасти, описание, цена )Запчасти_приход.код_фирмы, Запчасти_приход.код_вида_запчасти,

Запчасти_приход.описание, Запчасти_приход.ценаЗапчасти_приход(((Запчасти_приход.описание) Is Not Null And (Запчасти_приход.описание) Not In

(SELECT Запчасти.описание FROM Запчасти)) AND ((Запчасти_приход.учтено)=No));

Запрос: заявка1Модель_телефона.модель, Модель_телефона.цена_розн, 1 AS [кол-во], "" AS

ФИО_клиента, "" AS Контактные_данные, Date() AS срок_исполнения,

Модель_телефона.код_модели INTO заявкиМодель_телефона

Запрос: заявка2INTO заявки_лист ( код_модели, ориент_цена, [кол-во], ФИО_клиента,

контактные_данные, ориент_дата )заявки.код_модели, заявки.цена_розн, заявки.[кол-во], заявки.ФИО_клиента,

заявки.Контактные_данные, заявки.срок_исполнениязаявки;

Запрос: квитанция_на_ремонтDISTINCT Клиенты.Фамилия, Клиенты.Имя, Клиенты.Отчество,

Ремонт_телефонов.код_модели, Ремонт_телефонов.ориент_дата_окончания,

Ремонт_телефонов.причина_обращения, Ремонт_телефонов.стоимость_ремонта,

Ремонт_телефонов.стоимость_запчастей, Ремонт_телефонов.выписан_счёт,

Ремонт_телефонов.код_сотрудника, Клиенты.код_клиента, Модель_телефона.модель, Телефоны_клиентов.IMEI, Телефоны_клиентов.аппарат, Телефоны_клиентов.аккумулятор,

Телефоны_клиентов.задняя_крышка, Телефоны_клиентов.зарядное_устройство,

Телефоны_клиентов.гарнитура, Ремонт_телефонов.дата_обращения, Клиенты.домашний, Клиенты.рабочий, Клиенты.мобильныйМодель_телефона INNER JOIN ((Клиенты INNER JOIN Ремонт_телефонов ON

Клиенты.код_клиента=Ремонт_телефонов.код_клиента) INNER JOIN Телефоны_клиентов ON

Клиенты.код_клиента=Телефоны_клиентов.код_клиента) ON

(Модель_телефона.код_модели=Ремонт_телефонов.код_модели) AND

(Модель_телефона.код_модели=Телефоны_клиентов.модель)

Запрос: ном_квитпродажи_телефонов1 INNER JOIN продажи_телефонов ON

продажи_телефонов1.IMEI=продажи_телефонов.IMEI SET продажи_телефонов1.код_записи =

продажи_телефонов.код_записи(((продажи_телефонов1.код_записи)=1));

Запрос: обн_клиентпродажи_телефонов1 INNER JOIN продажи_телефонов ON

продажи_телефонов1.IMEI=продажи_телефонов.IMEI SET продажи_телефонов.Фамилия =

продажи_телефонов1.фамилия, продажи_телефонов.Имя = продажи_телефонов1.имя,

продажи_телефонов.Отчество = продажи_телефонов1.отчество,

продажи_телефонов.Серия_№_паспорта = продажи_телефонов1.серия_№_паспорта,

продажи_телефонов.рабочий = продажи_телефонов1.рабочий, продажи_телефонов.домашний

= продажи_телефонов1.домашний, продажи_телефонов.мобильный =

Запрос: обновить_модельМодель_телефона SET Модель_телефона.купить = No;

Запрос: обновить_ремонтТелефоны_клиентов INNER JOIN Ремонт_телефонов ON

Телефоны_клиентов.код_телефона=Ремонт_телефонов.код_телефона SET

Ремонт_телефонов.код_клиента = телефоны_клиентов.код_клиента,

Ремонт_телефонов.код_фирмы = телефоны_клиентов.фирма, Ремонт_телефонов.код_модели

= телефоны_клиентов.модель(((Ремонт_телефонов.код_клиента) Is Null) AND ((Ремонт_телефонов.код_фирмы) Is

Запрос: обновить_телефонТелефоны_товар SET Телефоны_товар.купить = No;

Запрос: обновление_запчастиЗапчасти, Запчасти_приход SET Запчасти.[кол-во_на складе] = запчасти.[кол-во_на

складе]+запчасти_приход.[кол-во], Запчасти.цена = запчасти_приход.цена(((Запчасти.описание)=[запчасти_приход].[описание]));

Запрос: обновление_работыпромежут_отчет_работы INNER JOIN Ремонт_телефонов ON

промежут_отчет_работы.код_записи = Ремонт_телефонов.код_записи SET

Ремонт_телефонов.стоимость_ремонта = промежут_отчет_работы.работы;

Запрос: обновление_рем_запчастипромежут_отчёт_запчасти INNER JOIN Ремонт_телефонов ON

промежут_отчёт_запчасти.код_записи=Ремонт_телефонов.код_записи SET

Ремонт_телефонов.стоимость_запчастей = промежут_отчёт_запчасти.запчасти;

Запрос: отчёт_по_работамРемонт_телефонов.дата_обращения, Виды_работ.название, Виды_работ.ценаРемонт_телефонов INNER JOIN (Виды_работ INNER JOIN Ремонтные_работы ON

Виды_работ.код_работы=Ремонтные_работы.код_работы) ON

Ремонт_телефонов.код_записи=Ремонтные_работы.код_записи;

Запрос: отчёт_телефоны_периодМодель_телефона.модель, продажи_телефонов.цена,

продажи_телефонов.дата_продажиМодель_телефона INNER JOIN продажи_телефонов ON

Модель_телефона.код_модели=продажи_телефонов.код_модели

Запрос: отчет_телефоны_период1Модель_телефона.модель, продажи_телефонов.цена,

продажи_телефонов.дата_продажиМодель_телефона INNER JOIN продажи_телефонов ON

Модель_телефона.код_модели=продажи_телефонов.код_моделиBY Модель_телефона.модель, продажи_телефонов.цена,

Запрос: очистка_новая_розыскновая_розыск.*новая_розыск;

Запрос: очистка_приходЗапчасти_приход.код_запчастиЗапчасти_приход;

Запрос: поиск_IMEI_товарТелефоны_товар.IMEI, Телефоны_товар.код_модели, покупка_бу.Фамилия,

покупка_бу.дата_покупки, покупка_бу.мобильный, покупка_бу.домашний,

покупка_бу.рабочийпокупка_бу INNER JOIN (В_розыске INNER JOIN Телефоны_товар ON

Запрос: поиск_запчастейКлиенты.код_клиента, Запчасти.код_фирмы, Виды_запчастей.вид_запчасти,

Фирма.фирма, Запчасти.описание, Запчасти.[кол-во_на складе]

FROM (Фирма INNER JOIN (Виды_запчастей INNER JOIN Запчасти ON

Виды_запчастей.код_вида_запчасти=Запчасти.код_вида_запчасти) ON

Фирма.код_фирмы=Запчасти.код_фирмы) INNER JOIN (Модель_телефона INNER JOIN (Клиенты INNER JOIN Ремонт_телефонов ON Клиенты.код_клиента=Ремонт_телефонов.код_клиента) Модель_телефона.код_модели=Ремонт_телефонов.код_модели) ON

Фирма.код_фирмы=Модель_телефона.фирма(((Виды_запчастей.вид_запчасти) Like ([Введите вид запчасти])) AND ((Запчасти.[кол-во_на складе])>0));

Запрос: поиск_имей_ремонтDISTINCT Телефоны_клиентов.IMEI, Модель_телефона.модель,

Ремонт_телефонов.причина_обращения, Ремонт_телефонов.дата_обращения,

Клиенты.Фамилия, Клиенты.Имя, Клиенты.ОтчествоМодель_телефона INNER JOIN ((Клиенты INNER JOIN Ремонт_телефонов ON

Клиенты.код_клиента=Ремонт_телефонов.код_клиента) INNER JOIN Телефоны_клиентов ON

Клиенты.код_клиента=Телефоны_клиентов.код_клиента) ON

(Модель_телефона.код_модели=Ремонт_телефонов.код_модели) AND

(Модель_телефона.код_модели=Телефоны_клиентов.модель)(((Телефоны_клиентов.IMEI)=[Введите IMEI телефона]));

Запрос: пометка_запчастиЗапчасти_приход SET Запчасти_приход.учтено = Yes(((Запчасти_приход.описание) Not In (SELECT Запчасти.описание FROM Запчасти)) AND

((Запчасти_приход.учтено)=No));

Запрос: пометка1_запчастиЗапчасти, Запчасти_приход SET Запчасти_приход.учтено = Yes(((Запчасти.описание)=запчасти_приход.описание));

Запрос: посчитать_работыРемонтные_работы.код_записи, (Виды_работ.цена+ремонтные_работы.плюс_к_тарифу-

ремонтные_работы.минус_к_тарифу) AS работы INTO промежут_отчет_работыВиды_работ INNER JOIN Ремонтные_работы ON

Виды_работ.код_работы=Ремонтные_работы.код_работы

Запрос: приём_товара_квитанцияВиды_запчастей.вид_запчасти, Запчасти_приход.описание, Запчасти_приход.цена,

Запчасти_приход.[кол-во], запчасти_приход.цена*запчасти_приход.[кол-во] AS стоимость,

Запчасти_приход.дата_полученияВиды_запчастей INNER JOIN Запчасти_приход ON

Виды_запчастей.код_вида_запчасти=Запчасти_приход.код_вида_запчасти;

Запрос: приход_телефонов_на_складINTO Телефоны_товар ( код_модели, IMEI, цена, статус_телефона, аппарат, аккумулятор, зарядное_устройство, гарнитура )покупка_бу.код_модели, покупка_бу.IMEI, покупка_бу.цена,

покупка_бу.статус_телефона, покупка_бу.аппарат, покупка_бу.аккумулятор,

покупка_бу.зарядное_устройство, покупка_бу.гарнитурапокупка_бу

Запрос: продажи_отчёт1INTO продажи_телефонов ( код_модели, IMEI, цена, аппарат, аккумулятор, зарядное_устройство, гарнитура, дата_продажи )Телефоны_товар.код_модели, Телефоны_товар.IMEI, Телефоны_товар.цена, Телефоны_товар.аппарат, Телефоны_товар.аккумулятор, Телефоны_товар.зарядное_устройство, Телефоны_товар.гарнитура, Телефоны_товар.дата_продажиТелефоны_товар

Запрос: продажи_телефонов_отчётМодель_телефона.модель, Телефоны_товар.IMEI, Телефоны_товар.цена, Телефоны_товар.аппарат, Телефоны_товар.аккумулятор, Телефоны_товар.зарядное_устройство, Телефоны_товар.гарнитура, "" AS Фамилия, "" AS Имя,

"" AS Отчество, "" AS рабочий, "" AS домашний, "" AS мобильный,

Телефоны_товар.дата_продажи, 1 AS код_записи, "" AS Серия_№_паспорта,

Телефоны_товар.купить INTO продажи_телефонов1Модель_телефона INNER JOIN Телефоны_товар ON

Модель_телефона.код_модели=Телефоны_товар.код_модели

Запрос: промежут_добавл_запчастиРемонт_запчасти.код_записи, Sum(Запчасти.цена*ремонт_запчасти.количество) AS

запчасти INTO промежут_отчёт_запчастиЗапчасти INNER JOIN Ремонт_запчасти ON

Запчасти.код_запчасти=Ремонт_запчасти.код_запчасти

Запрос: снять_пометкуТелефоны_клиентов SET Телефоны_клиентов.ремонт = No(((Телефоны_клиентов.ремонт)=Yes));

Запрос: списать_телефонТелефоны_товар SET Телефоны_товар.продано = Yes, Телефоны_товар.дата_продажи = Date()

Запрос: текущие_ремонтыРемонт_телефонов.дата_обращения, Ремонт_телефонов.причина_обращения,

Ремонт_телефонов.ориент_дата_окончания, Ремонт_телефонов.ремонт_завершён,

Клиенты.Фамилия, Клиенты.код_клиентаКлиенты INNER JOIN (Ремонт_телефонов INNER JOIN Телефоны_клиентов ON

Ремонт_телефонов.IMEI=Телефоны_клиентов.IMEI) ON

(Клиенты.код_клиента=Ремонт_телефонов.код_клиента) AND

(Клиенты.код_клиента=Телефоны_клиентов.код_клиента)(((Ремонт_телефонов.ремонт_завершён)=No));

Запрос: учесть_приход_телпокупка_бу SET покупка_бу.купить = No, покупка_бу.учтено = Yes(((покупка_бу.купить)=Yes) AND ((покупка_бу.учтено)=No));

Запрос: Фильтр_маркаМодель_телефона.*Фирма INNER JOIN Модель_телефона ON Фирма.код_фирмы=Модель_телефона.фирма(((Фирма.фирма)=[введите марку]));

Запрос: фильтр_покупка_бупокупка_бу.*, покупка_бу.купить, покупка_бу.учтенопокупка_бу(((покупка_бу.купить)=No) AND ((покупка_бу.учтено)=Yes));

Запрос: фильтр_проданоТелефоны_товар.*, Телефоны_товар.проданоТелефоны_товар(((Телефоны_товар.продано)=No));

Запрос: фильтр_рем1Ремонт_телефонов.ремонт_завершёнРемонт_телефонов(((Ремонт_телефонов.ремонт_завершён)=No));

Запрос: фильтр_ценаМодель_телефона.*Модель_телефона(((Модель_телефона.цена_розн) Between ([нижний предел]) And ([верхний предел])));

Запрос: цена_розницаМодель_телефона SET Модель_телефона.цена_розн = модель_телефона.цена_опт*1.1;

Приложение 4. Образцы выходных документов системы





Похожие работы на - Проектирование информационной системы учета продаж компании 'Max-Service'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!