# Исправление открытия файлов из CRM **Дата:** 31 октября 2025 **Проблема:** Файлы не открывались из CRM для редактирования в Nextcloud ## 🔍 Диагностика ### Проблема 1: 7,295 старых файлов в корне Documents **Симптомы:** Папка Documents очень долго открывается **Причина:** В корне папки Documents находилось 7,295 старых файлов/папок (структура до миграции) ```sql SELECT CASE WHEN path LIKE '%Project/%' THEN 'В Project (OK)' WHEN path LIKE '%Contacts/%' THEN 'В Contacts (OK)' WHEN path LIKE '%Accounts/%' THEN 'В Accounts (OK)' WHEN path LIKE '%HelpDesk/%' THEN 'В HelpDesk (OK)' WHEN path LIKE '%Invoice/%' THEN 'В Invoice (OK)' ELSE 'В корне Documents (ПЛОХО!)' END as location, COUNT(*) as count FROM oc_filecache WHERE storage = 4 AND path LIKE 'crm2/CRM_Active_Files/Documents/%' GROUP BY location; ``` **Результат:** - Project: 11,547 файлов ✅ - Contacts: 2,323 файлов ✅ - Accounts: 155 файлов ✅ - HelpDesk: 71 файлов ✅ - Invoice: 38 файлов ✅ - **В корне Documents: 7,295 файлов ❌** **Решение:** Рекомендуется не открывать корень Documents, а работать напрямую с подпапками: - `Documents/Project/` - `Documents/Contacts/` - `Documents/Accounts/` --- ### Проблема 2: Неправильный редирект в open_file_v2.php **Симптомы:** Файлы не открывались из CRM после редиректа **Причина:** URL содержал лишний параметр `dir=/`: ```php // ❌ БЫЛО: $redirectUrl = $nextcloudUrl . '/apps/files/files/' . $fileId . '?dir=/&editing=true&openfile=true'; // ✅ СТАЛО: $redirectUrl = $nextcloudUrl . '/apps/files/files/' . $fileId . '?editing=true&openfile=true'; ``` **Файл:** `/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/api/open_file_v2.php` **Изменение:** Удалён параметр `dir=/` из редиректа --- ## ✅ Проверка работоспособности ### Тест скрипта локально: ```bash php -r " \$_GET['fileName'] = 'https://s3.twcstorage.ru/.../Исковое_заявление_(проект)_395695.docx'; \$_GET['recordId'] = '395695'; require '/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/api/open_file_v2.php'; " ``` **Результат:** ``` Nextcloud Editor: PROPFIND -> https://office.clientright.ru:8443/remote.php/dav/files/admin/crm/... Nextcloud Editor: HTTP код: 207 Nextcloud Editor: Получен fileId: 86323 Nextcloud Editor: Redirect to https://office.clientright.ru:8443/apps/files/files/86323?editing=true&openfile=true ``` ✅ **Работает!** ### Тест редиректа: ```bash curl -I "https://office.clientright.ru:8443/apps/files/files/86323?editing=true&openfile=true" --user admin:office ``` **Результат:** `HTTP/2 200` ✅ --- ## 📋 Осталось сделать ### Опционально (не срочно): 1. **Очистить старые файлы из корня Documents** - переместить их в архив или удалить 2. **Настроить автоматическую очистку** при миграции файлов 3. **Скрыть корень Documents** в интерфейсе, если он не используется ### Текущее состояние: - ✅ Файлы открываются из CRM - ✅ Редактирование работает - ✅ Collabora Online подключён - ⚠️ Корень Documents открывается медленно (7,295 объектов) - ✅ Подпапки открываются быстро --- ## 🎯 Итог **Главное исправление:** Удалён лишний параметр `dir=/` из URL редиректа **Файл изменён:** - `/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/api/open_file_v2.php` (строка 102) **Статус:** ✅ Работает