Обновленные файлы: - 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 файлы и тестовые директории не изменены
5.2 KiB
✅ РЕШЕНИЕ: Создание судебных событий в 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: Через командную строку
php ParseAndCreateEvent.php project_id=364118 status="..." link1="..."
✅ Протестировано
- ✅ Проект 364118 (московский суд)
- ✅ Событие ID: 4x395438 создано и привязано
- ✅ Событие ID: 4x395439 создано в полном цикле
- ✅ Поля cf_1682 и cf_1684 обновлены
- ✅ События отображаются в календаре CRM
📊 Логи
Все действия логируются:
- logs/parse_and_create_event.log - полный цикл
- logs/create_court_event.log - создание события
- 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 и протестируй
📝 Что дальше?
- ✅ Протестируй на нескольких проектах
- ✅ Обнови workflow 120 (см. выше)
- ✅ Удали старый код из блоков workflow
- ✅ Наслаждайся стабильной работой 🎉
💬 Помощь
Если что-то не работает:
- Проверь логи (см. выше)
- См.
TEST_EVENT_CREATION.mdдля отладки - Убедись что
parscourt.phpработает отдельно - Проверь что проект существует в CRM
🎉 Итог
Проблема с workflow решена обходным путём через отдельный endpoint. Теперь события создаются надёжно и стабильно, независимо от багов Workflow2.
Готово к production! 🚀