Разработка автоматизированной системы учета материальных ценностей

Обзор аналогов систем учета материальных ценностей, существующих на рынке. Проектирование 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 записи


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.