Ошибка открытия файлов в ДО

1. Sp1k3 12 26.01.23 12:49 Сейчас в теме
Добрый день! В базе 1С:Документооборот возникает ошибка при открытии файлов: Ошибка при выполнении файловой операции 'e1cib\tempstorage\0de75b0-16e2-...' Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено). Подскажите, куда копать?

UPD: Заметил, что ошибка возникает при попытке открытия файлов весом больше 1мб. Те, которые меньше, открываются без проблем
По теме из базы знаний
Найденные решения
6. melenaspb 208 26.01.23 13:33 Сейчас в теме
Платформа 8.3.22 версии? Там ошибка в платформе.Ошибка не всегда проявляетя, но если появилась - то все. Надо или откатываться 8.3.21. Или попробовать тестовую версию 8.3.22.1791, вроде в ней исправили. Или попробовать очистить серверный кэш - остановить сервер 1с предприятия и стереть каталог snccntx*, снова запустить сервер. Но чистка кэша не гарантия.
kirimayro; huzden; espero; MikStyle; wokituk; GorI; zeibba; RedG52; milanse; krundel; Silenser; vindsor; smit1c; chebser; Sp1k3; +15 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Good_Smile 26.01.23 12:58 Сейчас в теме
У вас вроде файла нет.. тип значения, которое вы пытаетесь открыть - Неопределено..
Покажите хоть код как открываете файл..
3. Sp1k3 12 26.01.23 13:04 Сейчас в теме
4. Sp1k3 12 26.01.23 13:05 Сейчас в теме
(3)
(2)
Прощу прощения, не до печатал...

Если Не ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Тогда
ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
Возврат;
КонецЕсли;


--------> ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Вот тут вываливается в ошибку
5. Sp1k3 12 26.01.23 13:06 Сейчас в теме
(2)(4)
Вот вся процедура, если поможет


Процедура ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПередачаФайла(ПараметрыВыполнения, АдресФайла = Неопределено) Экспорт
    
    Если АдресФайла = Неопределено Тогда
        Если ПараметрыВыполнения.ДанныеФайла.Версия <> ПараметрыВыполнения.ДанныеФайла.ТекущаяВерсия Тогда
            АдресФайла = РаботаСФайламиВызовСервера.ПолучитьНавигационнуюСсылкуДляОткрытия(
                ПараметрыВыполнения.ДанныеФайла.Версия, ПараметрыВыполнения.ИдентификаторФормы);
        Иначе
            АдресФайла = ПараметрыВыполнения.ДанныеФайла.НавигационнаяСсылкаТекущейВерсии;
        КонецЕсли;
    КонецЕсли;
    
    ПередаваемыеФайлы = Новый Массив;
    Описание = Новый ОписаниеПередаваемогоФайла(ПараметрыВыполнения.ИмяФайла, АдресФайла);
    ПередаваемыеФайлы.Добавить(Описание);
    
    #Если ВебКлиент Тогда
        Если ПараметрыВыполнения.ДополнительныеПараметры <> Неопределено И ПараметрыВыполнения.ДополнительныеПараметры.Свойство("ОткрытьФайл") Тогда
            
        МассивОпераций = Новый Массив;
        
        ОписаниеВызова = Новый Массив;
        ОписаниеВызова.Добавить("ПолучитьФайлы");
        ОписаниеВызова.Добавить(ПередаваемыеФайлы);
        ОписаниеВызова.Добавить(Неопределено);  // Не используется.
        ОписаниеВызова.Добавить(ПараметрыВыполнения.ПараметрПутьКФайлу);
        ОписаниеВызова.Добавить(Ложь);          // Интерактивно = Ложь.
        МассивОпераций.Добавить(ОписаниеВызова);
        
        ОписаниеВызова = Новый Массив;
        ОписаниеВызова.Добавить("ЗапуститьПриложение");
        ОписаниеВызова.Добавить(ПараметрыВыполнения.ПолноеИмяФайла);
        МассивОпераций.Добавить(ОписаниеВызова);
        
        Если Не ЗапроситьРазрешениеПользователя(МассивОпераций) Тогда
            // Пользователь не дал разрешения.
            
            // создадим запись в РС ФайлыВРабочемКаталогеКомпьютера и обновим КоличествоЗанятыхФайлов
            РаботаСФайламиВызовСервера.СоздатьЗаписьВФайлыВРабочемКаталоге(ПараметрыВыполнения.ДанныеФайла.Ссылка);
            
            КоличествоЗанятыхФайлов = РаботаСФайламиВызовСервера.ПолучитьКоличествоЗанятыхФайлов(,,Истина);

            СтандартныеПодсистемыКлиент.УстановитьПараметрКлиента(
                "КоличествоЗанятыхФайлов", 
                КоличествоЗанятыхФайлов);
            
            ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
            Возврат;
        КонецЕсли;
        
        КонецЕсли;
    #КонецЕсли
    
    Если Не ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Тогда
        ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
        Возврат;
    КонецЕсли;
    
    // Для варианта с хранением файлов на диске (на сервере)
    // файл удаляется из временного хранилища после получения.
    Если ЭтоАдресВременногоХранилища(АдресФайла) Тогда
        УдалитьИзВременногоХранилища(АдресФайла);
    КонецЕсли;
    
    Состояние();
    ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗаверше<wbrние(ПараметрыВыполнения);
    
