Загрузка данных


**✅ Пункт 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 ок»**.

описание алгоритма работы программы
Алгоритм работы программы начинается с запуска приложения и открытия Главного окна (формы авторизации). Пользователь вводит логин и пароль. Система проверяет эти данные в таблице Сотрудники и определяет роль пользователя (Приемщик или Администратор).

Если пользователь — Приемщик, открывается Рабочая форма Приемщика. В ней он может зарегистрировать клиента и автомобиль, создать новый заказ-наряд (выбрать работы и запчасти, рассчитать стоимость по прейскуранту), просмотреть существующие заказы и изменить их статусы.
Если пользователь — Администратор, открывается Рабочая форма Администратора. В ней доступно управление сотрудниками, редактирование прейскуранта, просмотр всех заказов, формирование отчетов и управление справочниками (запчасти, виды работ).