“Допущен к защите”
Зав. каф “Прикладной информатики
и математики”
_______________________Обрубов Ю.В.
Кулаков Александр А.
ДИПЛОМНЫЙ ПРОЕКТ
Научный руководитель:
докт. техн. наук
Автор работы:
Калуга - 2010
РЕФЕРАТ
Пояснительная записка (ПЗ) дипломного проекта (ДП) содержит
ВВЕДЕНИЕ, три раздела, ЗАКЛЮЧЕНИЕ, 21 использованный источник, 30
рисунков 17 таблиц, 5 приложений и выполнена на 95 с. текста.
Ключевые слова: Информационная система (ИС), база данных (БД),
система управления базами данных (СУБД), программное обеспечение (ПО).
Объект проектирования: ИС склада продовольственных товаров.
Цель ДП: сокращение времени формирования выходных документов
(квитанция получения товаров на склад (Отчет 1); квитанция выдачи товаров со
склада (Отчет 2); отчет о наличии товаров на складе и их количестве на
текущую дату (Отчет 3); отчет об ущербе от просроченного товара (Отчет 4);
акт списания просроченного товара (Отчет 5)) на основе использования
разработанной ИС.
Метод проектирования: проектирование ИС.
Результаты работы: разработана ИС склада продовольственных товаров,
позволяющая в автоматизированном режиме формировать пять документов.
Основные характеристики ИС: операционная система – MS Windows
XP и выше; СУБД – MS Access 2003 и выше; поддержка технологии
клиент/сервер в локальной вычислительной сети (ЛВС).
Область применения: автоматизация документооборота в складском
хозяйстве.
Экономическая эффективность и значимость проекта: индексы
изменения трудовых (IT) и стоимостных (IС) затрат составляют 5,35; внедрение
проекта позволяет сократить трудовые и cтоймостные затраты на 81,32%;
прямой эффект от внедряемого проекта при грубых расчетах составит около
7400 рублей в год.
Предположения о развитии объекта исследования: разработать ИС
склада продовольственных товаров для глобальной вычислительной сети,
поддерживающей семейство протоколов TCP/IP.
ЗАДАНИЕ К ДИПЛОМНОМУ ПРОЕКТУ:
ИНФОРМАЦИОННАЯ СИСТЕМА “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”
Информационная система создается для объекта склад.
Периодически по запросу должны выдаваться данные о названии товаров,
единиц хранения и их количестве на складе. При получении товара на склад
должна формироваться квитанция получения.
Оператор ЭВМ должен иметь возможность проделывать следующие
операции обработки данных:
- получение нового товара с включением в перечень товаров на складе;
- автоматическое изменение количества товаров при их получении на
склад и выдачи со склада;
- формирование данных для выходных документов в виде отчетов;
а также выдачу пяти документов: квитанцию получения товаров на склад
(Отчет 1); квитанцию выдачи товаров со склада (Отчет 2); отчет о наличии
товаров на складе и их количестве на текущую дату (Отчет 3); отчет об ущербе
от просроченного товара (Отчет 4); акт списания просроченного товара (Отчет
5).
3
СОДЕРЖАНИЕ
Р Е Ф Е Р А Т ................................................................................................................2
ЗАДАНИЕ К ДИПЛОМНОМУ ПРОЕКТУ: ИНФОРМАЦИОННАЯ
СИСТЕМА “СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”.......................3
ВВЕДЕНИЕ.................................................................................................................6
1. ОБЗОР И АНАЛИЗ МЕТОДОВ РЕАЛИЗАЦИИ ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”...............................................................8
1.1. Технико-экономическая характеристика предметной области.....................8
1.1.1.Общая характеристика предприятия “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”.............................................................8
1.1.2.Характеристика деятельности предприятия “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”.............................................................9
1.2. Экономическая сущность задачи...................................................................11
1.3. Обоснование необходимости и цели использования вычислительной
техники для решения задачи.................................................................................11
1.4. Выбор системы управления базами данных для реализации ИС...............12
1.5. Постановка задачи проектирования..............................................................13
2. ПРОЕКТИРОВАНИЕ ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”...............................................................................................................15
2.1. Информационное обеспечение задачи..........................................................15
2.1.1. Информационная модель ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”...........................................................................................................15
2.1.2. Инфологическая модель ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”...........................................................................................................18
2.1.3. Даталогическая модель ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”...........................................................................................................21
2.1.4. Характеристика нормативно-справочной, входной и результатной
информации..........................................................................................................26
2.2. Программное обеспечение ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”..............................................................................................................28
4
2.2.1. Проектирование сценария диалога..........................................................28
2.2.2. Описание программных модулей.............................................................31
2.3. Технологическое обеспечение ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”..............................................................................................................60
2.4. Руководство пользователя ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”..............................................................................................................61
3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ
ПРОЕКТА.................................................................................................................63
3.1. Выбор и обоснование методики расчета экономической эффективности.63
3.2 Расчет показателей экономической эффективности проекта.......................70
ЗАКЛЮЧЕНИЕ.......................................................................................................75
СПИСОК ЛИТЕРАТУРЫ.....................................................................................77
ПРИЛОЖЕНИЕ А. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ
ВЕДЕНИЯ ТАБЛИЦЫ “ИНФОРМАЦИЯ О КВИТАНЦИЯХ НА
ПОЛУЧЕНИЕ ТОВАРА” (Kvit_In)......................................................................80
ПРИЛОЖЕНИЕ Б. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ
ВЕДЕНИЯ ТАБЛИЦЫ “ИНФОРМАЦИЯ О КВИТАНЦИЯХ НА ВЫДАЧУ
ТОВАРА” (Kvit_Out)..............................................................................................82
ПРИЛОЖЕНИЕ В. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ
ФОРМИРОВАНИЯ КВИТАНЦИИ ПОЛУЧЕНИЯ ТОВАРА” (Kvit_In_F) 84
ПРИЛОЖЕНИЕ Г. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ
ФОРМИРОВАНИЯ КВИТАНЦИИ ВЫДАЧИ ТОВАРА” (Kvit_Out /
Kvit_Out_F)...............................................................................................................88
ПРИЛОЖЕНИЕ Д. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ
ФОРМИРОВАНИЯ КВИТАНЦИИ ВЫДАЧИ ТОВАРА” (Kvit_Out /
Kvit_Out_F)................................................................................................................92
5
ВВЕДЕНИЕ
Резкий рост объемов перерабатываемой информации, революционные
достижения в технологии производства аппаратных средств вычислительной
техники обусловили коренные преобразования в технологии обработки и
хранения информации, нашедшие яркое выражение в концепциях построения
БАЗ ДАННЫХ (БД) и способах управления ими. Революционные достижения в
построении БД и систем управления базами данных (СУБД) стали
определяющим фактором создания эффективных систем автоматизированной
обработки информации.
К настоящему времени сформировалось многообразное программное
обеспечение ПЭВМ, позволяющее создавать и эксплуатировать базы данных
(БД) в различных операционных системах и персональных ЭВМ. Спектр
средств управления данными довольно широк - от программных продуктов с
методами доступа к данным во внешней памяти до развитых СУБД. Сами
СУБД отличаются как функциональным разнообразием - от простейших
однофайловых систем с элементарными средствами манипулирования данными
до функционально полных СУБД, так и средствами их окружения - генераторы
и преобразователи программного кода, средства для разработки меню и
экранных форм ввода-вывода данных, генераторы отчетов, интерфейсные
средства для доступа к БД, интерактивные средства обучения пользователей и
др.
В соответствии с заданием в дипломном проекте (ДП) необходимо
разработать информационную систему "СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ" (см. задание на с. 2).
Цель КР заключается в сокращение времени формирования выходных
документов (квитанция получения товаров на склад (Отчет 1); квитанция
6
выдачи товаров со склада (Отчет 2); отчет о наличии товаров на складе и их
количестве на текущую дату (Отчет 3); отчет об ущербе от просроченного
товара (Отчет 4); акт списания просроченного товара (Отчет 5)) на основе
использования разработанной ИС.
Достижение цели обеспечивает решение следующих задач:
проведение обзора и анализа методов решения поставленной в задании
задачи. Выбор СУБД;
построение концептуальной модели предметной области;
построение логической модели БД;
разработка физической организации БД: создание таблиц базы данных
и форм просмотра данных;
разработка физической организации БД. Формирование запросов;
разработка физической организации БД. Формирование отчетов.
7
1. ОБЗОР И АНАЛИЗ МЕТОДОВ РЕАЛИЗАЦИИ ИС
“СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”
8
В процессе своей деятельности работники выполняют следующие
функции:
руководящие работники, - осуществляют общее руководство предприятия
и подразделений, планирование работ, организацию и управление ремонтными
работами, прием и оформление сопроводительных документов;
обслуживающий персонал - осуществляет ремонтные работы
поступающего автотранспорта и оказание других услуг, включая сопровождения
процессов своей деятельности соответствующими документами;
материально ответственный персонал – осуществляет учет, хранение ,
прием и выдачу товаров.
В процессе своей деятельности работники предприятия “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ” руководствуются руководящими,
научно-методическими и нормативными документами, в частности:
Конституцией РФ;
системой стандартов по хранению, учету и распространению
продовольственных товаров;
методическими рекомендациями производителей по эксплуатации и
устранению неисправностей средств хранения, учета и распространения
продовольственных товаров;
должностными инструкциями;
приказами и распоряжениями руководства предприятия.
9
поиска инновационных подходов и приемов их выполнения и направлено на
решение двух классов задач:
1) экономических (повышение эффективности труда персонала;
рациональное использование ресурсов предприятия, повышение качества
оказываемых услуг);
социальных (развитие творческой инициативы и профессионализма
персонала, создание благоприятных условий труда, уменьшение объема
трудоемких и монотонных рутинных процессов).
Основное назначение предприятия – предоставление услуг по
эффективной эксплуатации средств отечественного и зарубежного
автотранспорта, включая выполнения плановых и неплановых ремонтных
работ, а также продажу запасных частей.
Совокупность средств и процессов, используемых при поиске
неисправностей в средствах отечественного и зарубежного автотранспорта,
требует высоко квалифицированного персонала и современных
диагностических приборов и технологий, включая информационные
технологии. Современные средства отечественного и зарубежного
автотранспорта изготовляются с высокими требованиями к комфорту, экологии
и т.п. на основе самых современных технологий. Помимо средств обеспечения
движения и безопасности отечественного и зарубежного автотранспорта
современный автотранспорт включает средства комфорта – кондиционер,
воздухоочиститель и .т.п., а также эффективные средства управления как
устройствами, обеспечивающими комфорт, так и автотранспортом, в целом, –
компьютер, интеллектуальные датчики для сбора информации, контроллеры
для управления устройствами автотранспорта.
В рамках дипломного проекта рассмотрены вопросы реализации
информационных систем и информационных технологий на предприятии
“СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”.
10
1.2. Экономическая сущность задачи
11
данном рынке предоставления услуг СКЛАДа. У данной системы недостатков
гораздо больше, чем может показаться на первый взгляд, а именно:
большие затраты времени и труда на поиск информации;
большие затраты времени и труда на обслуживание клиентов,
связанные с невысокой степенью внедрения информационных технологий в
процесс обслуживания клиентов;
не надежный способ хранения информации;
трудности при обработке информации;
не всегда оперативно удается уследить за оборотом продуктов;
трудности при прослеживании просрочки работ по устранению
неисправностей оборудования;
данная система обслуживания портит авторитет предприятия и
подрывает доверие клиентов к организации и т.д, что влияет практически на все
технико-экономические показатели предприятия.
Все перечисленные недостатки существующей системы служат
предпосылками автоматизации данного комплекса задач, а именно - создания
базы данных для работы с клиентами, ассортиментом и с заказами. Целью
использования вычислительной техники является устранение всех
вышеперечисленных недостатков, автоматизация ввода и обработки
первичных, промежуточных и вывода или передачи результатных данных.
12
реализовывать гибкий и удобный интерфейс пользователя, но отличаются
значительной стоимостью – десятки – сотни тысяч долларов [12 и др.].
Ряд разработчиков и сейчас пытаются при создании БД использовать
СУБД, поддерживающие форматы БД, которые широко использовались в
операционной системе MS DOS. Формат DBF, используемый в СУБД DB2,
FOXPRO, CLIPPER; формат DB, используемый в СУБД PARADOX и т.п.
отличаются меньшей стоимостью, по сравнению с СУБД первой группы и
меньшими функциональными возможностями.
Одной из самых дешевых СУБД, обладающей возможностью
многопользовательской поддержки БД на основе локальных вычислительных
сетей (ЛВС) и позволяющей реализовывать достаточно удобный графический
интерфейс пользователя является СУБД MS Access, входящая в состав
интегрированного пакета прикладных программ Microsoft Office [1, 2, 8 – 10,
12, 14, 16, 19 – 21]. Еще одно свойство СУБД MS Access заключается в том, что
вся БД, включая таблицы, запросы, отчеты БД, программный код и визуальные
формы приложения содержатся в одном файле с расширением mdb.
Поскольку ИС "СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ" не
ориентирована на эксплуатацию в глобальных вычислительных сетях, в
качестве СУБД следует выбрать MS Access.
13
построение инфологической модели БД;
построение даталогической модели БД;
разработка физической организации БД: создание таблиц базы
данных;
разработка экранных форм работы с ИС;
формирование запросов;
формирование отчетов (квитанции получения товаров на склад (Отчет
1); квитанции выдачи товаров со склада (Отчет 2); отчета о наличии товаров на
складе и их количестве на текущую дату (Отчет 3); отчета о просроченном
товаре (Отчет 4); акта списания просроченного товара (Отчет 5)).
При задании необходимых параметров (в режиме диалога с пользователем)
для операций получения товаров на склад, отпуска товаров со склада, списания
просроченных товаров, ИС должна автоматически выполнять вычисления и
корректировать содержимое таблиц БД, изменяя значения полей, отражающих
количества товаров в местах хранения и на складе в целом, формировать и
заносить в БД итоговые стоимости товаров.
14
2. ПРОЕКТИРОВАНИЕ ИС
“СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”
15
место хранения полученных единиц хранения товара.
- квитанция выдачи товаров со склада (Отчет 2), включающая
номер квитанции;
дату и время выдачи квитанции;
индекс кладовщика;
Ф.И.О. кладовщика;
общую сумму оплаты за выданный товар;
и для каждой единицы выданного товара
наименование товара;
цена отпуска товара;
единица хранения товара на складе;
количество единиц хранения полученного товара;
стоимость выданных единиц хранения товара;
место хранения выданных единиц хранения товара.
- отчет о наличии товаров на складе и их количестве на текущую дату
(Отчет 3), включающий
текущие дату и время;
и для каждой единицы товара, имеющейся на складе
наименование товара;
единица хранения товара на складе;
цена получения товара;
цена отпуска товара;
количество единиц хранения полученного товара.
- отчет об ущербе от просроченного товара (Отчет 4), включающий
контрольную дату;
оценку ущерба по цене получения товара;
оценку ущерба по цене отпуска товара;
Ф.И.О. кладовщика, оформляющего акт списания
и для каждой единицы выданного товара
16
наименование товара;
индекс товара;
единица хранения товара;
цена получения товара;
цена отпуска товара;
количество просроченного товара;
оценка ущерба по цене получения конкретного товара;
оценка ущерба по цене отпуска конкретного товара;
- акт списания просроченного товара (Отчет 5), включающий
Ф.И.О. кладовщика, оформляющего акт списания
и для каждой единицы выданного товара
индекс просроченного товара;
наименование просроченного товара;
срок хранения просроченного товара в сутках;
индекс записи в таблице получения товара;
дата производства товара;
количество просроченного товара;
место хранения товара.
На основании задания с целью нормализации проектируемой БД
предлагается информационную суть объекта проектирования представить
девятью сущностями:
информация о товаре (справочник товара);
информация о получении товара;
информация о выдачи товара;
информация о квитанциях на получение товара;
информация о квитанциях на выдачу товара;
информация о кладовщиках;
информация о месте хранения товара;
информация о просроченных товарах;
17
информация об актах списания.
На рисунке 2.1 представлена концептуальная модель предметной области.
Запросы на выда-
Информация о чу выходных до- Информация
товаре кументов об актах
списания
Информация о
получении товара
БД ИС Выходные
“СКЛАД” про-
Информация о документы
довольствен-
выдачи товара ных товаров
Информация о
квитанциях на по- Информация о
лучение товара кладовщиках
18
Первое поле каждой сущности является главным ключом, который является
длинным целым типа счетчик и занимает четыре байта памяти.
Девять сущностей, представленных на рисунке 2.2 имеют следующие
имена:
информация о товаре (справочник товара) – Tovar;
информация о получении товара – Input;
информация о выдачи товара – Output;
информация о квитанциях на получение товара – Kvit_In;
информация о квитанциях на выдачу товара – Kvit_Out;
информация о кладовщиках – Kladov;
информация о месте хранения товара – Mesto_Chran;
информация о просроченных товарах – Prosrotch;
информация об актах списания – Akt_Spis.
Инфологическая модель ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ” отличается небольшой избыточностью. Количество товара на
складе хранится в двух сущностях (Tovar и Mesto_Chran). Очевидно, что
n
Tovar.Kol_ Tov_Skl Mesto_Chran.Kol_Tov i ,
i 1
19
Mesto_Chran Output
ind_Chran ind_Out Kvit_Out
Mesto_Chran ind_Kvit_Out ind_Kvit_Out
V_Cran ind_Tov Date_Out
Rem Kol_Tov ind_Kladov
Input Kol_Tov Stoim Itogo
Kvit_In ind_In ind_Chran
ind_Kvit_In ind_Kvit_In Tovar ind_In
Date_In ind_Tov ind_Tov
ind_Kladov Kol_Tov Tovar Prosrotch
Itogo Date_Proizv Ed_Chran Akt_Spis
ind_Prosr
Stoim Cena_In ind_Akt
ind_Akt
ind_Chran Cena_Out Date_Out
ind_Tov
Ost_Tov Kol_Tov_Skl ind_Kladov
Ost_Tov
Srok_Chran
ind_Chran
Kladov ind_In
ind_Kladov
FIO
Rem
КИУБиТ.080801.727 КР
Лит. Масса Масштаб
Изм. Лист № докум. Подп. Дата ИС “СКЛАД”
Р азраб. Кулаков А. продовольственных товаров.
Пров. Ильин А.
Т. контр. Инфологическая модель Лист 1 Листов 1
Конс.
Н. к онтр.
Кафедра ПИиМ
Старожилов
Утв. Обрубов Ю.
Группа ЕПИ-04
Рисунок 2.2 - ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”. Инфологическая модель
21
Типы атрибутов (полей) сущностей раскрыты далее в даталогической
модели БД.
23
Таблица 2.4 – Сущность
“Информация о квитанциях на получение товара” (Kvit_In)
№ Описание
Имя поля Тип данных
п/п
1. ind_Kvit_In Счетчик (Длинное Первичный индекс квитанции
целое) получения товара
2. Date_In Дата/время Дата получения товара
3. ind_Kladov Числовой Индекс кладовщика (вторичный
(Длинное целое) индекс)
4. Itogo Денежный Общая сумма по квитанции
25
№
Имя поля Тип данных Описание
п/п
целое) товара
2. Date_Akt Дата/время Дата формирования акта списания
3. ind_Kladov Числовой Индекс кладовщика
(Длинное целое)
В таблицах 2.1 – 2.9 представлены все атрибуты сущностей БД.
Даталогическая модель в полно смысле представляется объединением
инфологической модели (см. рисунок 2.2) с учетом типов атрибутов сущностей,
представленных в таблицах 2.1 – 2.9, т.е. в прямоугольниках, отражающих
сущности должна включаться информация из таблиц 2.1 – 2.9. С учетом
отмеченного, выполнять даталогическую модель разрабатываемой ИС в виде
отдельного чертежа не имеет смысла.
26
единица хранения товара на складе;
количество единиц хранения полученного товара;
стоимость полученных единиц хранения товара;
место хранения полученных единиц хранения товара.
- квитанция выдачи товаров со склада (Отчет 2), включающая
номер квитанции;
дату и время выдачи квитанции;
индекс кладовщика;
Ф.И.О. кладовщика;
общую сумму оплаты за выданный товар;
и для каждой единицы выданного товара
наименование товара;
цена отпуска товара;
единица хранения товара на складе;
количество единиц хранения полученного товара;
стоимость выданных единиц хранения товара;
место хранения выданных единиц хранения товара.
- отчет о наличии товаров на складе и их количестве на текущую дату
(Отчет 3), включающий
текущие дату и время;
и для каждой единицы товара, имеющейся на складе
наименование товара;
единица хранения товара на складе;
цена получения товара;
цена отпуска товара;
количество единиц хранения полученного товара.
- отчет об ущербе от просроченного товара (Отчет 4), включающий
контрольную дату;
оценку ущерба по цене получения товара;
27
оценку ущерба по цене отпуска товара;
Ф.И.О. кладовщика, оформляющего акт списания
и для каждой единицы выданного товара
наименование товара;
индекс товара;
единица хранения товара;
цена получения товара;
цена отпуска товара;
количество просроченного товара;
оценка ущерба по цене получения конкретного товара;
оценка ущерба по цене отпуска конкретного товара;
- акт списания просроченного товара (Отчет 5), включающий
Ф.И.О. кладовщика, оформляющего акт списания
и для каждой единицы выданного товара
индекс просроченного товара;
наименование просроченного товара;
срок хранения просроченного товара в сутках;
индекс записи в таблице получения товара;
дата производства товара;
количество просроченного товара;
место хранения товара.
Разработанные концептуальная модель предметной области,
инфологическая и даталогическая модели ИС позволяют приступить к
разработке программного обеспечения ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”.
28
2.2. Программное обеспечение ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”
29
3) Отчет “Наличие товара на складе” (Tov_Nal) можно получить с формы
диалога – “Главная кнопочная форма” (Main_F нажатием кнопки “Наличие
товара на текущие дату и время” (B_Nal_Tov). Отчет “Наличие товара на
складе” – Отчет 3;
4) отчет о просроченном товаре можно получить с формы диалога –
“Списание просроченного товара” (Spis_Tov) нажатием кнопки “Отчет о
просроченном товаре” (B_Prosr_Tov). Отчет о просроченном товаре – Отчет 4;
5) акт списания просроченного товара в виде отчета можно получить с
формы диалога – “Списание просроченного товара” (Spis_Tov) нажатием
кнопки “Акт списания” (B_Akt_Spis). Акт списания просроченного товара –
Отчет 5.
30
Главная кнопочная форма
Mesto_Chran
КИУБиТ.080801.727 КР
ind_Chran
Лит. Масса Масштаб
Mesto_Chran Отчет Отчет ИС “СКЛАД”
Изм. Лист № докум. Подп. Дата
V_Chran 1 2 Р азраб. Кулаков А. продовольственных товаров.
Rem Пров. Ильин А. Схема диалога
Kol_Tov Т. контр. Лист 1 Листов 1
Конс.
Н. к онтр.
Кафедра ПИиМ
Ильин А.
Утв. Обрубов Ю.
Группа ЕПИ-04
Рисунок 2.3 - ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”. Схема диалога
32
Описание форм диалога и формирование рассмотрено ниже.
1 6 2 3 7 4 5
8 10 11 12 9
34
3 1 4 2 12
5 7 10 6 8 9 11
35
из таблицы “Информация о товаре (справочник товара)” (Tovar). Источником
строк записей списка товаров является запрос, который на языке SQL
представлен ниже
SELECT Tovar.ind_Tov, Tovar.Ed_Chran FROM Tovar;
Индекс хранения товара (ind_Chran) (выноска 7) редактируется на основе
визуального компонента список мест хранения товаров (выноска 8), что
позволяет не запоминать индексы, а выбирать их по названиям мест хранения и
другой информации из таблицы “Информация о месте хранения товара”
(Mesto_Chran). Источником строк записей списка мет хранения товаров
является запрос, который на языке SQL представлен ниже (разработан автором)
36
Рисунок 2.6б - Ведение таблицы “Информация о получении товара” (Input)
В запросе формирования строк записей списка мет хранения товаров
(оператор SELECT) присутствуют 5 полей, а на рисунке 2.6б – только три поля.
Из-за малой информативности полей Mesto_Chran.ind_Chran и
Mesto_Chran.Rem их ширина задана – 0 см. Первое поле – место хранения
товара, второе - наименование товара, а третье – количество единиц хранения
товара.
Форма Ведение таблицы “Информация о получении товара” (Input) (см.
рисунки 2.6а и 2.6б) нужна лишь для редактирования таблицы БД
“Информация о получении товара” (Input). При формировании квитанции
получения товара необходимые поля таблицы Input заполняются
автоматизированно в результате диалога на основе формы 'Ведение таблицы
“Информация о квитанциях на выдачу товара” (Kvit_Out)', рассмотренной
ниже.
На рисунке 2.7 приведена экранная форма для ведения таблицы БД ИС
“Информация о выдаче товара” (Output).
37
Рисунок 2.7 - Ведение таблицы “Информация о выдаче товара” (Output)
Ведение таблицы “Информация о выдаче товара” (Output) мало по
функциональным возможностям отличается от ведения таблицы “Информация
о получении товара” (Input) (см. рисунки 2.6 а и б). Только обновление
стоимости реализуется не на основе цены получения товара, а на основе цены
отпуска. Щелчком по кнопке “Обновить стоимость” запускается запрос на
обновление, который разработан на основе конструктора запросов и на языке
SQL представлен ниже.
38
Рисунок 2.8 - Ведение таблицы “Информация о кладовщиках” (Kladov)
1 7
4
2
3 5 6
39
2–поле обозначения места хранения (Mesto_Chran) – ручной ввод при
редактировании и добавлении записей;
3–поле вместимости места хранения (V_Chran) в единицах хранения
товара;
4–поле количества товара (Kol_Tov) на текущее время в месте хранения
в единицах хранения товара;
5–поле описания места хранения (Rem). Как уже отмечалось выше, в
результате подстановки в таблице Mesto_Chran вместо поля Rem отражается
индекс товара из таблицы Tovar в символьном виде;
6–поле со списком описания места хранения товара – позволяет на
основе списка редактировать поле описания места хранения (Rem).
Источником строк записей списка описания мет хранения товаров
является запрос, который на языке SQL представлен ниже.
40
1 6 4 2 7 5 8 3
41
нажатия на кнопки “Просмотр отчета по квитанции” и “Печать отчета по
квитанции” рассмотрена ниже и в приложении А.
Следует отметить, что формирование одинаковых по форме и
содержанию отчетов по квитанциям получения/выдачи товаров возможно с
двух форм:
Ведение таблицы “Информация о квитанциях на получение/выдача
товара” (Kvit_In, Kvit_Out) (две формы – одна на получение и другая – на
выдачу товаров) и
Формирования квитанции получения/выдачи товаров (Kvit_In_F,
Kvit_Out_F) (две формы – одна на получение и другая – на выдачу товаров).
Учитывая это, подробно отчеты формирования соответствующих квитанций
будут рассмотрены лишь для форм формирования квитанции
получения/выдачи товаров (Kvit_In_F, Kvit_Out_F).
Выноской 9 обозначена подчиненная форма/отчет для отображения
информации о товарах, входящих в конкретную квитанцию. Источником
записей подчиненной формы/отчета является запрос Kvit_In_, который на языке
SQL представлен ниже.
42
Рисунок 2.11 - Ведение таблицы
“Информация о квитанциях на выдачу товара” (Kvit_Out)
43
Программное обеспечение поддержки формы представлено в приложении
Б. Все операторы VBA, полученные без участия построителя,
прокомментированы.
Форма позволяет добавлять и удалять записи таблицы “Информация о
квитанциях на выдачу товара” (Kvit_Out).
Все выходные документы формируются на основе отчетов MS Access.
4 3
44
3–поле со списком для выбора места хранения получаемого товара. При
раскрытии списка элемента в его строках вместе с наименованием места
хранения отображается наименование товара, количество товара в месте
хранения и допустимое количество товара в месте хранения (в единицах
хранения). Источник строк списка является запросом, на языке SQL который
представлен ниже.
46
Таблица 2.10 - Формирование Ф.И.О. выбранного пользователя
Имя
№
визуального Данные Формат поля Описание
п/п
компонента
1. Date_Time =Формы!Kvit_In_F!Date_In Полный Дата и время
формат даты формирования
квитанции
2. ind_Kvit =Формы!Kvit_In_F!ind_Kvit_In Числовой Индекс квитанции
3. Kladov =Формы!Kvit_In_F! Текстовый Ф.И.О. кладовщика
Sel_Kladov.Text
4. Itogo =Формы!Kvit_In_F!Itogo Денежный Сумма по
квитанции
Значения полей, обозначенных выносками 1– 4, берутся из формы
формирования квитанции получения товара (Kvit_In_F) (см. рисунок 2.12) из
свойств компонентов Date_In, ind_Kvit_In, Sel_Kladov и Itogo, соответственно.
На рисунок 2.15 представлен пример отчета о формировании квитанций
для выбираемого клиента.
47
товара (см. рисунок 2.12).
При необходимости можно получить твердую копию квитанции
получения товара, нажав кнопку “Печать отчета по квитанции”.
Отчет легко просмотреть в MS Word и сохранить в формате RTF.
48
Форма Форма
№ Обзозначение формирования формирования
п/п характеристики квитанции квитанции выдачи
получения товара товара
3. Запрос подчиненной формы Kvit_In_F Kvit_Out_F
4. Дополнительная таблица Input Output
49
1
50
На рисунке 2.19 представлен пример отчета о формировании квитанции
выдачи товара со склада.
51
FROM Tovar
WHERE (((Tovar.Kol_Tov_Skl)>0))
ORDER BY Tovar.Tovar;
52
Рисунок 2.21 - Пример формы отчета о наличии товаров на складе
продовольственных товаров и их количестве на текущую дату
53
1 5 6 7 3 8
4 10 9
55
Код запроса Obn_Kol_TO на языке SQL, реализующего корректировку
количества товаров в таблицах “Информация о получении товара” (Input),
“Информация о месте хранения товара” (Mesto_Chran), а также полей индекс
кладовщика (ind_Kladov) и итоговая стоимость (Itogo) таблицы “Информация
об актах списания просроченных товаров” (Akt_Spis):
UPDATE Tovar INNER JOIN (Mesto_Chran INNER JOIN (Kvit_Out INNER JOIN ([Input]
INNER JOIN [Output] ON Input.ind_In = Output.ind_In) ON
Kvit_Out.ind_Kvit_Out = Output.ind_Kvit_Out) ON
(Mesto_Chran.ind_Chran = Output.ind_Chran) AND (Mesto_Chran.ind_Chran = Input.ind_Chran))
ON (Tovar.ind_Tov = Output.ind_Tov) AND (Tovar.ind_Tov = Input.ind_Tov)
SET [Input].Ost_tov = Input!Ost_tov-Forms!Kvit_Out_F!Kol_Tov,
Mesto_Chran.Kol_Tov = Mesto_Chran!Kol_Tov-Forms!Kvit_Out_F!Kol_Tov,
Tovar.Kol_Tov_Skl = Tovar!Kol_Tov_Skl-Forms!Kvit_Out_F!Kol_Tov, [Output].Kol_Tov =
Forms!Kvit_Out_F!Kol_Tov, Kvit_Out.ind_Kladov = Forms!Kvit_Out_F!ind_Kladov,
Kvit_Out.Itogo = Kvit_Out!Itogo+Output!Stoim
WHERE (((Kvit_Out.ind_Kvit_Out)=[Forms]![Kvit_Out_F]![ind_Kvit_Out]) AND
((Output.ind_Out)=DLast([Output]![ind_Out],"Output")) AND
((Input.ind_In)=[Forms]![Kvit_Out_F]![ind_In]));
56
1 2
57
2 1 3
58
На рисунке 2.25 представлен пример отчета об ущербе от просроченного
товара.
59
Акт списания просроченного товара в режиме конструктора представлен
на рисунке 2.26
60
Mesto_Chran.ind_Chran = Input.ind_Chran) ON Tovar.ind_Tov = Input.ind_Tov
WHERE (((Input.Ost_tov)>0) AND
((DateValue([Input]![Date_Proizv])+[Tovar]![Srok_Chran])<[Forms]![Spis_Tov]![Date_Real]))
ORDER BY Tovar.Tovar;
61
2.3. Технологическое обеспечение ИС “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ”
62
2.4. Руководство пользователя ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”
mi xi , (2.2)
где mi , xi - вещественные переменные, а n 10 - целая переменная.
Не смотря на простоту реализуемых функций, ИС “Склад
продовольственных товаров” значительно сокращает время формирования
выходных документов.
64
3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА
Эп - прямой эффект.
65
К трудовым показателям относятся:
- абсолютное снижение трудовых затрат;
- коэффициент относительного снижения трудовых затрат;
- индекс снижения трудовых затрат или повышения.
Абсолютное снижение трудовых затрат рассчитывается как разница
между трудовыми затратами на обработку информации по старой
методике и трудовыми затратами на обработку информации по
проектируемому варианту:
T T0 T1 , (3.2)
где T – абсолютное снижение трудовых затрат;
T0 – трудовые затраты на обработку информации по базовому варианту;
варианту.
Коэффициент относительного снижения трудовых затрат рассчитывается
как отношение абсолютного снижения трудовых затрат к трудовым затратам по
базовому варианту:
T
KT , (3.3)
T0
66
T1 - трудовые затраты на обработку информации по проектируемому
варианту.
C C0 C1 , (3.5)
варианту.
Коэффициент относительного снижения стоимостных затрат
рассчитывается как отношение абсолютного снижения стоимостных затрат к
стоимостным затратам на обработку информации по базовому варианту:
C
KC , (3.6)
C0
67
стоимостным затратам на обработку информации по проектируемому варианту:
C
IC 0 , (3.7)
C1
варианту;
C1 - стоимостные затраты на обработку информации по проектируемому
варианту.
В связи с вышеизложенным, при выявлении экономической
эффективности информационной системы “СКЛАД ПРОДОВОЛЬСТВЕННЫХ
ТОВАРОВ” будет рассчитываться прямой эффект.
В рассматриваемой организации при существующей технологии получения,
хранения и отпуска продовольственных товаров использовались папки и журналы
для учета товаров, а также затраченных и полученных средств. Компьютер
практически не использовался. Проектируемый вариант разрабатывался с целью
автоматизации процесса учета товаров, а также затраченных и полученных
средств, с целью создания и ведения базы данных хранимых
продовольственных товаров, позволяющей автоматизировать формирование
отчетных документов. Поэтому, за основу расчета прямого эффекта
целесообразно взять сопоставление операций существующего (базового) и
внедряемого (проектируемого) вариантов, то есть анализ затрат, необходимых для
выполнения всех операций процесса хранения продовольственных товаров и
формирования отчетных документов.
Прямой эффект вычисляется следующим образом (годовая экономия):
Э C0 E H K 0 C1 E H K1 , (3.8)
где Э – прямой эффект;
C0 – текущие стоимостные затраты при базовом варианте;
68
K 0 – капитальные вложения в базовом варианте;
69
З/ПЛ спец. – месячная зарплата специалиста, занимающегося
программированием;
K чел. – количество человек;
70
1
EP , (3.14)
TOK
TOK
K1 K 0 , (3.15)
C
1
TH , (3.16)
EH
71
отпуску продовольственных товаров, обработка документов по списанию
продовольственных товаров, формирование отчетов.
Расчет трудовых и стоимостных затрат при базовом варианте представлен в
таблице 3.1.
72
Таблица 3.2 - Расчет трудовых и стоимостных
затрат при проектируемом варианте
74
25
20
15 Получение
Выдача
10 Списание
Отчетность
5
0
базовый вариант проектируемый вариант
2500
2000
1500 Получение
Выдача
1000 Списание
Отчетность
500
0
базовый вариант проектируемый вариант
75
нашем
случае равны 5,35 , так как стоимостные затраты зависят от трудовых
затрат.
2. Внедрение проекта позволяет сократить трудовые и cтоимостные
затраты на 81,32%. При этом, как видно из диаграмм меняется соотношение
затрат. Так, трудовые затраты на обработку данных на этапе прихода
комплектующих и расходных материалов при проектируемом варианте
уменьшились в 3,2 раза, тогда как на всех остальных этапах сократились в 5 раз, а
при формировании отчетов - сократились в 12,5 раз. То же самое можно сказать и
про стоимостные затраты.
3. Прямой эффект от внедряемого проекта при грубых расчетах
составит около 7400 рублей в год. Данная сумма напрямую зависит от
заработной платы специалиста, выполняющего данную работу. Заработная плата
специалиста невысокая, а значит и прямой эффект не очень высок.
76
ЗАКЛЮЧЕНИЕ
Цель ДП, заключающаяся в сокращение времени формирования
выходных документов (квитанция получения товаров на склад (Отчет 1);
квитанция выдачи товаров со склада (Отчет 2); отчет о наличии товаров на
складе и их количестве на текущую дату (Отчет 3); отчет об ущербе от
просроченного товара (Отчет 4); акт списания просроченного товара (Отчет 5))
на основе использования разработанной ИС, достигнута.
Показатели эффективности от внедрения проекта представлены в таблице
3.3 пояснительной записки. По результатам расчетов, представленных в
таблице 3.3 можно сделать следующие выводы:
1. Индексы изменения трудовых (IT) и стоимостных (IС) затрат в нашем
случае равны 5,35 , так как стоимостные затраты зависят от трудовых затрат.
2. Внедрение проекта позволяет сократить трудовые и cтоимостные
затраты на 81,32%. При этом, как видно из диаграмм меняется соотношение
затрат. Так, трудовые затраты на обработку данных на этапе прихода
комплектующих и расходных материалов при проектируемом варианте
уменьшились в 3,2 раза, тогда как на всех остальных этапах сократились в 5 раз, а
при формировании отчетов - сократились в 12,5 раз. То же самое можно сказать и
про стоимостные затраты.
3. Прямой эффект от внедряемого проекта при грубых расчетах составит
около 7400 рублей в год. Данная сумма напрямую зависит от заработной платы
специалиста, выполняющего данную работу. Заработная плата специалиста
невысокая, а значит и прямой эффект не очень высок.
Во время работы над ДП закреплены основные навыки для проведения
этапов проектирования БД, выбрана СУБД создания и ведения БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”.
77
В результате работы над ДП решены следующие задачи:
проведен обзор методов построения ИС БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”. Выбрана СУБД для создания и ведения
БД;
разработана концептуальная модель ИС БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”;
разработана инфологическая модель ИС БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”;
разработана даталогическая модель БД ИС БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”;
разработаны формы выходных документов ИС БД ИС “СКЛАД
ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”;
разработаны запросы для формирования таблиц, на основе которых
формируются выходные документы;
разработаны экранные формы, позволяющие в режиме диалога вести
БД ИС БД ИС “ СКЛАД ПРОДОВОЛЬСТВЕННЫХ ТОВАРОВ”, формировать
отчеты выходных документов;
разработаны отчеты, позволяющие по предложенным формам
формировать выходные документы;
разработаны модули программного обеспечения на VBA, позволяющие
формировать квитанции и выходные документы.
При решении задач автоматизации склада продовольственных товаров
большую помощь оказали учебные пособия руководителя проекта [7, 11].
В целом получены практические навыки проектирования ИС.
78
СПИСОК ЛИТЕРАТУРЫ
1. Байгарова Н.С. Организация управления базами визуальных данных //
Н.С. Байгарова, Ю.А. Бухштаб, А.А. Воробьев, А.А. Горный. - М., 2008. 21 с.
2. Бекаревич Ю.Б. MS Access 2000 за 30 занятий: [Технология разраб. баз
данных от проектирования до создания прил. : Практ. пособие] // Юрий
Бекаревич, Нина Пушкина. - СПб. [и др.]: БХВ-Санкт-Петербург, 2007. 492 с.
3. Волгин В.В. Кладовщик: Устройство складов. Склад. операции. Упр.
складом. Норматив. док. -М.:Ось-89, 2002. 270 с.
4. Волгин В.В. Склад: Логистика. Управление. Анализ: Учебное пособие
для подготовки специалистов по управлению складскими операциями и
товарными запасами. - М: Изд.-торговая корпорация "Дашков и Кº", 2009. 196 с.
5. Волгин В.В. Склад: организация и управление : Практ. Пособие.
-М.:Дашков и К° 2002. 361 с.
6. Дейт К. Дж. Введение в системы баз данных. - 6-е изд. - М.,
СПб.,Киев, Изд. дом Вильяме, 2008. 245с.
7. Дзюбенко А.Л., Ильин А.А. Мишин П.Н. и др. Информационные
технологии управления: Учебное пособие / под ред. Ю.В. Обрубова. - М.: Изд-
во "Ваш Домъ", 2006. 192 с.
8. Диго С.М. Создание баз данных в среде СУБД Access Учебное
пособие по курсу “Базы данных” / Моск. гос. ун-т экономики, статистики и
информатики. - М., 2006. 106 с.
9. Дубнов, П.Ю. Access 2009: Проектирование баз данных:
Конвертирование баз. данных из различ. программ. сред. Формирование
макросов при диалоге с базой данных. Выполнение нестандарт. запросов при
помощи Visual Basic . - М.: ДМК, 2005. 271 с.
79
10.Золотова С.И. Практикум по Aссеss: Подгот. курс, предваряющий
более глубокое изучение технологии баз данных // С. И. Золотова. - М.:
Финансы и статистика, 2009. 141 с.
11.Ильин А.А., Евсюков В.В., Ильин Р.А. Информатика: Учебное
пособие. – М.: Серебряная нить, 2005. 376 с.
12.Когаловский М.Р. Энциклопедия технологий баз данных: Эволюция
технологий. Технологии и стандарты. Инфраструктура. Терминология // М.Р.
Когаловский. - М.: Финансы и статистика, 2007. 798 с.
13.Курганов В.М. Логистика. Транспорт и склад в цепи поставок товаров:
Учебное пособие для студентов высших учебных заведений. -М: Кн. мир, 2009.
212 с.
14.Мамаев Е. MS SQL Server 7.0: проектирование и реализация баз
данных // Евгений Мамаев.- СПб.[и др.]: Cbhv, [2008].416 с.
15. Манжосов, Г.П. Современный склад. Организация и технология.
-М. КИА центр 2006. 219 с.
16.Новалис С. Access 2007: Руководство по VBA: Разработка собств. баз
дан. и проектов с помощью VBA : Учеб. рук. и справ. для опыт. пользователей
и разраб. // [Науч. ред. А. Бернштейн; Пер. А. Киселева ]. - М.: Лори, 2000.- XII,
506 с.
17. Подольский М.П. Введение в 1C-бухгалтерию : Тонкости, советы и
способы работы : [Автоматизация бухгалт. учета. Принципы компьютер.
бухгалтерии. Аналит. учет. 1C: бухгалтерия без проводок!. 1C: предприятие.
1C: торговля и склад. 1C: зарплата и кадры. 1C: проблема 2000. -М.: Познават.
кн. плюс 2000. 191 с.
18.Селищев Н.В. 1С: Торговля и Склад 7.7: шаг за шагом: Учебное.
Пособие. -М: ТРИУМФ, 2007. 232 с.
19.Хортон Р. Разработка баз данных Microsoft SQL server 2000 на
примерах: [Изучение процесса разраб. базы данных SQL Server 2000 на прим.
создания прил. SpyNet] // Роб Хортон; [Пер. с англ. В. В. Александрова и др.]. -
М. [и др.]: Вильямс, 2005. 460 с.
80
20.Чертовской В. Д., Шеховцов О. И. Объектно-ориентированный подход
в построении баз данных: Учеб. пособие для студентов, обучающихся по
специальности 220200 "Автоматизир. системы обраб. информ. и упр." М-во
образования Рос. Федерации. С.-Петерб. ин-т (фил.) Моск. гос. 222 с.
21.Шаша Д., Бонне Ф. Оптимизация баз данных: принципы, практика,
решение проблем / Пер. с англ. - М.:КУДиЦ - ОБРАЗ, 2006. 432 с.
81
ПРИЛОЖЕНИЕ А.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ ВЕДЕНИЯ ТАБЛИЦЫ
“ИНФОРМАЦИЯ О КВИТАНЦИЯХ НА ПОЛУЧЕНИЕ
ТОВАРА” (Kvit_In)
Option Compare Database
' Просмотреть отчет
Private Sub B_Ot_Kvit_In_Click()
On Error GoTo Err_B_Ot_Kvit_In_Click
Err_B_Ot_Kvit_In_Click:
MsgBox Err.Description
Resume Exit_B_Ot_Kvit_In_Click
End Sub
' Напечатать отчет
Private Sub B_Print_Kvit_In_Click()
On Error GoTo Err_B_Print_Kvit_In_Click
82
Sel_Kladov.SetFocus ' Установить фокус на визуальный компонент Sel_Kladov
stDocName = "Kvit_Tovar_In"
DoCmd.OpenReport stDocName, acNormal
Err_B_Print_Kvit_In_Click:
MsgBox Err.Description
Resume Exit_B_Print_Kvit_In_Click
End Sub
' Открыть форму
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , "", acLast ' Отобразить на форме последнюю запись
End Sub
' Удалить текущую запись
Private Sub B_Del_Rec_Click()
On Error GoTo Err_B_Del_Rec_Click
Exit_B_Del_Rec_Click:
Exit Sub
Err_B_Del_Rec_Click:
MsgBox Err.Description
Resume Exit_B_Del_Rec_Click
End Sub
83
ПРИЛОЖЕНИЕ Б.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ ВЕДЕНИЯ ТАБЛИЦЫ
“ИНФОРМАЦИЯ О КВИТАНЦИЯХ НА ВЫДАЧУ ТОВАРА” (Kvit_Out)
Option Compare Database
' Открыть форму
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , "", acLast ' Отобразить на форме последнюю запись
End Sub
' Просмотреть отчет
Private Sub B_Ot_Kvit_Click()
On Error GoTo Err_B_Ot_Kvit_Click
stDocName = "Kvit_Tovar_Out"
DoCmd.OpenReport stDocName, acPreview
B_Ot_Kvit.SetFocus ' Установить фокус на кнопку B_Ot_Kvit
Exit_B_Ot_Kvit_Click:
Exit Sub
Err_B_Ot_Kvit_Click:
MsgBox Err.Description
Resume Exit_B_Ot_Kvit_Click
End Sub
' Напечатать отчет
Private Sub B_Pr_Out_Kvit_Click()
On Error GoTo Err_B_Pr_Out_Kvit_Click
84
Dim stDocName As String
Sel_Kladov_FIO.SetFocus ' Установить фокус на визуальный компонент Sel_Kladov
stDocName = "Kvit_Tovar_Out"
DoCmd.OpenReport stDocName, acNormal
B_Ot_Kvit.SetFocus ' Установить фокус на кнопку B_Ot_Kvit
Exit_B_Pr_Out_Kvit_Click:
Exit Sub
Err_B_Pr_Out_Kvit_Click:
MsgBox Err.Description
Resume Exit_B_Pr_Out_Kvit_Click
End Sub
' Удалить текущую запись
Private Sub B_Del_Rec_Click()
On Error GoTo Err_B_Del_Rec_Click
Exit_B_Del_Rec_Click:
Exit Sub
Err_B_Del_Rec_Click:
MsgBox Err.Description
Resume Exit_B_Del_Rec_Click
End Sub
85
ПРИЛОЖЕНИЕ В.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ ФОРМИРОВАНИЯ
КВИТАНЦИИ ПОЛУЧЕНИЯ ТОВАРА” (Kvit_In_F)
Option Compare Database
Dim bs As Database ' База данных
Dim tab_01, tab_02, tab_04 As Recordset ' Таблицы базы данных
' Поиск записи по первичному ключу методом дихотомии
Public Sub Find_Rec(r_tab As Recordset, ind As Integer)
Dim i, i1, i2, k As Integer
r_tab.MoveFirst
k = r_tab.Fields(0).Value
If k = ind Then Exit Sub ' Если индекс в первой записи = ind
r_tab.MoveLast
k = r_tab.Fields(0).Value
If k = ind Then Exit Sub ' Если индекс в последней записи = ind
i1 = 1 ' i1 := 1
i2 = r_tab.RecordCount ' i2 := количество_записей_в_таблице
While Abs(i1 - i2) <> 0 ' Пока не найдется запись с ключом ind
i = Int((i1 + i2) / 2)
' If i > r_tab.RecordCount Then i = r_tab.RecordCount
r_tab.MoveFirst
r_tab.Move (i)
k = r_tab.Fields(0).Value
If k = ind Then Exit Sub
If ind > k Then
i1 = i
Else
i2 = i
End If ' Конец If
Wend ' Конец цикла While
86
End Sub
87
tab_02.Fields(4).Value = Kol_Tov.Value * tab_04.Fields(3).Value ' Выбор стоимости товара
tab_04.Edit ' Редактировать таблицу Tovar
Kol = tab_04.Fields(5).Value ' Kol := Количество_товара_на_складе
Kol = Kol + Kol_Tov.Value ' Прибавка товара на складе
tab_04.Fields(5).Value = Kol
tab_04.Update ' Обновить результаты редактирования таблицы "Tovar"
tab_02.Update ' Обновить результаты редактирования таблицы "Input"
Form_Kvit_In_F.Refresh ' Отобразить на форме результаты редактирования
End Sub
' Просмотр отчета по квитанции
Private Sub B_Ot_Kvit_In_F_Click()
On Error GoTo Err_B_Ot_Kvit_In_F_Click
Err_B_Ot_Kvit_In_F_Click:
MsgBox Err.Description
Resume Exit_B_Ot_Kvit_In_F_Click
End Sub
' Печать отчета по квитанции
Private Sub B_Print_Kvit_In_F_Click()
On Error GoTo Err_B_Print_Kvit_In_F_Click
88
B_Print_Kvit_In_F.SetFocus ' Установить фокус на кнопке B_Print_Kvit_In_F
Exit_B_Print_Kvit_In_F_Click:
Exit Sub
Err_B_Print_Kvit_In_F_Click:
MsgBox Err.Description
Resume Exit_B_Print_Kvit_In_F_Click
End Sub
' Открытие формы
Private Sub Form_Open(Cancel As Integer)
Set bs = CurrentDb ' bs := текущую базу данных ("Sklad")
Set tab_01 = bs.OpenRecordset("Kvit_In") ' tab_01 связать с таблицей "Kvit_In"
tab_01.MoveLast ' Встать на последнюю запись таблицы "Kvit_In"
tab_01.AddNew ' Добавить запись в таблицу "Kvit_In"
tab_01.Fields(1).Value = Date + Time ' Вставить текущую дату/время
tab_01.Fields(2).Value = 1 ' Вставить в запись 1-го кладовщика (по умолчанию)
tab_01.Fields(3).Value = 0 ' Обнулить поле Itogo
tab_01.Update ' Обновить результаты редактирования таблицы "Kvit_In"
Form_Kvit_In_F.Refresh ' Отобразить на форме результаты редактирования
DoCmd.GoToRecord , "", acLast ' Отобразить на форме последнюю запись
End Sub
' Закрытие формы
Private Sub B_Close_Click()
On Error GoTo Err_B_Close_Click
DoCmd.Close
Exit_B_Close_Click:
Exit Sub
Err_B_Close_Click:
MsgBox Err.Description
Resume Exit_B_Close_Click
End Sub
89
ПРИЛОЖЕНИЕ Г.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ ФОРМИРОВАНИЯ
КВИТАНЦИИ ВЫДАЧИ ТОВАРА” (Kvit_Out / Kvit_Out_F)
Option Compare Database
Dim bs As Database ' База данных
Dim tab_01, tab_02, tab_03, tab_04 As Recordset ' Таблица базы данных
' Добавить товар в квитанцию выдачи
Private Sub Add_Tov_Click()
Call B_Add_Out_Click ' Добавить отпущенный товар
Call B_Rec_Out_Click ' Изменить количество товара и его стоимость в таблицах БД
End Sub
90
tab_01.Fields(1).Value = Date + Time ' Вставить текущую дату/время
tab_01.Fields(2).Value = 1 ' Вставить в запись 1-го кладовщика (по умолчанию)
tab_01.Fields(3).Value = 0 ' Обнулить поле Itogo
tab_01.Update ' Обновить результаты редактирования таблицы "Kvit_Out"
Sel_Tov.SetFocus
Refresh ' Отобразить на форме результаты редактирования
DoCmd.GoToRecord , "", acLast ' Отобразить на форме последнюю запись
End Sub
91
MsgBox Err.Description
Resume Exit_B_Kvit_Out_F_Click
End Sub
92
Err_B_Rec_Out_Click:
MsgBox Err.Description
Resume Exit_B_Rec_Out_Click
End Sub
93
ПРИЛОЖЕНИЕ Д.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФОРМЫ ФОРМИРОВАНИЯ
КВИТАНЦИИ ВЫДАЧИ ТОВАРА” (Kvit_Out / Kvit_Out_F)
' Формирование таблиц списания
Private Sub B_Tab_Akt_Click()
' Добавить запись в таблицу Akt_Spis
Dim bs As Database ' База данных
Dim tab_01 As Recordset ' Таблица базы данных
Set bs = CurrentDb ' bs := текущую базу данных ("Sklad_PT")
Set tab_01 = bs.OpenRecordset("Akt_Spis") ' tab_01 связать с таблицей "Akt_Spis"
tab_01.AddNew
tab_01.Fields(1).Value = Date
tab_01.Fields(2).Value = ind_Kladov.Value
tab_01.Update
' Добавить таблицу просроченных товаров (Prosrotch)
Call B_Add_Tov_Click
' Удалить из таблиц Input, Mesto_Cran, Tovar просроченные товары
Call B_Del_Tov_Click
End Sub
94
Dim stDocName As String
stDocName = "Akt_Spis"
Sel_Kladov.SetFocus ' Установить фокус на списке кладовщиков
DoCmd.OpenReport stDocName, acPreview
Exit_B_Akt_Spis_Click:
Refresh ' Обновить форму
B_Akt_Spis.SetFocus ' Установить фокус на кнопке просмотра акта списания
Exit Sub
Err_B_Akt_Spis_Click:
MsgBox Err.Description
Resume Exit_B_Akt_Spis_Click
End Sub
Exit_B_Prin_Akt_Click:
Exit Sub
95
Err_B_Prin_Akt_Click:
MsgBox Err.Description
Resume Exit_B_Prin_Akt_Click
End Sub
96
Dim stDocName As String
stDocName = "Prosr_Tov"
Sel_Kladov.SetFocus ' Установить фоккус на спике кладовщиков (Sel_Kladov)
DoCmd.OpenReport stDocName, acPreview
Exit_B_Prosr_Tov_Click:
Refresh ' Обновить форму
B_Prosr_Tov.SetFocus ' Установить фоккус на кнопке B_Prosr_Tov
Exit Sub
Err_B_Prosr_Tov_Click:
MsgBox Err.Description
Resume Exit_B_Prosr_Tov_Click
End Sub
97