# Учёт компьютерного оборудования (партионный учёт) ## Аннотация Программа предназначена для ведения учёта компьютерного оборудования на предприятии с использованием партионного метода. Закупки и списания учитываются отдельными партиями, текущий остаток вычисляется автоматически. Приложение имеет графический интерфейс на базе tkinter и подключается к удалённой базе данных PostgreSQL. ## Введение Основные возможности системы: - Просмотр текущих остатков оборудования с расчётным атрибутом (количество на складе). - Ведение журналов закупок и списаний. - Добавление, редактирование и удаление записей о закупках и списаниях. - Поиск по названию оборудования, производителю, поставщику, сотруднику. - Экспорт любой таблицы в CSV-файл. - Разграничение доступа на уровне базы данных (роли manager/viewer). - Аудит изменений (триггеры логирования). ## Назначение и условия применения Система предназначена для сотрудников отдела снабжения и склада. Для работы необходимо: - Операционная система Windows (или Linux/macOS при запуске из исходников). - Подключение к интернету для доступа к удалённой базе данных. - Для конечного пользователя достаточно скачать исполняемый файл `7var.exe` и запустить его. Если вы разработчик и хотите запускать приложение из исходного кода, потребуется: - Интерпретатор Python версии 3.8 или выше. - Установленная библиотека `psycopg2-binary`. - Настроенное подключение к базе данных (параметры в файле `7var.py`). ## Установка и запуск ### Для конечного пользователя (рекомендуемый способ) 1. Скачайте файл `programm.exe` из репозитория или из архива. 2. Запустите его двойным щелчком. 3. Приложение откроется и сразу подключится к удалённой базе данных. Никаких дополнительных действий не требуется. ### Для разработчика (из исходных кодов) 1. Установите Python версии 3.8 или новее. 2. Создайте виртуальное окружение (рекомендуется) и активируйте его. 3. Установите зависимость: `psycopg2-binary`. 4. При необходимости отредактируйте настройки подключения в файле `programm.py` (параметры в словаре `DB_CONFIG`). 5. Запустите приложение командой `python programm.py`. ## Описание операций После запуска откроется главное окно с тремя вкладками. | Вкладка | Назначение | |---------|------------| | **Остатки оборудования** | Отображает список всех типов оборудования с текущим количеством. Остаток вычисляется как сумма закупок минус сумма списаний. | | **Закупки** | Показывает журнал поступлений. Доступны кнопки: добавить, редактировать, удалить, экспорт в CSV, поиск. | | **Списания** | Аналогична вкладке закупок, но для учёта выбытия. | - **Поиск**: введите ключевое слово в поле поиска на любой вкладке (поиск выполняется по началу строки) и нажмите «Найти». Для сброса фильтра нажмите «Сброс». - **Экспорт**: нажмите «Экспорт CSV» – файл сохранится в папке приложения с меткой времени. - **Редактирование**: выберите строку в таблице и нажмите соответствующую кнопку (редактировать или удалить). При добавлении откроется форма с заполняемыми полями. ## Термины и сокращения | Термин | Описание | |--------|----------| | БД | База данных (PostgreSQL) | | Оборудование | Тип/модель техники, например, ноутбук Lenovo T14 | | Закупка | Поступление партии оборудования от поставщика на склад | | Списание | Выбытие партии оборудования (утилизация, продажа, передача) | | Остаток | Текущее количество на складе, рассчитанное как разница закупок и списаний | ## Примечания - Все запросы к базе данных используют параметризацию, что исключает SQL-инъекции. - Для аудита изменений в таблицах закупок и списаний созданы триггеры, которые записывают действия в журнал `audit_log`. - Приложение протестировано с Python 3.12 и PostgreSQL 15. --- **Автор:** [Железков Фёдор] **Группа:** [3991] **Год:** 2026