На главную

Руководство пользователя веб-системы «Инвентарис»

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

1 Введение

1.1 Техническая основа

Приложение реализовано на языке Python с использованием микрофреймворка Flask. Сеансы пользователей хранятся через механизм Flask-Session, HTML-интерфейс построен на шаблонах Jinja2 и компонентах Bootstrap, а данные размещаются в СУБД MariaDB или MySQL с кодировкой utf8mb4. Для доступа к базе данных используется библиотека PyMySQL, запросы вынесены в файл sql_queries.json, а начальная структура БД описана в db_init.sql.

Конфигурация приложения задается в config.json или, при его отсутствии, в config.example.json. В конфигурации определяются секретный ключ Flask, параметры подключения к MySQL/MariaDB, расположение SQL-файлов, каталог журналов, режим отладки, параметры серверной сессии и возможность автоматической установки схемы базы данных. При стандартном запуске веб-сервер слушает адрес 127.0.0.1 и порт 5000.

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

1.2 Общие принципы работы

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

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

Рисунок 1 - Главная страница системы «Инвентарис»

Рисунок 1 - Главная страница системы «Инвентарис»

2 Администрирование

2.1 Модель прав ESR

Права пользователя задаются ролью. В роли хранится трехзначная строка ESR, где каждая позиция отвечает за отдельный контур системы: E означает оборудование и связанные операции, S означает системный контур, включая справочники и администрирование, R означает отчеты. Каждая цифра принимает значение от 1 до 3.

Таблица 1 - Уровни прав ESR

Цифра Значение Практический смысл
1 Нет прав Раздел или действие недоступны, при прямом переходе открывается страница отказа в доступе.
2 Чтение Пользователь может просматривать сведения, списки, карточки и отчеты соответствующего контура.
3 Запись Пользователь может создавать или изменять данные в соответствующем контуре, если такая операция предусмотрена интерфейсом.

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

На практике строка 333 означает полные права администратора. Строка 311 дает право создавать и редактировать оборудование и перемещения, но не открывает системные справочники и отчеты. Строка 222 дает пользователю доступ на чтение к основным разделам без возможности вносить изменения.

2.2 Доступность разделов по правам

Таблица 2 - Требуемые права для разделов системы

Раздел или действие Требуемые права Что доступно пользователю
Главная страница Авторизованный пользователь Сводка по оборудованию, быстрые переходы, таблицы по статусам и категориям.
Список оборудования и карточка 211 Просмотр актуального оборудования, фильтры, открытие карточки и архивных версий по ссылкам.
Создание, редактирование, смена статуса оборудования 311 Добавление карточки, создание новой версии существующей карточки, изменение статуса.
Список перемещений 211 Просмотр журнала перемещений и переход к карточке оборудования.
Создание перемещения 311 Фиксация операции перемещения, передачи, ремонта или списания с созданием новой версии карточки.
Справочники атрибутов 121 Просмотр категорий, статусов, помещений, моделей и поставщиков.
Создание и редактирование справочников 131 Добавление и изменение записей справочников.
Список пользователей и ролей 131 Администрирование учетных записей и ролей.
Основные отчеты, отчеты по перемещениям и изменениям 112 Просмотр отчетов и фильтрация данных.
Выгрузка CSV отчета по оборудованию 113 Формирование CSV-файла по текущим фильтрам отчета.

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

2.3 Список пользователей

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

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

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

Рисунок 2 - Список пользователей

Рисунок 2 - Список пользователей

2.4 Создание и редактирование пользователя

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

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

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

Рисунок 3 - Форма создания пользователя

Рисунок 3 - Форма создания пользователя

2.5 Список ролей

Раздел «Роли» показывает набор доступных ролей системы. Для каждой роли указаны идентификатор, название, права ESR и описание. Через этот экран администратор может перейти к созданию новой роли или к редактированию существующей.

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

Рисунок 4 - Список ролей

Рисунок 4 - Список ролей

2.6 Создание и редактирование роли

Форма роли содержит название, строку прав ESR и описание. Строка прав должна состоять ровно из трех цифр, каждая из которых равна 1, 2 или 3. При вводе другого значения система не сохранит роль и покажет предупреждение.

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

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

Рисунок 5 - Форма создания роли

Рисунок 5 - Форма создания роли

3 Использование системы

3.1 Верхняя навигация и главная страница

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

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

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

3.2 Список оборудования

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

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

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

Рисунок 6 - Список оборудования с фильтрами

Рисунок 6 - Список оборудования с фильтрами

3.3 Создание оборудования

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

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

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

Рисунок 7 - Форма создания оборудования

Рисунок 7 - Форма создания оборудования

