Разработка автоматизированной системы учета материальных ценностей
Обзор аналогов систем учета материальных ценностей, существующих на рынке. Проектирование ER-модели базы данных и таблиц с помощью Mysql 5.6, PHP 5.5, jQuery 1.8.3 и Bootstrap. Разработка интерфейса для пользователей. Составление документации к системе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 11.02.2017 |
Размер файла | 5,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
В рамках данного дипломного проекта была разработана автоматизированная система учёта материальных ценностей «АС УМЦ».
Использование такой системы позволяет решить следующие задачи:
· Повышение эффективности и достоверности учета движения материальных ценностей;
· Уменьшение вероятности ошибок, вызванных «человеческим фактором»;
· Сокращение трудозатрат и временных издержек по учету движения материальных средств;
· Уменьшение вероятности воровства и несанкционированного использования материальных средств;
· Улучшение контроля за составом, местонахождением и перемещением материальных ценностей;
· Возможность обработать полученные материалы для создания системы внутреннего контроля и принять управленческие решения.
Современный рынок имеет небольшое количество таких систем, некоторые из которых являются громоздкими и требуют специальных знаний от пользователя. В отличие от аналогов система «АС УМЦ» учитывает все достоинства и недостатки аналогичных программный продуктов, не требует наличия выхода в глобальную сеть, является кроссплатформенным программным обеспечением.
Проблема
На данный момент существует несколько проблем, связанных с текущим учетом материальных ценностей, а именно:
· контроль передвижения материальных ценностей из одного подразделения в другое,
· передача имущества сторонней организации,
· фиксирование материальной ценности за ответственным лицом,
· синхронизация данных между несколькими организациями / объектами
· возможность загрузки данных из EXCEL или 1C,
· выгрузка данных в формате EXCEL, Word, PDF,
· отсутствие удобного интерфейса для пользователя,
· администрирование программы осуществляется только специалистами узкого профиля.
Постановка задачи. Цель данного проекта -- предоставить пользователям систему по учёту материальных ценностей, которая выполняет широкий ряд функций, является простой в эксплуатации, не имеет специальных требований для работы с ней. Одним из важных требований к системе является обеспечение защиты и сохранности данных, потому что главными пользователями такой системы являются крупнопромышленные предприятия, военные производственные объекты.
Для достижения поставленной цели необходимо выполнить следующие задачи:
1. Провести обзор, оценить возможности современных систем, предназначенных для учёта материальных ценностей.
2. Провести обзор языков программирования и сделать обоснованный выбор одного из них.
3. Провести обзор систем управления базами данных и сделать обоснованный выбор одной из них.
4. Спроектировать ER-модель базы данных и структуру таблиц.
5. Разработать программные модули, выполняющие необходимые в системе функции.
6. Разработать интерфейс для пользователей системы.
7. Провести оценку эффективности разработанной системы.
8. Разработать документацию к системе.
1. Обзор аналогов
Рассмотрим следующие системы учета материальных ценностей, существующие на рынке:
Microsoft Excel -- офисная программа для работы с электронными таблицами. Создана корпорацией Microsoft для Microsoft Windows, Windows NT и Mac OS. Она предоставляет возможность хранить, организовывать, анализировать информацию, проводить экономические расчеты. Программа имеет графические инструменты и язык макропрограммирования VBA (Visual Basic for Application) [1].
Функции программы позволяют проводить практически любые манипуляции с цифрами. Электронная таблица является основным средством, которая используется для обработки и анализа цифровой информации с помощью средств вычислительной техники. При этом кроме числовых и финансовых операций, Microsoft Excel может использоваться в процессе анализа данных, при построении графиков.
Программа имеет только табличный интерфейс. При организации информации в одном файле любой пользователь, открывший файл, открывает и все его рабочие листы. Google Docs -- бесплатный онлайн-офис, включающий в себя текстовый, табличный процессор и сервис для создания презентаций, а также интернет-сервис облачного хранения файлов с функциями файлообмена, разрабатываемый компанией Google [2]. Это программное обеспечение, работающее в рамках веб-браузера без установки на компьютер пользователя. Таблицы и документы, которые создал и загрузил в программу пользователь, сохраняются на сервере Google. Файлы также могут быть экспортированы в файл. Ключевым преимуществом сервиса является то, что доступ к данным на сервере Google может осуществляться с любого компьютера, имеющего выход в глобальную сеть. Доступ к данным защищен паролем [2].
Рисунок 1 -- Внешний вид интерфейса Microsoft Excel
Рисунок 2 -- Внешний вид интерфейса Google Docs.
Из недостатков нужно отметить сбои -- в такие моменты редактировать документ невозможно. Сервис требует наличие интернета. Согласно соглашению, которое пользователь заключает с компанией, Google (и партнеры) имеют разрешение на применение, хранение, воспроизведение, модификацию (к примеру, перевод, либо другие изменения, в случае если это нужно для правильной работы с нашими сервисами), и еще право публикации и общественной демонстрации загруженного файла.
1С:Предприятие -- автоматизированная комплексная программа, помогающая вести налоговый учет. Позволяет автоматически формировать необходимые документы, проводить расчёты, проверять отчетность, анализировать деятельность предприятия [3].
Внешний вид программы 1С:Предприятие представлен на рисунке 3.
Программа позволяет автоматизировать различные участки учёта:
· Учёт материально-производственных запасов, средств и активов.
· Учёт различных операций и расчётов.
· Учёт доходов, расходов, в том числе индивидуальных предпринимателей.
· Учёт различных видов налогов.
· Учёт деятельности, облагаемой единым налогом на вмененный доход.
1С:Предприятие требует специальных знаний от пользователя. При обновлении платформы достаточно часто пользователи сталкиваются с тем, что лицензионные ключи перестают работать. Распространена проблема некорректной работы нового функционала. Это приводит к парализации работы компании и несению убытков.
МойСклад -- коммерческий продукт для управления торговлей и складского учёта, предназначенный для автоматизации малого и среднего бизнеса. Облачный сервис реализует функции обработки заказов, управления продажами и закупками, складского учёта и контроля финансовых расчетов [4].
Программа Мои?Склад
· позволяет оптимизировать учет складских запасов, операции?, товаров, товарооборота, заказов, остатков и движения финансовых средств,
· интегрируется с программами автоматизации бухгалтерского и налогового учета,
· выводит на печать необходимую информацию в виде документов по унифицированным или создаваемым пользователем шаблонам (счета, фактуры, накладные и т.п.).
На рисунке 4 представлен внешний вид программы Мои?Склад.
Рисунок 3 -- Внешний вид интерфейса 1С:Предприятие
Обязательным условием работы программы является наличие выхода в интернет. Организации, имеющие только локальную сеть, например, военные или засекреченные предприятия, не могут быть пользователями этой программы.
Рисунок 4 -- Внешний вид интерфейса Мои?Склад.
АСУ ТМЦ (Автоматизированная система учета товарно-материальных ценностей) -- автоматизированная программа, помогающая вести налоговый учет. Автоматически проводит расчёты, формирует документы, проверяет отчетность, анализирует деятельность предприятия [5].
АСУ ТМЦ позволяет осуществлять:
• постановку на учет ТМЦ;
• инвентаризацию ТМЦ с помощью ручных RFID считывателей;
• поиск заданного ТМЦ по RFID метке;
• контроль правильности подбора ТМЦ по документу (накладной);
• контроль движения (отгрузки) ТМЦ;
• формирование отчетов о результатах инвентаризации и фактах движения;
• интеграцию с существующими учетными системами.
Ниже представлен внешний вид программы АСУ ТМЦ (Рисунок 5).
Рисунок 5 -- Внешний вид интерфейса АСУ ТМЦ.
АСУ ТМЦ требует специальных знаний от пользователя. Отсутствует разграничение прав доступа: каждый зарегистрированный пользователь может редактировать и удалять любую информацию в программе. В программе возможен только экспорт в EXCEL.
По результатам обзора аналогов была составлена сравнительная таблица (Таблица 1).
Таблица 1 -- Сравнение аналогов
Аналог/ Критерий |
EXCEL |
Google Docs |
1C:Бухгалтерия |
МойСклад |
АСУ ТМЦ |
|
Удобный интерфейс |
+/- |
+ |
+ |
+ |
+ |
|
Поиск/ Фильтрация |
+ |
+ |
+ |
+ |
+ |
|
Интеграция с существующими системами |
+ |
+/- |
+ |
+ |
+/- |
|
Специальное обучение пользователей |
+ |
+ |
- |
+ |
- |
|
Индивидуальная настройка системы под пользователя |
+/- |
+/- |
+ |
- |
+/- |
|
Не требует выхода в глобальную сеть |
+ |
- |
+ |
- |
+ |
|
Разграничены права доступа |
- |
- |
+ |
+ |
- |
|
Стабильный результат установки обновлений |
+ |
+ |
- |
+ |
+ |
Исходя из таблицы 1 было принято решение о создании собственной системы учёта материальных ценностей, учитывающей все имеющиеся недостатки конкурентов.
Методы и средства разработки.
При разработке Системы были использованы современные веб-технологии: AJAX, LAMP. Используемые программные средства, языки программирования, библиотеки: Mysql 5.6, PHP 5.5, jQuery 1.8.3 и Bootstrap.
Выбор средства разработки определяется:
а) сжатыми сроками на разработку программного продукта;
б) необходимостью интеграции с информационной система управления «Промышленная безопасность и охрана труда» (ИСУ ПБиОТ), являющейся продуктом компании ООО «Бреалит». Движок системы ИСУ ПБиОТ написан на PHP 5.5, использует систему управления базами данных Mysql 5.6 и библиотеки , jQuery 1.8.3 и Bootstrap.
Выбор средств разработки. База данных MySQL
MySQL - это реляционная система управления базами данных. Она не предназначена для работы с большими объемами информации, но её оптимально использовать для создания как небольших, так и достаточно крупных интернет сайтов, [6].
MySQL отличатся высокой скоростью работы, надежностью, гибкостью. Поддержка сервера MySQL автоматически включается в поставку PHP [6].
Краткий перечень возможностей MySQL [7]:
· Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных.
· Скорость работы быстрее, чем у других СУБД
· Количество строк в таблицах может достигать более 50 млн.
· Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.
· Простая и эффективная система безопасности.
· Поддержка вложенных запросов.
· Реализована поддержка транзакций.
· Поддержка триггеров, хранимых процедур, внешних ключей.
Недостатки MySQL [7]:
· Поддержка транзакций не достаточно хорошо проверена.
· Медленная разработка.
· Некоторые движки MySQL не поддерживают полнотекстовый поиск.
Язык PHP
PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) - это распространенный язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и его код может внедряться непосредственно в HTML [8].
Преимущества PHP [9]:
· является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);
· легок в освоении на всех этапах;
· поддерживается большим сообществом пользователей и разработчиков;
· имеет развитую поддержку баз данных;
· имеется огромное количество библиотек и расширений языка;
· может использоваться в изолированной среде;
· предлагает нативные средства организации веб-сессий, программный интерфейс расширений;
· является довольно полной заменой проприетарной среды ASP (Active Server Pages) от Microsoft;
· может быть развёрнут почти на любом сервере;
· портирован под большое количество аппаратных платформ и операционных систем.
Недостатки PHP [9]:
· не подходит для создания десктопных приложений или системных компонентов;
· имеет слабые средства для работы с исключениями;
· глобальные параметры конфигурации влияют на базовый синтаксис языка, что затрудняет настройку сервера и разворачивание приложений;
· объекты передаются по значению, что смущает многих программистов, привыкших к передаче объектов по ссылке, как это делается в большинстве других языков;
· веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.
Библиотека jQuery
Библиотека jQuery -- это библиотека, содержащая элементы управления JavaScript. Она позволяет упростить разработку приложений, основанных на JavaScript, особенно содержащих AJAX и другие технологии, ориентированные на использование в сети. JavaScript совместно с различными диалектами XML стал активно использоваться в разработке пользовательских интерфейсов как веб-приложений. JavaScript вместе с CSS (каскадными таблица стилей) используется для создания динамических сайтов [10].
jQuery может [11]:
· обращаться к любому элементу DOM (объектной модели документа) и не только обращаться, но и манипулировать ими;
· работать с событиями;
· легко осуществлять различные визуальные эффекты;
· работать с AJAX (очень полезная технология, позволяющая общаться с сервером без перезагрузки страницы, но пока мы ее трогать не будем);
· имеет огромное количество JavaScript плагинов, предназначенных для создания элементов пользовательских интерфейсов.
Инструменты для верстки Bootstrap
Bootstrap -- это CSS/HTML фреймворк для создания сайтов, разработанный компанией Twitter.
Преимущества Bootstrap [12]:
· Скорость работы -- благодаря множеству готовых элементов создание сайтов занимает значительно меньше времени;
· Масштабируемость -- добавление новых элементов не нарушает общую структуру;
· Лёгкая настраиваемость -- редактирование стилей производится путём создания новых css-правил, которые исполняются вместо стандартных.
· Большое количество шаблонов;
· Огромное сообщество разработчиков;
· Широкая сфера применения -- Bootstrap используется в создании тем для практически любой CMS (OpenCart, Prestashop, Magento, Joomla, Bitrix, WordPress и любые другие), в том числе для одностраничных приложений.
Система управления версиями Mercurial
Mercurial-- кроссплатформенная распределённая система управления версиями, разработанная для эффективной работы с очень большими репозиториями кода. В первую очередь она является консольной программой [13].
Достоинства [14]:
· Быстрая обработка данных.
· Кросплатформенная поддержка.
· Возможность работы с несколькими ветками проекта.
· Простота в обращение.
· Возможность конвертирования репозиториев других систем поддержки версий.
Недостатки [14]:
· Возможные (но низкие) совпадения хеш - кода отличных по содержанию ревизий.
· Ориентирован на работу в консоли.
Чтобы облегчить работу с системой управления версиями была использована графическая оболочка TortoiseHg (Рисунок 6).
Рисунок 6 -- Диалоговое окно программы Mercurial (TortoiseHg).
2. Разработка системы
Таблица 2 -- Основные термины и понятия
Термин |
Пояснение |
|
Система |
В контексте данного проекта -- «Автоматизированная система учёта материальных ценностей». |
|
Подотчётный объект |
В контексте данного проекта -- организация (офис), которая вносит, редактирует и удаляет данные в Системе. Измененные данные являются неутвержденными и ожидают подтверждения или отклонения в Главном управлении. |
|
Главное Управление |
В контексте данного проекта -- организация (офис), которая контролирует те данные, которые были внесены, отредактированы или удалены в Системе. |
|
QForm |
Название RAD-Фреймворка, на котором построена Система. |
|
БД |
База Данных |
2.1 Особенности работы Системы
Система устанавливается в Главном Управлении и Подотчётных объектах. Главное Управление, контролирует те данные, которые пользователи на Подотчётных объектах вносят, редактируют или удаляют в Системе. Такой подход позволяет уменьшить вероятность воровства и несанкционированного использования материальных средств, проследить перемещение имущества, вовремя принять управленческие решения.
Интерфейс и возможности пользователя отличаются в программе, установленной в Главном Управлении и Подотчётных объектах.
2.2 Описание интерфейса системы
Работа со меню и списками
Внешний вид списка
Пример внешнего вида списка приведен на рисунке 7.
Рисунок 7 -- Внешний вид списка.
Каждый раздел Системы представляет собой список. В верхнем меню можно перемещаться по разделам.
Кнопка позволяет пользователю выбрать колонки, которые он хочет видеть в списке, а также скрыть ненужные. Кнопка обновляет данные в таблице. Панель поискапомогает быстро найти необходимую информацию среди представленных данных.
Кнопки присутствуют только на Подотчётных объектах и необходимы для добавления, редактирования и удаления информации, соответственно. Кнопки "Изменить" и "Удалить" недоступны для выбора, пока не выбрана одна или несколько записей.
При двойном клике на запись в списке информация будет предоставлена на просмотр без возможности редактирования.
Кнопки экспортируют выбранные или все записи в Excel или выводят на печать.
Значок подсказывает, что означает цветовое выделение записей.
Рисунок 8 -- Описание элементов списка
Записей в списке может быть большое количество, поэтому, чтобы быстро найти нужную информацию, предусмотрены возможности поиска, сортировки и фильтрации данных (Рисунок 9).
Рисунок 9 -- Описание элементов списка
Фильтры располагаются справа от списка. Можно выбрать значения у нескольких фильтров одновременно. Если в фильтре выбрано значение, он подсвечивается желтым цветом. Крестик, справа от названия фильтра, сбрасывает значение фильтра. Наверху указано, сколько фильтров было выбрано .
В панель поиска допустимо вводить любой текст. Найденные соответствия окрасятся в желтый цвет. Чтобы быстро сбросить поиск, следует воспользоваться крестиком, расположенным справа в панели поиска.
По любой колонке можно воспользоваться сортировкой. Кликнув один раз по заголовку колонки, данные отсортируются в алфавитном порядке или по возрастанию. Для сортировки в обратном порядке, требуется кликнуть повторно на заголовок. При этом символ, расположенный справа от заголовка колонки сменит изображение на треугольник, показывающий направление сортировки. Чтобы отменить сортировку, нужно нажать на заголовок ещё раз. Также можно сортировать по нескольким колонкам, по очереди кликая на них, с зажатой клавишей Shift.
Прямо под списком располагается указано количество записей (число может быть сокращено при использовании поиска или при выборе фильтра), а также переключатель страниц , с помощью которого можно «перелистывать» список.
Работа с меню
В верхнем меню рядом с названием раздела отображается в цветном кружке количество записей по признаку:
- Желтый -- количество изменённых и новых записей,
- Красный -- количество отклонённых записей,
- Светло-серый -- количество утверждённых записей, направленных на удаление,
- Голубой -- количество непрочитанных сообщений.
Пример верхнего меню представлен на рисунке 10.
Рисунок 10 -- Меню системы.
При нажатии на цветной кружок, пользователь переходит по ссылке в раздел с выбранным фильтром (Рисунок 11):
Рисунок 11 -- Отфильтрованные данные.
2.3 Добавление и редактирование данных
Возможность вводить и редактировать информацию предоставлена только Подотчётным объектам. Центральный офис может только просматривать данные, подтверждать или отклонять те изменения, которые были внесены сотрудниками удаленных объектов или удалять записи.
Для того чтобы добавить или отредактировать данные, предусмотрены кнопки «Добавить», «Изменить» соответственно. При нажатии на кнопку откроется форма с полями для заполнения. Пример модального окна представлен на рисунке 12.
Рисунок 12 -- Описание элементов списка
Поля с красной звездочкой обязательны для заполнения. В форме есть закладки, переместившись на которые откроются новые поля для заполнения.
Чтобы сохранить запись, можно воспользоваться одной из трех кнопок (или комбинацией кнопок на клавиатуре):
-- сохранит и закроет форму.
-- сохранит форму. Форма для редактирования останется открытой. Это удобно, когда вносится много изменений, чтобы предотвратить их потерю.
-- сохранит текущую форму и откроет чистую форму для создания новой записи.
Чтобы отклонить внесенные изменения, нужно нажать на кнопку .
На некоторых закладках могут вводиться данные, которые требуют, чтобы данная запись была сохранена ранее.
При создании новой записи на некоторых вкладках требуется сохранение записи (Рисунок 13). После сохранения, на такой закладке появятся поля для ввода информации.
Рисунок 14 -- Сообщение о том, что запись нужно сохранить.
На некоторых закладках могут присутствовать внутренние списки, которые работают вышеописанным образом. Например, на рисунке 14 представлен список материальных ценностей, закреплённых за выбранным ответственным лицом.
Рисунок 14 -- Встроенный список.
После сохранения, измененные и новые записи в списке окрасятся в желтый цвет (Рисунок 15). Это означает, что внесённые изменения ещё не подтверждены в Главном Управлении.
Рисунок 15 -- Измененные записи выделены желтым цветом.
Новые записи обозначены подсказкой справа от названия. Измененные записи обозначены символом справа от названия. Чтобы посмотреть историю внесенных изменений, необходимо выделить запись, нажать на кнопку «Изменить» и перейти на вкладку «История изменений» или нажать на значок рядом .
Рисунок 16 -- История изменений.
В истории изменений отображается название поля, которое было отредактировано, значение поля до и после сохранения записи, а также автор и время редактирования. Желтым цветом выделены последние изменения, белым цветом выделены изменения, которые были внесены ранее и подтверждены в Главном Управлении. Пример представлен на рисунке 16.
При дальнейшем редактировании таких записей будет дополняться только история изменений.
2.4 Система обсуждений
В каждой форме присутствует закладка «Обсуждения», где пользователи Центрального Управления и Подотчетных Объектов могут обмениваться сообщениями относительно выбранной записи (Рисунок 17).
Рисунок 17 -- Система обсуждений.
После написания сообщения, пользователь нажимает кнопку . Кнопка становится недоступной для нажатия, надпись на ней меняет значение на «Отправляю». После того как кнопка отработает, сообщение появится в списке. Внизу будет указана дата и время отправки. Если сообщение не было передано, справа от сообщения появятся знак восклицания и кнопка с пиктограммой для повторной отправки сообщения. Неотправленные сообщения можно удалить, с помощью крестика в правом углу сообщения. При этом возникнет модальное окно, где пользователю потребуется подтвердить удаление.
Новые принятые сообщения имеют надпись new! справа от сообщения. Чтобы отметить все новые сообщения, как прочитанные, необходимо нажать кнопку . Автоматический просмотр сообщений отключен, потому что сообщение, предназначенное для одного пользователя, может быть просмотрено другим.
В списке количество сообщений написано в изображении чата (Рисунок 18). В желтом кружке указано количество непрочитанных сообщений, в красном -- количество неотправленных сообщений.
Рисунок 18 -- Количество сообщений в списке.
Возможности Главного Управления. Отличительной особенностью Главного Управления является то, что на главной странице изображена карта с Подотчетными объектами (Рисунок 19).
Рисунок 19 -- Карта с Подотчётными Объектами.
-- Попытка установить связь с объектом.
Размещено на http://www.allbest.ru/
-- Не удалось установить связь с объектом.
Размещено на http://www.allbest.ru/
-- Связь с объектом установлена.
Размещено на http://www.allbest.ru/
На карте отображается процесс установки связи с серверами Подотчетных Объектов. При наведении курсора на изображение можно получить подсказку о состоянии связи на данный момент.
Под изображением Объекта в цветных кружках находится информация о подразделениях, ответственных лицах, отредактированных и удаленных записях, а также о количестве полученных сообщений (Рисунок 20).
Наведя курсором на каждый кружок можно получить подсказку.
Пульсация вокруг изображения объекта обозначает, что в списках есть неподтверждённые записи.
При нажатии на изображение Объекта появляется модальное окно с подробной информацией по разделам (Рисунок 21).
Рисунок 20 -- Информация о Подотчётном Объекте.
-- количество материально ответственных лиц.
-- количество подразделений.
-- количество новых и отредактированных записей. Число в кружке пульсирует, если есть такие записи.
-- количество записей, направленных на удаление. Число в кружке пульсирует, если есть такие записи.
-- количество непрочитанных сообщений.
Рисунок 21 -- Модальное окно с информацией о Подотчётном Объекте.
Название раздела является ссылкой, которая ведет в одноименный раздел. Каждый цветной кружок тоже является ссылкой, которая ведет в одноименный раздел, но с отфильтрованными данными.
2.5 Подтверждение и отклонение измененных/направленных на удаление записей
В списке Главного Управления есть кнопки «Подтвердить» и «Отклонить», расположенные справа от списка (Рисунок 22).
Рисунок 22 -- Кнопки «Подтвердить» и «Отклонить».
Выбрав одну или несколько таких записей, пользователь Главного Управления, может воспользоваться одной из них. При отклонении записей, появляется модальное окно, в котором можно указать причину отклонения
Рисунок 23 -- Поле для ввода причины отклонения записей.
Если связь с Отчётным Объектом отсутствует, об этом будет сообщено пользователю Главного Управления и кнопки не сработают. При наличии связи с Отчетным Объектом, включается режим транзакции. Первый действием происходит обновление статуса выбранных записей в Отчетном Объекте. После этого обновляется статус записей в Главном Управлении. Если хоть одно из этих действий оказывается невыполненным, то срабатывания кнопки не происходит.
При успешном срабатывании кнопки в истории изменений появляется запись о том, кто и когда подтвердил/отклонил изменения.
При подтверждении внесенных изменений, запись(и) меняют статус на «утвержденные» и окрашиваются в белый цвет. При отклонении внесенных изменений записи меняют статус на «отклоненные» и окрашиваются в красный цвет.
При подтверждении удаления записей, они удаляются из списка. При отклонении удаления, записи меняют статус на «утвержденные».
Удаление
Удаление записей доступно как в Подотчетных Объектах, так и в Главном Управлении. Чтобы удалить записи, необходимо выбрать их из списка и нажать кнопку «Удалить».
Удаляя в Главном Управлении записи, они исчезают из списка, в то время, как действие «Удалить» в Подотчетных Объектах различается для утвержденных и неутвержденных записей. Рассмотрим действие кнопки «Удалить» для разных случаев.
После удаления утвержденных записей, они окрашиваются в серый цвет, но не исчезают из списка. Редактирование таких записей невозможно, потому что они направлены в Главное Управление для подтверждения или отклонения удаления.
Удаление измененных и отклоненных записей является удалением внесённых изменений. Происходит возврат до последней утвержденной версии. В истории изменений удаляются последние изменения.
При удалении новых, еще не подтвержденных записей, происходит их полное удаление из списка.
Любые удаленные записи можно восстановить, так как в таблице за признак удаления отвечает отдельное поле deleted. При deleted = 1 записи считаются удаленными.
2.6 Типы и виды полей для ввода данных
Типы полей ограничивают вводимую пользователем информацию по содержанию. В Системе используются следующие типы полей данных:
Text. Поле ввода текста в одну строку (Рисунок 24). Может быть разной длины. В такое поле допускается вводить любую информацию.
Рисунок 24 -- Текстовое поле.
Textarea. Поле ввода для текста в несколько строк (Рисунок 25). В такое поле допускается вводить любую информацию. При вводе большого количества информации справа от поля появляется полоса прокрутки.
Рисунок 25 -- Текстовое многострочное поле.
Int. Поле для ввода целых чисел (Рисунок 26). В некоторых полях типа int допустимо вводить только неотрицательные числа, например, «Количество материальных ценностей».
Рисунок 26 -- Поле для ввода чисел.
Date. Поле для ввода даты (Рисунок 27). Данные в такое поле можно ввести вручную или, нажав на , выбрать значение из календаря.
Рисунок 27 -- Поле для ввода даты.
Сheckbox. Поле для установки галочки типа «да»/«нет» (Рисунок 28).
Рисунок 28 -- Поле для выбора «да»/«нет».
Radiobutton. Поле выбора одного значения из нескольких возможных (Рисунок 29).
Рисунок 29 -- Поле для выбора одного из несколькиз значений.
Dropdown. Выпадающий список значений, среди которых пользователь может выбрать только одно (Рисунок 30). Имеет строку поиска, для того, чтобы быстро найти нужное значение.
Рисунок 30 -- Выпадающий список.
Рядом с названиями полей может присутствовать символ . При нажатии на него появляется всплывающая подсказка (Рисунок 31).
Рисунок 31 -- Подсказка к полю.
Поле, на котором стоит курсор, подсвечивается голубым сиянием и может содержать информацию о лимите вводимых значений (Рисунок 32).
Рисунок 32 -- Ограничение количества символов.
Поля, имеющие красную звездочку рядом с названием, являются обязательными для заполнения (Рисунок 33).
Рисунок 33 -- Поле, обязательное для заполнения
Следует отметить назначение полей, которые встречаются во всех таблицах:
· id -- уникальный идентификатор записи
· company_id -- значение поля из таблицы companies, а именно, компания, к которой относится запись
· comment -- примечание. Пользователь на свое усмотрение может добавить комментарий как для себя. Так и для остальных пользователей Системы.
· deleted -- признак удаления. Если значение поля равно 0, то запись считается не удалённой и отображается в списке. Если пользователь удаляет выбранные записи, они полностью не стираются из таблицы, меняется только значение флага deleted на 1. Такие записи легко восстановить в основном списке, поменяв вручную значение поля deleted на 0.
· creator -- автор создания записи. В поле записывается идентификатор из таблицы users (пользователи Системы). Поле creator связано внешним ключом (foreign key) с полем id в таблице users.
· author -- автор последней редакции записи. В поле записывается идентификатор из таблицы users (пользователи Системы). Поле author связано внешним ключом (foreign key) с полем id в таблице users.
· created -- дата и время создания записи. В поле после сохранения новой записи записывается текущая дата и время с учётом часового пояса.
· lastchanged -- дата и время последней редакции записи. В поле после сохранения новой или отредактированной записывается текущая дата и время с учётом часового пояса.
Следует отметить назначение полей, которые встречаются в таблицах, которые синхронизируются между Главным Управлением и Подотчётными объектами:
· oid -- уникальный идентификатор записи на Подотчетном Объекте. На сервере Подотчетного Объекта равен id записи. На сервере Главного Управления уникальным ключом является значение полей company_id и oid.
· rootid -- значение oid родительской записи. При создании записи rootid равен oid.
· signed -- статус записи. Если значение поля signed равно -1, то запись отклонена, если signed равно 0, то запись была отредактирована и ожидает подтверждения/отклонения, если signed равно 1, то запись является подтвержденной.
· is_last -- признак последней утвержденной записи. Если значение поля is_last равно 1, значит текущая запись является утвержденной, в противном случае, запись либо не является утвержденной, либо является не последней утвержденной.
· is_last_draft -- признак последнего черновика. Если значение поля is_last_draft равно 1, значит текущая запись является последним отредактированным черновиком.
· for_delete -- если значение равно 1, то запись направлена на удаление.
Ниже приведена структура таблиц, которые были разработаны мною в процессе разработки Системы.
Таблица companies
В этой таблице (Таблица 3) хранятся данные о компаниях (Главном Управлении и Подотчетных Объектах).
Таблица 3 -- Структура таблицы companies
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
int(10) |
AUTO_INCREMENT |
ID записи |
|
MUL |
company_id |
int(11) |
NULL |
ID компании |
|
|
fullname |
varchar(255) |
NULL |
Наименование |
|
|
city |
varchar(255) |
'' |
Город |
|
|
addr_u |
mediumtext |
NULL |
Юридический адрес |
|
|
addr_p |
mediumtext |
NULL |
Фактический адрес |
|
|
ip_addr |
varchar(50) |
NULL |
IP адрес сервера |
|
|
phone |
varchar(255) |
NULL |
Телефон(ы) |
|
|
latitude |
float |
0 |
Широта расположения организации |
|
|
longitude |
float |
0 |
Долгота расположения организации |
|
|
last_sync |
datetime |
NULL |
Дата и время последней успешной синхронизации |
|
|
is_main |
tinyint(3) |
0 |
1 - Главное Управление, 0 - Подотчётный объект |
|
|
comment |
varchar(255) |
NULL |
Примечание |
|
|
deleted |
int(10) |
0 |
Признак удаления. 1 - удалено, 0 - нет |
|
MUL |
author |
int(11) |
NULL |
Автор записи |
|
|
lastchanged |
timestamp |
NULL |
Дата-время последнего изменения |
|
MUL |
creator |
int(11) |
NULL |
Создатель записи |
|
|
created |
timestamp |
CURRENT_ |
Дата-время создания записи |
|
TIMESTAMP |
Таблица assets
В этой таблице хранятся данные о материальных ценностях (таблица 4).
Таблица 4 -- Структура таблицы assets
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
int(10) |
AUTO_INCREMENT |
ID записи |
|
UNI |
oid |
int(10) |
NULL |
ID записи для синхронизации |
|
company_id |
int(11) |
NULL |
ID компании из таблицы companies |
||
MUL |
rootid |
int(10) |
NULL |
ID родительской записи из текущей таблицы |
|
|
is_last |
tinyint(4) |
0 |
1 - последняя утвержденная версией |
|
|
is_last_draft |
tinyint(4) |
0 |
1 - последний черновиком |
|
signed |
tinyint(4) |
0 |
Статус. 1 - утверждено, 0 - ожидает подтверждения,-1 - отклонено |
||
|
title |
varchar(511) |
NULL |
Название |
|
|
category |
tinyint(3) |
NULL |
Категория |
|
|
org_id |
int(10) |
NULL |
ID сторонней организации из таблицы organizations |
|
|
did |
int(10) |
NULL |
ID подразделения из таблицы departments |
|
|
pid |
int(10) |
NULL |
ID материально ответственного лица из таблицы persons |
|
MUL |
class_id |
int(10) |
NULL |
Класс |
|
|
mark |
varchar(255) |
NULL |
Тип, марка |
|
|
inv_num |
varchar(255) |
NULL |
Инвентарный номер |
|
|
unit_measure |
varchar(50) |
NULL |
Единица измерения |
|
|
cnt |
double |
1 |
Количество |
|
|
cost |
double |
NULL |
Цена за единицу |
|
|
sponsor |
int(11) |
NULL |
Спонсор |
|
|
balance |
tinyint(3) |
NULL |
1 - на балансе, 2 - за балансом |
|
|
adate |
date |
NULL |
Дата постановки на учёт |
|
|
canceled |
tinyint(3) |
NULL |
1 - имущество списано, 0 - нет |
|
|
cancel_case |
date |
NULL |
Основание для списания |
|
|
cancel_act |
varchar(255) |
NULL |
Акт списания материальных ценностей |
|
|
cancel_date |
date |
NULL |
Дата списания |
|
|
rosim |
tinyint(3) |
NULL |
1 - передано в Росимущество, 2 - принято из Росимущества |
|
|
rosim_act |
varchar(255) |
NULL |
Акт передачи / приема из Росимущества |
|
|
rosim_act_date |
date |
NULL |
Дата акта передачи / приема |
|
|
rosim_date |
date |
NULL |
Дата передачи / приема из Росимущества |
|
|
for_delete |
tinyint(3) |
0 |
1 - Запись направлена к удалению |
|
|
comment |
varchar(255) |
NULL |
Примечание |
|
|
deleted |
int(10) |
0 |
Признак удаления. 1 - удалено, 0 - нет |
|
MUL |
author |
int(11) |
NULL |
Автор записи |
|
|
lastchanged |
timestamp |
NULL |
Дата-время последнего изменения |
|
MUL |
creator |
int(11) |
NULL |
Создатель записи |
|
|
created |
timestamp |
CURRENT_ |
Дата-время создания записи |
|
TIMESTAMP |
|||||
Таблица 5 -- Структура таблицы departments
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
INT(10) |
AUTO_INCREMENT |
ID записи |
|
UNI |
oid |
INT(10) |
NULL |
ID записи для синхронизации |
|
company_id |
INT(11) |
NULL |
ID компании из таблицы companies |
||
|
rootid |
INT(10) |
NULL |
ID родительской записи из текущей таблицы |
|
|
is_last |
TINYINT(4) |
0 |
1 - последняя утвержденная версией |
|
|
is_last_draft |
TINYINT(4) |
0 |
1 - последний черновиком |
|
|
signed |
TINYINT(4) |
0 |
Статус. 1 - утверждено, 0 - ожидает подтверждения, -1 - отклонено |
|
|
fullname |
VARCHAR(255) |
NULL |
Наименование подразделения |
|
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
|
disband |
TINYINT(3) |
0 |
1 - подразделение расформировано |
|
|
disband_dt |
DATE |
NULL |
Дата, когда было расформировано |
|
|
disband_doc |
INT(10) |
NULL |
Название документа о расформировании |
|
|
comment |
VARCHAR(255) |
NULL |
Примечание |
|
|
for_delete |
TINYINT(3) |
0 |
1 - Запись отправлена на удаление |
|
|
comment |
VARCHAR(255) |
NULL |
Примечание |
|
|
deleted |
INT(10) |
0 |
Признак удаления. 1 - удалено, 0 - нет |
|
MUL |
author |
INT(11) |
NULL |
Автор записи |
|
|
lastchanged |
TIMESTAMP |
NULL |
Дата-время последнего изменения |
|
MUL |
creator |
INT(11) |
NULL |
Создатель записи |
|
|
created |
TIMESTAMP |
CURRENT_ |
Дата-время создания записи |
|
TIMESTAMP |
Таблица documents
В этой таблице хранятся сообщения, которые привязаны к идентификатору структурного подразделения (таблица 6).
Таблица 6 -- Структура таблицы document
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
INT(10) |
AUTO_INCREMENT |
ID записи |
|
UNI |
oid |
INT(10) |
NULL |
ID записи для синхронизации |
|
company_id |
INT(11) |
NULL |
ID компании из таблицы companies |
||
|
rootid |
INT(10) |
NULL |
ID родительской записи из текущей таблицы |
|
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
|
is_last |
TINYINT(4) |
0 |
1 - последняя утвержденная версией |
|
|
is_last_draft |
TINYINT(4) |
0 |
1 - последний черновиком |
|
|
signed |
TINYINT(4) |
0 |
Статус. 1 - утверждено, 0 - ожидает подтверждения,-1 - отклонено |
|
|
adate |
DATE |
NULL |
От какого числа документ |
|
|
title |
VARCHAR(255) |
NULL |
Название документа |
|
|
comment |
VARCHAR(255) |
NULL |
Примечание |
|
|
for_delete |
TINYINT(3) |
0 |
1 - Запись отправлена на удаление |
|
|
comment |
VARCHAR(255) |
NULL |
Примечание |
|
|
deleted |
INT(10) |
0 |
Признак удаления. 1 - удалено, 0 - нет |
|
MUL |
author |
INT(11) |
NULL |
Автор записи |
|
|
lastchanged |
TIMESTAMP |
NULL |
Дата-время последнего изменения |
|
MUL |
creator |
INT(11) |
NULL |
Создатель записи |
|
|
created |
TIMESTAMP |
CURRENT_ |
Дата-время создания записи |
Таблица organizations
В этой таблице данные об организациях-арендаторах (таблица 7).
Таблица 7 -- Структура таблицы organizations.
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
INT(10) |
AUTO_INCREMENT |
ID записи |
|
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
UNI |
oid |
INT(10) |
NULL |
ID записи для синхронизации |
|
company_id |
INT(11) |
NULL |
ID компании из таблицы companies |
||
|
rootid |
INT(10) |
NULL |
ID родительской записи из текущей таблицы |
|
|
is_last |
TINYINT(4) |
0 |
1 - последняя утвержденная версией |
|
|
is_last_draft |
TINYINT(4) |
0 |
1 - последний черновиком |
|
|
signed |
TINYINT(4) |
0 |
Статус. 1 - утверждено, 0 - ожидает подтверждения,-1 - отклонено |
|
|
title |
VARCHAR(255) |
NULL |
Наименование организации |
|
|
comment |
VARCHAR(255) |
NULL |
Примечание |
|
|
for_delete |
TINYINT(3) |
0 |
1 - Запись отправлена на удаление |
|
|
addr |
MEDIUMTEXT |
NULL |
Адрес |
|
|
phone |
VARCHAR(255) |
NULL |
Телефон(ы) |
|
|
deleted |
INT(10) |
0 |
Признак удаления. 1 - удалено, 0 - нет |
|
MUL |
author |
INT(11) |
NULL |
Автор записи |
|
|
lastchanged |
TIMESTAMP |
NULL |
Дата-время последнего изменения |
|
MUL |
creator |
INT(11) |
NULL |
Создатель записи |
|
|
created |
TIMESTAMP |
CURRENT_ |
Дата-время создания записи |
|
TIMESTAMP |
Таблица persons
В этой таблице хранятся данные о материально ответственных лицах (таблица 8).
Таблица 8 -- Структура таблицы persons
Ключ |
Название поля |
Тип данных/ длина символов |
Значение по умолчанию |
Примечание |
|
PRI |
id |
int(10) |
AUTO_INCREMENT |
ID записи |
...
Подобные документы
Система управления базами данных MySQL. Управление БД MySQL при помощи инструмента phpmyadmin. Принципы учета товарно-материальных ценностей. Спецификация оборудования, необходимого для нормального функционирования базы данных учета. Создание скрипта.
дипломная работа [1,4 M], добавлен 16.08.2015Исследование свойств системы управления базами данных Firebird. Разработка базы данных для автоматизации учета товарно-материальных ценностей. Изучение главных сущностей и атрибутов, присутствующих в данной базе данных. Построение связей между сущностями.
курсовая работа [832,8 K], добавлен 23.02.2014Разработка системы учета товарно-материальных ценностей с использованием стандартных методологий функционального и информационного моделирования. Экономические параметры разработки и внедрения информационной системы. Разработка клиентской части системы.
дипломная работа [1,7 M], добавлен 03.04.2013Этапы создания автоматизированной системы учета договоров на предприятии: определение входной и выходной информации, проектирование базы данных методом "сущность-связь" и CASE-средствами, разработка интерфейса, составление руководства пользователя.
курсовая работа [2,5 M], добавлен 15.01.2011Анализ функциональной структуры автоматизированной системы управления. Обоснование необходимости создания подсистемы учета материальных средств, проектирование информационной базы данных. Расчет себестоимости разработки внедряемого программного продукта.
дипломная работа [5,4 M], добавлен 26.06.2011Обзор и анализ информационных систем по учету материальных ценностей в международной практике. Информационная система для учёта материальных средств ООО "Железногорский комбикормовый завод". Выбор средств, инструментов для создания информационной системы.
дипломная работа [1,2 M], добавлен 23.12.2014Внешний, концептуальный и внутренний уровень архитектуры ANSI/SPARC. Логическая и физическая модель. Основные требования к функциям системы. SQL скрипты, триггеры, последовательности, запросы базы данных "Бухгалтерия (учет материальных ценностей)".
курсовая работа [1,7 M], добавлен 03.12.2014Общие сведенья о РУП "Гомсельмаш". Экономические показатели деятельности предприятия. Данные об отделе управления технического и сервисного обслуживания продукции. Система учета движения товарно-материальных ценностей. Разработка структуры базы данных.
дипломная работа [1,5 M], добавлен 26.12.2012Детализация функций системы и требования к информационной системе. Анализ категорий пользователей. Этапы внедрения автоматизированной информационной системы на предприятии. Описание таблиц базы данных. Защита данных от несанкционированного доступа.
дипломная работа [1,0 M], добавлен 22.07.2015Характеристика программы базы данных для хранения и учета материальных ценностей на складе, ее возможности и практическое применение. Процесс создания базы данных на основе реляционной СУБД MS Access. Связь сведений по товарам, поставщикам и покупателям.
курсовая работа [13,8 K], добавлен 29.08.2009Разработка базы данных с информацией о сотрудниках, товарах, со справочником типов товаров средствами системы управления базами данных MySQL с помощью SQL-запросов. Разработка инфологической модели предметной области. Структура таблиц, полей базы данных.
контрольная работа [648,7 K], добавлен 13.04.2012Перечень документов, на основании которых создается система автоматизации бухгалтерского учета товарно-материальных ценностей. Назначение и цели создания системы. Требование к содержанию работ по подготовке объекта автоматизации к вводу системы в действие
курсовая работа [1,1 M], добавлен 05.07.2014Проектирование системы учета для библиотеки: разработка базы данных, в которой описаны наименования книг, имеющиеся в библиотечном фонде, и постоянные читатели, создание печатных форм (отчетов о приеме и выдаче изданий) и интерфейса для пользователей.
контрольная работа [1,1 M], добавлен 17.08.2010Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Проектирование базы данных для автоматизированной системы "Склад". Разработка концептуальной модели (ER-диаграмма). Преобразование в реляционную модель и ее нормализация. Разработка запросов к базе данных на языке SQL. Скрипт для создания базы данных.
курсовая работа [161,8 K], добавлен 07.10.2013Опыт создания автоматизированных информационных систем. Разработка автоматизированной информационной системы для строительного предприятия ООО "СТК Дело". Этапы проектирования базы данных для учета хранения строительных материалов на складе предприятия.
курсовая работа [1,7 M], добавлен 15.03.2015Проектирование автоматизированной информационной системы контроля и учета товарных и денежных средств для магазина розничной торговли. Составление базы данных в среде СУБД MySQL. Расчет затрат на проектирование и эксплуатацию разработанной системы.
дипломная работа [4,3 M], добавлен 13.12.2013Разработка базы данных для спортивной школы с целью ведения учета, контроля и получения информации о нужном студенте. Создание диалогового окна входа в приложение. Составление схемы и структуры базы данных. Разработка пользовательского интерфейса.
курсовая работа [3,4 M], добавлен 08.09.2015Обзор существующих автоматизированных информационных систем, их классификация и структура построения. Разработка инфологической модели базы данных для автоматизированной информационной системы руководителя тушения пожара, реализация в компьютерной СУБД.
дипломная работа [1,2 M], добавлен 07.06.2011Разработка реляционной базы данных информационной системы для учета доходов потребительского общества средствами программного продукта СУБД MS SQL Server 2012. Преобразование концептуальной модели данных к реляционной. Набор предварительных таблиц.
курсовая работа [11,9 M], добавлен 06.10.2014