Files
rltn/COLLISION_DEBUG.md

92 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Диагностика сохранения коллизии
## 🔍 Добавлено подробное логирование для отладки коллизии
### **В консоли браузера (F12):**
#### **При изменении свойств объекта:**
```
🔧 Обновлены свойства объекта: {
name: "Название объекта",
organization_id: 2,
collidable: true, ← Проверьте это значение
interior_id: 101
}
```
#### **При сохранении объекта:**
```
🔍 Проверяем коллизию: {
'obj.userData.collidable': true, ← Значение в объекте
'objectData.collidable': true, ← Значение для сервера
'objectCollidable state': true ← Значение в состоянии
}
```
### **В консоли сервера:**
#### **При получении данных:**
```
🔍 Получены данные объекта: {
id: 110,
name: "Название объекта",
collidable: true, ← Проверьте это значение
city_id: 1
}
```
#### **При обновлении объекта:**
```
🔄 Обновляем существующий объект с ID: 110
🔍 Значение collidable для UPDATE: true ← Проверьте это значение
✅ Объект обновлен: { id: 110 }
```
#### **При создании объекта:**
```
🆕 Создаем новый объект
🔍 Значение collidable для INSERT: true ← Проверьте это значение
✅ Новый объект создан: { id: 111 }
```
## 🐛 Возможные проблемы:
### **1. Коллизия не обновляется в userData**
**Симптом:** `obj.userData.collidable` остается false
**Решение:** Проверьте, что вы нажали "Применить" после изменения коллизии
### **2. Коллизия не передается на сервер**
**Симптом:** `objectData.collidable` остается false
**Решение:** Проверьте, что `obj.userData.collidable` обновляется
### **3. Коллизия не сохраняется в БД**
**Симптом:** На сервере `collidable` остается false
**Решение:** Проверьте SQL запрос и значения параметров
## 🔧 Пошаговая диагностика:
### **Шаг 1: Измените коллизию**
1. Выберите объект
2. Поставьте/снимите галочку "Коллизия"
3. Нажмите "Применить"
4. Проверьте лог: `🔧 Обновлены свойства объекта`
### **Шаг 2: Сохраните объект**
1. Нажмите "Сохранить"
2. Проверьте лог: `🔍 Проверяем коллизию`
3. Все три значения должны быть одинаковыми
### **Шаг 3: Проверьте сервер**
1. Посмотрите логи сервера
2. Проверьте: `🔍 Получены данные объекта`
3. Проверьте: `🔍 Значение collidable для UPDATE/INSERT`
### **Шаг 4: Проверьте БД**
1. Выполните SQL запрос:
```sql
SELECT id, name, collidable FROM city_objects WHERE id = [ID_ОБЪЕКТА];
```
## ✅ Ожидаемый результат:
После выполнения всех шагов коллизия должна сохраняться в БД и загружаться при перезагрузке страницы.