Обновленные файлы:
- crm_extensions/nextcloud_editor/js/nextcloud-editor.js (5 путей)
- crm_extensions/file_storage/api/get_edit_urls.php (6 путей)
- modules/Documents/actions/NcPrepareEdit.php (2 пути)
- crm_extensions/file_storage/api/prepare_edit.php (1 путь)
- crm_extensions/file_storage/NextcloudClient.php (1 путь)
- data/CRMEntity.php (nc_path для новых файлов)
Все пути теперь используют /crm/ вместо /crm2/ для соответствия новому External Storage на office.clientright.ru
- Изменен active_folder с '/crm2/CRM_Active_Files/' на '/crm/CRM_Active_Files/'
- Причина: На новом Nextcloud (office.clientright.ru) S3 примонтирован как /crm (не /crm2)
- Папка /crm/CRM_Active_Files/ существует и содержит подпапки Documents и crm2
- Конфигурация соответствует реальной структуре External Storage
- Изменена логика проверки уведомлений: теперь проверяются ВСЕ уведомления (не только непрочитанные)
- Если уведомление прочитано - дубликат НЕ создаётся (ранее создавался)
- Добавлена проверка статуса уведомления перед обновлением
- Добавлены уведомления для RegionalCourtParser (ранее только для MoscowCourtParser)
- Создана документация DUPLICATE_PREVENTION_GUIDE.md с описанием 3 уровней защиты
Теперь система полностью защищена от дубликатов:
1. Уровень событий в таблице subject
2. Уровень уведомлений в vtiger_vdnotifierpro (с проверкой статуса)
3. Уровень календаря CRM
Для продакшена: НЕ передавать skip_duplicate_check=true (по умолчанию false)
- Добавлена поддержка project_id в parscourt.php для создания уведомлений
- Создана система парсеров судов (BaseCourtParser, MoscowCourtParser, RegionalCourtParser)
- Интегрирован Browserless для парсинга московских судов (mos-sud.ru, mos-gorsud.ru)
- Добавлены уведомления VDNotifierPro при обнаружении новых событий судов
- Создан ParseAndCreateEvent.php для интеграции с CRM workflow
- Создан CreateCourtEvent_v2.php для прямого создания событий в календаре CRM
- Поддержка проверки дубликатов событий (можно отключить для тестирования)
- Автоматическое определение типа суда и выбор подходящего парсера
Функции:
- Парсинг региональных судов (*.sudrf.ru) через HTML
- Парсинг московских судов через Browserless API
- Создание событий в CRM календаре с привязкой к проектам
- Уведомления ответственных пользователей о новых событиях
- Сохранение событий в таблицу subject для истории
- Создан файл STATUS_CHECKER_STATUS.md с текущим состоянием
- Описаны проблемы с API Debexpert
- Указаны планы на будущее
- Добавлены команды для управления cron
- Удалена cron задача из-за нестабильности API Debexpert
- Обновлена документация с информацией об отключении
- Скрипт остается доступен для ручного запуска
- Cron можно будет включить обратно после решения проблем с API
- Изменен канал комментариев на 'Telegram AI Bot' для отображения иконки робота 🤖
- Убран эмодзи из текста комментария для совместимости с БД
- Настроен cron для ежедневного запуска в 10:00
- Обновлена документация с информацией о cron и иконке
- Логи cron сохраняются в logs/auto_status_checker_cron.log
- Протестировано создание комментариев с иконкой робота
- Создан скрипт check_exec_list_statuses.php
- Находит проекты со статусами: заявление на лист, выдача листа, исполнительное производство
- Проверяет наличие регистрационного номера (cf_2429) и отсутствие номера листа (cf_1752)
- Запрашивает статус через GetCourtStatus.php API
- Создает комментарии в проектах от ИИ Клиентправ (ID 23)
- Комментарии содержат полную историю движения дела и список документов
- Обработка таймаутов и ошибок API
- Подробное логирование в logs/auto_status_checker.log
- Добавлена документация AUTO_STATUS_CHECKER_README.md
- Готов к запуску через cron для автоматической проверки
- API Debexpert периодически работает (успешный запрос 16.10.2025 18:59:04)
- Получены полные данные по делу 15RS0011-201-25-0000448
- Обновлена документация с результатами тестирования
- Отмечены ограничения: нестабильная работа API, частые таймауты
- Изменен timeout с 60 до 120 секунд в GetCourtStatus.php
- API Debexpert работает нестабильно, часто таймаутит
- Успешные запросы подтверждают, что endpoint работает корректно
- Увеличенный таймаут даст больше шансов получить ответ
- Реализована функция createTicketNotification() в HelpDeskHandler
- Автоматическое создание уведомлений при создании новой заявки
- Уведомления отправляются ответственному за заявку
- Умная дедупликация - обновление существующих непрочитанных уведомлений
- Формат заголовка: 'Новая заявка ЗАЯВКА_XXX - [название]'
- Ссылка ведет на заявку в CRM
- Протестировано и работает корректно
- Реализована функция createTelegramAINotification() в telegram_ai_qa.php
- Автоматическое создание уведомлений при общении клиента с AI ботом
- Уведомления отправляются ответственному по проекту
- Умная дедупликация - обновление существующих непрочитанных уведомлений
- Краткий заголовок с именем клиента и началом вопроса (до 80 символов)
- Ссылка ведет на проект с комментариями диалога
- Добавлена документация TELEGRAM_AI_NOTIFICATIONS.md
- Протестировано и работает корректно
- Реализована функция createMailNotification() в simple_project_updater_v2.php
- Автоматическое создание уведомлений VDNotifierPro при поступлении документов
- Уведомления отправляются ответственному по проекту
- Исправлен формат ссылок (без index.php? для корректной работы в VDNotifierPro)
- Защита от дубликатов - обновление существующих непрочитанных уведомлений
- Добавлена документация MAIL_NOTIFICATION_SYSTEM.md
- Протестировано и работает корректно
- court_document_parser.py: парсер судебных документов с извлечением ФИО, номера дела, УИД, суда
- court_parser_api.py: API для вызова парсера из n8n
- pdf_court_parser.py: парсер PDF документов с извлечением текста
- simple_project_updater.php: обновление проектов через CRM API
- simple_project_updater_v2.php: обновленная версия с прямыми SQL запросами и S3Client
- update_project_from_document.php: альтернативный скрипт обновления
- test_input.json: тестовые данные для парсера
- README файлы с документацией для всех скриптов
Скрипты поддерживают:
- Поиск проектов по ФИО, номеру дела, УИД, названию суда
- Создание документов в CRM с загрузкой в S3
- Привязку документов к проектам
- Логирование всех операций
- Работу с n8n через SSH команды