КонецПроцедуры
Показать
6. melenaspb 208 26.01.23 13:33 Сейчас в теме
Платформа 8.3.22 версии? Там ошибка в платформе.Ошибка не всегда проявляетя, но если появилась - то все. Надо или откатываться 8.3.21. Или попробовать тестовую версию 8.3.22.1791, вроде в ней исправили. Или попробовать очистить серверный кэш - остановить сервер 1с предприятия и стереть каталог snccntx*, снова запустить сервер. Но чистка кэша не гарантия.
kirimayro; huzden; espero; MikStyle; wokituk; GorI; zeibba; RedG52; milanse; krundel; Silenser; vindsor; smit1c; chebser; Sp1k3; +15 Ответить 3
7. Sp1k3 12 26.01.23 13:54 Сейчас в теме
(6) Да. 8.3.22.1709. Сейчас возможности обновиться нет, тогда попробуем сперва почистить серверный кэш.
Есть подозрение, что ошибка стала проявляться после динамического обновления
9. Sp1k3 12 26.01.23 16:21 Сейчас в теме
(6) Серверный кэш почистил и всё заработало, спасибо за совет! Буду просить админов обновить платформу...
10. Tolyas 23.03.23 12:47 Сейчас в теме
(6) Помогла чистка кэша сервера, спасибо!
8. melenaspb 208 26.01.23 14:00 Сейчас в теме
Вроде это ошибка номер 70018120
krikmarin; +1 Ответить
11. chebser 14.04.23 13:33 Сейчас в теме
Очистка кэша помогла.
12. milanse 13.07.23 11:15 Сейчас в теме
Такая же проболема в 1С:Предприятие 8.3 (8.3.22.1851)
13. milanse 13.07.23 11:16 Сейчас в теме
14. user1894297 14.07.23 10:50 Сейчас в теме
(13) А что за cntx? Где его найти и удалить?
15. NurriK 3 14.07.23 11:23 Сейчас в теме
(14) Это папка snccntx..... , находится по пути «%ProgramFiles%\1cv8\srvinfo\reg_1541\» , то есть на сервере, где находится кластер 1С.
16. NurriK 3 14.07.23 11:26 Сейчас в теме
(14) а так в принципе если в поисковике наберёте "очистка серверного кэша 1С" или "очистка сеансовых данных на сервере 1с", то там более подробно будет описано где и как это делать.
17. milanse 14.07.23 11:48 Сейчас в теме
Более того, эта проблема вызывала некорректную обработку ошибки и в другом месте. Например обработка Диадок падала с закрытием платформы и ошибкой сеанс отсутствует или удален, а должно было быть другое и после чистки кеша поправилось.
18. wokituk 31.10.23 16:42 Сейчас в теме
В теме обсуждается ПолучитьФайлы(...)
Столкнулся точно с такой же ошибки при ПолучитьФайл(...). Работало, работало и перестало

Платформа 8.3.23.1912

Без очистки серверного Кэш помогло
замена ПолучитьФайл(...) на ПолучитьФайлССервераАсинх(...)
19. djslon16 29.11.23 18:31 Сейчас в теме
А как называется эта папка в линуксе. У нас сервер на линуксе и такая же ошибка вылазит.
20. depo 05.03.24 19:19 Сейчас в теме
Похоже, что проблема в связности объектов в tempstorage и сеансовых данных.
1С где-то хранит это соответствие. Когда вы перегружаете сервер с очисткой сеансовых данных или как у некоторых, без очистки, при этом не очищая tempstorage, закешированные файлы, остаются в tempstorage, а сеансов к ним нет. 1С валит ошибку.

Что делать.
при перезагрузке сервера 1С:
1. Стопаем сервер 1С (ждем пару минут и глушим из процессов rmngr.exe ragent.exe и все rphost.exe)
2. чистим tempstorage (каталог temp в профиле пользователя от которого работает служба сервера 1С)
3. удаляем каталог сеансовых данных snccntx3XXX...XXX в рабочем каталоге сервера 1С. Где он находится, можно посмотреть в свойствах службы сервера 1С.
4. запускаем сервер 1С
21. depo 05.03.24 19:23 Сейчас в теме
Похоже, что проблема в связности объектов в tempstorage и сеансовых данных.
1С где-то хранит это соответствие. Когда вы перегружаете сервер с очисткой сеансовых данных или как у некоторых, без очистки, при этом не очищая tempstorage, закешированные файлы, остаются в tempstorage, а сеансов к ним нет. 1С валит ошибку.

Что делать.
при перезагрузке сервера 1С:
1. Стопаем сервер 1С (ждем пару минут и глушим из процессов rmngr.exe ragent.exe и все rphost.exe)
2. чистим tempstorage (каталог temp в профиле пользователя от которого работает служба сервера 1С)
3. удаляем каталог сеансовых данных snccntx3XXX...XXX в рабочем каталоге сервера 1С. Где он находится, можно посмотреть в свойствах службы сервера 1С.
4. запускаем сервер 1С
22. mast67 25.06.24 08:09 Сейчас в теме
(6) Спасибо. Сработала очистка серверного кэша.
23. jan-pechka 435 01.02.25 19:58 Сейчас в теме
установила 25 платформу, через три дня на сервере, где Агент1с - все умерло,так как закончилось свободное место....Удалила все времянки из C:\Program Files\1cv8\srvinfo\reg_1541 (Агента1с остановить) . Ок базы открываются, но прикрепленные файлы,н-р pdf договоров, открываются только те, что меньше 1Мб....Сняла галку с ПолноценногоПоиска и все норм стало- и файлы любые открываются и на диске временные файлы перестали плодиться)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот