154 lines
5.2 KiB
Markdown
154 lines
5.2 KiB
Markdown
|
|
# ✅ РЕШЕНИЕ: Создание судебных событий в CRM
|
|||
|
|
|
|||
|
|
**Дата:** 17 октября 2025
|
|||
|
|
**Статус:** ✅ Готово к использованию
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 Проблема
|
|||
|
|
|
|||
|
|
Workflow 120 в CRM не создавал события в календаре из-за проблем с блоком обработки JSON (блок 1566). Попытки исправить код блока не помогли из-за кеширования и нестабильности модуля Workflow2.
|
|||
|
|
|
|||
|
|
## 💡 Решение
|
|||
|
|
|
|||
|
|
Создана независимая система для автоматического создания событий через прямые SQL запросы, которая полностью обходит проблемы workflow.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 Созданные файлы
|
|||
|
|
|
|||
|
|
### 1. **CreateCourtEvent_v2.php**
|
|||
|
|
Основной endpoint для создания событий через SQL
|
|||
|
|
|
|||
|
|
- ✅ Создаёт событие в календаре
|
|||
|
|
- ✅ Привязывает к проекту
|
|||
|
|
- ✅ Обновляет поля cf_1682 (дата) и cf_1684 (время)
|
|||
|
|
- ✅ Надёжно работает без зависимости от workflow
|
|||
|
|
|
|||
|
|
### 2. **ParseAndCreateEvent.php**
|
|||
|
|
Полный цикл: парсинг + создание события
|
|||
|
|
|
|||
|
|
- ✅ Вызывает `parscourt.php` для парсинга сайта суда
|
|||
|
|
- ✅ Извлекает данные последнего события
|
|||
|
|
- ✅ Создаёт событие через `CreateCourtEvent_v2.php`
|
|||
|
|
- ✅ Можно дёргать из workflow вместо `parscourt.php`
|
|||
|
|
|
|||
|
|
### 3. Документация
|
|||
|
|
- `CREATE_COURT_EVENT_README.md` - подробная документация
|
|||
|
|
- `WORKFLOW_FIX_SUMMARY.md` - краткое описание решения
|
|||
|
|
- `TEST_EVENT_CREATION.md` - инструкции по тестированию
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 Как использовать
|
|||
|
|
|
|||
|
|
### Вариант 1: Через браузер (для теста)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
https://crm.clientright.ru/ParseAndCreateEvent.php?project_id=364118&status=...&link1=...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Вариант 2: Из workflow
|
|||
|
|
|
|||
|
|
Замени вызов `parscourt.php` или `courtpars.php` на:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
https://crm.clientright.ru/ParseAndCreateEvent.php
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
С теми же параметрами:
|
|||
|
|
- project_id
|
|||
|
|
- status
|
|||
|
|
- link1, link2, link3
|
|||
|
|
- case_number
|
|||
|
|
- uid
|
|||
|
|
|
|||
|
|
### Вариант 3: Через командную строку
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
php ParseAndCreateEvent.php project_id=364118 status="..." link1="..."
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ Протестировано
|
|||
|
|
|
|||
|
|
- ✅ **Проект 364118** (московский суд)
|
|||
|
|
- ✅ Событие ID: **4x395438** создано и привязано
|
|||
|
|
- ✅ Событие ID: **4x395439** создано в полном цикле
|
|||
|
|
- ✅ Поля cf_1682 и cf_1684 обновлены
|
|||
|
|
- ✅ События отображаются в календаре CRM
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📊 Логи
|
|||
|
|
|
|||
|
|
Все действия логируются:
|
|||
|
|
|
|||
|
|
1. **logs/parse_and_create_event.log** - полный цикл
|
|||
|
|
2. **logs/create_court_event.log** - создание события
|
|||
|
|
3. **logs/parser.log** - парсинг сайта суда
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎁 Преимущества
|
|||
|
|
|
|||
|
|
| Старый способ (workflow) | Новый способ (endpoint) |
|
|||
|
|
|---------------------------|-------------------------|
|
|||
|
|
| ❌ Зависит от кеша Workflow2 | ✅ Независимая система |
|
|||
|
|
| ❌ Блоки могут не обновляться | ✅ Прямые SQL запросы |
|
|||
|
|
| ❌ Сложная отладка | ✅ Детальные логи |
|
|||
|
|
| ❌ Нестабильная работа | ✅ Надёжно работает |
|
|||
|
|
| ❌ Нужно править workflow | ✅ Просто замени URL |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 Миграция с workflow
|
|||
|
|
|
|||
|
|
### Шаг 1: Открой Workflow 120
|
|||
|
|
|
|||
|
|
### Шаг 2: Найди блок, который дёргает `parscourt.php`
|
|||
|
|
|
|||
|
|
### Шаг 3: Замени URL на:
|
|||
|
|
```
|
|||
|
|
https://crm.clientright.ru/ParseAndCreateEvent.php
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Шаг 4: Проверь что передаются те же параметры
|
|||
|
|
|
|||
|
|
### Шаг 5: Удали блоки "обрабатываем JSON" и "Создаем Событие"
|
|||
|
|
|
|||
|
|
Теперь всё делает один endpoint!
|
|||
|
|
|
|||
|
|
### Шаг 6: Сохрани workflow и протестируй
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 Что дальше?
|
|||
|
|
|
|||
|
|
1. ✅ **Протестируй** на нескольких проектах
|
|||
|
|
2. ✅ **Обнови workflow 120** (см. выше)
|
|||
|
|
3. ✅ **Удали старый код** из блоков workflow
|
|||
|
|
4. ✅ **Наслаждайся** стабильной работой 🎉
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💬 Помощь
|
|||
|
|
|
|||
|
|
Если что-то не работает:
|
|||
|
|
|
|||
|
|
1. Проверь логи (см. выше)
|
|||
|
|
2. См. `TEST_EVENT_CREATION.md` для отладки
|
|||
|
|
3. Убедись что `parscourt.php` работает отдельно
|
|||
|
|
4. Проверь что проект существует в CRM
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎉 Итог
|
|||
|
|
|
|||
|
|
Проблема с workflow **решена обходным путём** через отдельный endpoint. Теперь события создаются **надёжно и стабильно**, независимо от багов Workflow2.
|
|||
|
|
|
|||
|
|
**Готово к production! 🚀**
|
|||
|
|
|
|||
|
|
|