# Аннотация
Данное руководство описывает порядок подготовки, запуска и использования программы для учета корреспонденции в графическом интерфейсе. Документ рассчитан на пользователя, который работает с базой данных PostgreSQL и запускает приложение в Docker-контейнере.

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

## Основные возможности
- подключение к PostgreSQL;
- просмотр организаций и сотрудников;
- создание, редактирование и удаление корреспонденции;
- поиск корреспонденции по номеру документа;
- отображение количества корреспонденции по организации.

# Подготовка к работе
## Порядок установки для администратора
1. [ ] Создайте базу данных PostgreSQL или используйте существующую.
2. [ ] Инициализируйте структуру базы данных используя `init_schema.sql`.
3. [ ] При необходимости импортируйте данные в базу данных.
4. [ ] Используя средства СУБД, создайте роли и предоставьте им необходимые права доступа к базе данных.
5. [ ] Скачайте и распакуйте архив с программой.
6. [ ] Укажите в файле `.env` данные для подключения к базе данных.
7. [ ] Запустите файл `main.exe`.
8. [ ] Введите ваш логин и пароль для подключения к базе данных.

## Порядок проверки работоспособности
1. [ ] После запуска убедитесь, что открылось окно приложения.
2. [ ] Введите имя пользователя и пароль PostgreSQL.
3. [ ] Нажмите кнопку подключения.
4. [ ] Проверьте, что открылись вкладки `Компании`, `Сотрудники` и `Корреспонденция`.
5. [ ] Проверьте отображение списков организаций и сотрудников.
6. [ ] Создайте тестовую запись корреспонденции.
7. [ ] Выполните поиск по номеру документа.
8. [ ] Измените и удалите тестовую запись, чтобы убедиться в работоспособности операций.

# Описание операций
- `Компании` - выводит список организаций из базы данных.
- `Сотрудники` - выводит список сотрудников с указанием организации.
- `Корреспонденция` - позволяет выполнять основные операции с документами.
- Добавление записи:
  - укажите дату поступления;
  - при необходимости укажите дату исполнения;
  - выберите организацию и сотрудника;
  - укажите тип и номер документа;
  - нажмите кнопку добавления.
- Редактирование записи:
  - выберите запись;
  - измените нужные поля;
  - нажмите кнопку сохранения изменений.
- Удаление записи:
  - нажмите кнопку удаления напротив нужной строки.
- Поиск:
  - введите часть или полный номер документа в поле поиска.

# Аварийные ситуации
- Если приложение не подключается к базе данных, проверьте:
  - корректность логина/пароля;
  - корректность данных в `.env`;
  - доступность PostgreSQL сервера.
- Если ввод даты вызывает ошибку, проверьте формат:
  - `ДД-ММ-ГГГГ`.
- Если номер документа уже существует, создайте запись с другим номером.

# Термины и сокращения
| Термин | Описание |
| - | - |
| БД | База данных |
| PostgreSQL | Система управления базами данных |
| GUI | Графический пользовательский интерфейс |
| Корреспонденция | Входящий или внутренний документ, учитываемый в программе |
| Организация | Компания или учреждение, связанное с сотрудниками и корреспонденцией |