3.4 Карточка оборудования и версии

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

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

Для актуальной карточки и пользователя с правом записи доступны действия «Редактировать», «Сменить статус» и «Переместить». Редактирование и смена статуса не изменяют запись на месте, а создают новую версию. Это означает, что история значимых изменений остается доступной для отчетов и диаграммы версий.

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

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

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

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

Рисунок 8 - Форма редактирования оборудования

Рисунок 8 - Форма редактирования оборудования

3.6 Смена статуса

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

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

3.7 Справочники атрибутов

Раздел «Атрибуты» объединяет справочники, которые используются в карточках оборудования и отчетах. На странице представлены вкладки «Категории», «Статусы», «Помещения», «Модели оборудования» и «Поставщики». Пользователь с правом чтения системного контура может просматривать записи, а пользователь с правом записи видит кнопки добавления и редактирования.

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

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

Рисунок 9 - Справочник атрибутов

Рисунок 9 - Справочник атрибутов

3.8 Создание и редактирование справочной записи

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

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

3.9 Список перемещений

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

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

Рисунок 10 - Журнал перемещений

Рисунок 10 - Журнал перемещений

3.10 Создание перемещения

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

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

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

Рисунок 11 - Форма создания перемещения

Рисунок 11 - Форма создания перемещения

3.11 Основной отчет по оборудованию

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

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

Если пользователь имеет право записи в контуре отчетов, то есть код R равен 3, на странице появляется кнопка CSV. Выгрузка формирует файл equipment_report.csv с разделителем «точка с запятой» и применяет те же фильтры, которые выбраны на странице отчета.

Рисунок 12 - Основной отчет по оборудованию

Рисунок 12 - Основной отчет по оборудованию

3.12 Отчет по перемещениям за период

Отчет «Перемещения за период» предназначен для анализа журнала операций в заданном интервале дат. Пользователь задает дату начала и дату окончания в формате ГГГГ-ММ-ДД и нажимает «Сформировать». Если дата введена некорректно, система показывает предупреждение и формирует отчет по тем условиям, которые удалось распознать.

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

Рисунок 13 - Отчет по перемещениям за период

Рисунок 13 - Отчет по перемещениям за период

3.13 Отчет по изменениям за период

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

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

Рисунок 14 - Отчет по изменениям за период

Рисунок 14 - Отчет по изменениям за период

3.14 Схема изменений

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

Ниже расположена таблица «Цепочка версий», где для каждой версии указаны порядковый номер, ID, дата, модель, статус, локация и автор версии. Еще ниже находится Mermaid-код диаграммы. Его можно скопировать или скачать в файл .mmd через кнопку в заголовке страницы.

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

Рисунок 15 - Схема изменений оборудования

Рисунок 15 - Схема изменений оборудования

3.15 Экспорт CSV

CSV-выгрузка доступна из основного отчета при наличии права 113 или выше по отчетному контуру. Файл содержит идентификатор, инвентарный номер, серийный номер, производителя, модель, категорию, помещение, статус и цену. Кодировка ответа устанавливается как UTF-8, а имя файла по умолчанию - equipment_report.csv.

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

3.16 Работа с ошибками и сообщениями

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

Если пользователь пытается выполнить действие без прав, открывается страница 403. Если страница не найдена, приложение выводит сообщение «Страница не найдена». При непредвиденной ошибке приложение записывает подробности в журнал и показывает пользователю нейтральное сообщение о необходимости повторить действие позже.

4 Рекомендации по эксплуатации

4.1 Подготовка справочников

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

В справочнике моделей поле характеристик допускает JSON. Его удобно использовать для технических параметров, которые не вынесены в отдельные поля: процессор, объем памяти, диагональ, интерфейсы, комплектация и другие сведения. JSON должен быть синтаксически корректным, например {"cpu": "Intel Core", "ram": "16 GB"}.

4.2 Ведение карточек оборудования

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

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

4.3 Работа с перемещениями

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

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

4.4 Администрирование доступа

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

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

5 Термины и сокращения

Таблица 3 - Термины руководства

Термин Описание
Актуальная карточка Последняя версия записи оборудования, у которой нет более новой дочерней версии.
Архивная карточка Предыдущая версия оборудования, сохраненная для истории и недоступная для редактирования.
ESR Трехпозиционная модель прав: Equipment, System, Reports.
Контур E Оборудование, карточки, статусы оборудования, перемещения и связанные операции.
Контур S Системные функции: справочники, пользователи, роли и административные операции.
Контур R Отчеты, отчетные фильтры, CSV-выгрузка и диаграммы истории.
Mermaid Текстовый формат описания диаграмм, используемый на странице схемы изменений.
На главную