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

Firioo cc5bf063e0 Добавлено Readme.md 1 vecka sedan
.gitignore ca00aa36bb Готовая программа для ПМ-04 1 vecka sedan
Readme.md cc5bf063e0 Добавлено Readme.md 1 vecka sedan
init_db.sql ca00aa36bb Готовая программа для ПМ-04 1 vecka sedan
programm.py ca00aa36bb Готовая программа для ПМ-04 1 vecka sedan
requirements.txt ca00aa36bb Готовая программа для ПМ-04 1 vecka sedan

Readme.md

Учёт компьютерного оборудования (партионный учёт)

Аннотация

Программа предназначена для ведения учёта компьютерного оборудования на предприятии с использованием партионного метода. Закупки и списания учитываются отдельными партиями, текущий остаток вычисляется автоматически. Приложение имеет графический интерфейс на базе 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