Files
aiform_prod/SESSION_LOG_2025-11-26_WIZARD_UI.md
AI Assistant 02689e65db fix: Исправление загрузки документов и SQL запросов
- Исправлена потеря документов при обновлении черновика (SQL объединяет вместо перезаписи)
- Исправлено определение типа документа (приоритет field_label над field_name)
- Исправлены дубликаты в documents_meta и documents_uploaded
- Добавлена передача group_index с фронтенда для правильного field_name
- Исправлены все документы в таблице clpr_claim_documents с правильными field_name
- Обновлены SQL запросы: claimsave и claimsave_final для нового флоу
- Добавлена поддержка multi-file upload для одного документа
- Исправлены дубликаты в списке загруженных документов на фронтенде

Файлы:
- SQL: SQL_CLAIMSAVE_FIXED_NEW_FLOW.sql, SQL_CLAIMSAVE_FINAL_FIXED_NEW_FLOW_WITH_UPLOADED.sql
- n8n: N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js (поддержка group_index)
- Backend: documents.py (передача group_index в n8n)
- Frontend: StepWizardPlan.tsx (передача group_index, исправление дубликатов)
- Скрипты: fix_claim_documents_field_names.py, fix_documents_meta_duplicates.py

Результат: документы больше не теряются, имеют правильные типы и field_name
2025-11-26 19:54:51 +03:00

56 lines
3.8 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.

# Сессия 26 ноября 2025 - Исправления UI Wizard
## Основные изменения
### 1. Исправлена ошибка Authentication failed в upload_documents_to_crm.php
- **Проблема:** Race condition при параллельных запросах к webservice CRM
- **Решение:** Добавлена функция `getWebserviceSession()` с retry механизмом (до 3 попыток) и случайной задержкой между попытками
### 2. Исправлен Wizard Plan - чекбоксы заменены на блоки загрузки
- **Проблема:** Вопрос `docs_exist` показывал чекбоксы вместо полей загрузки файлов
- **Решение:**
- Скрыт вопрос `docs_exist` когда есть документы в плане
- Добавлены блоки загрузки файлов под карточкой "Документы, которые понадобятся"
### 3. Чекбокс "У меня нет документа" перенесён под загрузку
- **Было:** Чекбокс показывался отдельно сверху
- **Стало:** Чекбокс внутри карточки, под Dragger (только для обязательных документов)
### 4. Блоки загрузки сразу развёрнуты
- Добавлен useEffect с ref для автоматического создания блоков при загрузке плана
- Используется `createdDocBlocksRef` чтобы избежать дублирования
### 5. Убраны лишние поля для предустановленных документов
- Для документов из плана (contract, payment, correspondence и т.д.):
- Нет поля "Уточните тип" (тип уже известен)
- Нет кнопки "Удалить" для первого блока
- Для дополнительных блоков - поля отображаются
### 6. Исправлено дублирование блоков
- Убран дублирующий useEffect (для documentGroups)
- Добавлен ref `createdDocBlocksRef` для отслеживания созданных блоков
- Исправлена опечатка `React.useRef``useRef`
## Файлы изменены
1. `upload_documents_to_crm.php` - retry механизм для аутентификации
2. `ticket_form/frontend/src/components/form/StepWizardPlan.tsx`:
- Скрытие вопроса docs_exist
- Блоки загрузки под информационной карточкой
- Чекбокс под Dragger
- Автосоздание блоков при загрузке
- Улучшенная логика isPredefinedDoc
## Коммиты
1. `Добавлен retry механизм для webservice аутентификации (race condition fix)`
2. `Заменены чекбоксы docs_exist на блоки загрузки файлов`
3. `Исправлен JSX Fragment для блоков загрузки документов`
4. `Чекбокс 'нет документа' перенесён под блок загрузки`
5. `Блоки загрузки документов сразу развёрнуты при загрузке плана`
6. `Убраны лишние поля для предустановленных документов`
7. `Убран дублирующий useEffect для создания блоков документов`
8. `Исправлено дублирование блоков документов (ref для отслеживания созданных)`
9. `Исправлен React.useRef → useRef`