Обновленные файлы: - crm_extensions/nextcloud_api.php (2 места) - modules/Documents/actions/NcPrepareEdit.php - crm_extensions/nextcloud_editor/js/nextcloud-editor.js - crm_extensions/file_storage/api/get_edit_urls.php - crm_extensions/file_storage/api/simple_edit.php - crm_extensions/README.md - NEXTCLOUD_EDIT_BUTTON_IMPLEMENTATION.md - crm_extensions/docs/NEXTCLOUD_EDITOR.md - test_syntax_check.html - crm_extensions/tests/test_edit_button.html Все ссылки теперь указывают на новый сервер office.clientright.ru Backup файлы и тестовые директории не изменены
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! 🚀**
|
||
|
||
|