Загрузка данных
**✅ Пункт 3 — Исправленная и улучшенная версия DFD**
Теперь DFD учитывает **реальную структуру интерфейса** (из пункта 6) и **теоретический функционал** приложения.
### DFD-диаграмма (Mermaid)
```mermaid
flowchart TD
Пользователь["Пользователь"]
Главное["Главное окно\n(Форма авторизации)"]
Приемщик["Рабочая форма Приемщика"]
Администратор["Рабочая форма Администратора"]
%% Авторизация
Главное -->|1| Сотрудники
%% Переходы между окнами
Главное -->|2| Приемщик
Главное -->|3| Администратор
%% Функции Приемщика
Приемщик -->|4| Клиенты
Приемщик -->|5| Автомобили
Приемщик -->|6| Заказы
Приемщик -->|7| СпецификацияЗаказа
Приемщик -->|8| ВидыРабот
Приемщик -->|9| ЗапасныеЧасти
Приемщик -->|10| Прейскурант
%% Функции Администратора
Администратор -->|11| Сотрудники
Администратор -->|12| Прейскурант
Администратор -->|13| Заказы
Администратор -->|14| СпецификацияЗаказа
Администратор -->|15| ЗапасныеЧасти
Администратор -->|16| Клиенты
%% Хранилища
Сотрудники["База «Сотрудники»"]
Клиенты["База «Клиенты»"]
Автомобили["База «Автомобили»"]
Заказы["База «Заказы»"]
СпецификацияЗаказа["База «Спецификация_заказа»"]
ВидыРабот["База «Виды_работ»"]
ЗапасныеЧасти["База «Запасные_части»"]
Прейскурант["База «Прейскурант»"]
classDef block fill:#e6f3ff,stroke:#333,stroke-width:2px,rx:15,ry:15;
classDef entity fill:#fff2cc,stroke:#d79b00;
classDef storage fill:#d5e8d4,stroke:#82b366;
class Главное,Приемщик,Администратор block;
class Пользователь entity;
class Сотрудники,Клиенты,Автомобили,Заказы,СпецификацияЗаказа,ВидыРабот,ЗапасныеЧасти,Прейскурант storage;
```
### Краткое описание связей (DFD)
1 — Проверка логина и пароля из **Главного окна** в **Базу «Сотрудники»** (авторизация пользователя)
2 — Навигация из **Главного окна** в **Рабочую форму Приемщика** (кнопка «Войти как Приемщик»)
3 — Навигация из **Главного окна** в **Рабочую форму Администратора** (кнопка «Войти как Администратор»)
4 — Регистрация / выбор клиента из **Рабочей формы Приемщика** в **Базу «Клиенты»**
5 — Добавление / просмотр автомобиля из **Рабочей формы Приемщика** в **Базу «Автомобили»**
6 — Создание нового заказа и просмотр заказов из **Рабочей формы Приемщика** в **Базу «Заказы»**
7 — Добавление работ и запчастей в заказ (кнопка «Создать новый заказ») из **Рабочей формы Приемщика** в **Базу «Спецификация_заказа»**
8 — Выбор видов работ из **Базы «Виды_работ»** в **Рабочую форму Приемщика**
9 — Проверка наличия и списание запчастей из **Базы «Запасные_части»** в **Рабочую форму Приемщика**
10 — Получение цен для расчёта стоимости заказа из **Базы «Прейскурант»** в **Рабочую форму Приемщика**
11 — Управление сотрудниками (добавление, редактирование, роли) из **Рабочей формы Администратора** в **Базу «Сотрудники»**
12 — Настройка и редактирование прейскуранта из **Рабочей формы Администратора** в **Базу «Прейскурант»**
13 — Просмотр всех заказов из **Рабочей формы Администратора** в **Базу «Заказы»**
14 — Просмотр детализации выполненных работ из **Рабочей формы Администратора** в **Базу «Спецификация_заказа»**
15 — Управление складом запчастей из **Рабочей формы Администратора** в **Базу «Запасные_части»**
16 — Просмотр и редактирование базы клиентов из **Рабочей формы Администратора** в **Базу «Клиенты»**
### Спецификация блоков
1. **Название:** Главное окно (Форма авторизации)
**Связи:** Рабочая форма Приемщика, Рабочая форма Администратора, База «Сотрудники»
**Внешние сущности:** Пользователь
**Хранилища:** База «Сотрудники»
2. **Название:** Рабочая форма Приемщика
**Связи:** Главное окно, База «Клиенты», База «Автомобили», База «Заказы», База «Спецификация_заказа», База «Виды_работ», База «Запасные_части», База «Прейскурант»
**Внешние сущности:** Пользователь / Приемщик
**Хранилища:** База «Клиенты», База «Автомобили», База «Заказы», База «Спецификация_заказа», База «Виды_работ», База «Запасные_части», База «Прейскурант»
3. **Название:** Рабочая форма Администратора
**Связи:** Главное окно, База «Сотрудники», База «Прейскурант», База «Заказы», База «Спецификация_заказа», База «Запасные_части», База «Клиенты»
**Внешние сущности:** Пользователь / Администратор
**Хранилища:** База «Сотрудники», База «Прейскурант», База «Заказы», База «Спецификация_заказа», База «Запасные_части», База «Клиенты»
---
Теперь DFD лучше отражает реальный интерфейс и функционал.
Проверь, пожалуйста. Если всё устраивает — пиши **«Пункт 3 ок»**.
описание алгоритма работы программы
Алгоритм работы программы начинается с запуска приложения и открытия Главного окна (формы авторизации). Пользователь вводит логин и пароль. Система проверяет эти данные в таблице Сотрудники и определяет роль пользователя (Приемщик или Администратор).
Если пользователь — Приемщик, открывается Рабочая форма Приемщика. В ней он может зарегистрировать клиента и автомобиль, создать новый заказ-наряд (выбрать работы и запчасти, рассчитать стоимость по прейскуранту), просмотреть существующие заказы и изменить их статусы.
Если пользователь — Администратор, открывается Рабочая форма Администратора. В ней доступно управление сотрудниками, редактирование прейскуранта, просмотр всех заказов, формирование отчетов и управление справочниками (запчасти, виды работ).