Добрый день! В базе 1С:Документооборот возникает ошибка при открытии файлов: Ошибка при выполнении файловой операции 'e1cib\tempstorage\0de75b0-16e2-...' Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено). Подскажите, куда копать?
UPD: Заметил, что ошибка возникает при попытке открытия файлов весом больше 1мб. Те, которые меньше, открываются без проблем
UPD: Заметил, что ошибка возникает при попытке открытия файлов весом больше 1мб. Те, которые меньше, открываются без проблем
По теме из базы знаний
- Согласование документов 1С:Документооборот и 1С:Консолидация из Outlook 2010-2013 без запуска 1С (с исходниками)
- Совместное использование 1С:Сервер взаимодействия и Документооборот 8 КОРП, редакция 2.1.13 - Уведомления для рабочего стола
- Дополнительные функции для 1С:Документооборот
- Цифровая подпись. Документооборот КОРП 2.1
- Интеграция с 1С:Документооборотом. Интегрируй меня полностью
Найденные решения
Платформа 8.3.22 версии? Там ошибка в платформе.Ошибка не всегда проявляетя, но если появилась - то все. Надо или откатываться 8.3.21. Или попробовать тестовую версию 8.3.22.1791, вроде в ней исправили. Или попробовать очистить серверный кэш - остановить сервер 1с предприятия и стереть каталог snccntx*, снова запустить сервер. Но чистка кэша не гарантия.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
(2)
Прощу прощения, не до печатал...
Если Не ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Тогда
ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
Возврат;
КонецЕсли;
--------> ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Вот тут вываливается в ошибку
(2)
Прощу прощения, не до печатал...
Если Не ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Тогда
ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
Возврат;
КонецЕсли;
--------> ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Вот тут вываливается в ошибку
(2)(4)
Вот вся процедура, если поможет
Вот вся процедура, если поможет
Процедура ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловПередачаФайла(ПараметрыВыполнения, АдресФайла = Неопределено) Экспорт
Если АдресФайла = Неопределено Тогда
Если ПараметрыВыполнения.ДанныеФайла.Версия <> ПараметрыВыполнения.ДанныеФайла.ТекущаяВерсия Тогда
АдресФайла = РаботаСФайламиВызовСервера.ПолучитьНавигационнуюСсылкуДляОткрытия(
ПараметрыВыполнения.ДанныеФайла.Версия, ПараметрыВыполнения.ИдентификаторФормы);
Иначе
АдресФайла = ПараметрыВыполнения.ДанныеФайла.НавигационнаяСсылкаТекущейВерсии;
КонецЕсли;
КонецЕсли;
ПередаваемыеФайлы = Новый Массив;
Описание = Новый ОписаниеПередаваемогоФайла(ПараметрыВыполнения.ИмяФайла, АдресФайла);
ПередаваемыеФайлы.Добавить(Описание);
#Если ВебКлиент Тогда
Если ПараметрыВыполнения.ДополнительныеПараметры <> Неопределено И ПараметрыВыполнения.ДополнительныеПараметры.Свойство("ОткрытьФайл") Тогда
МассивОпераций = Новый Массив;
ОписаниеВызова = Новый Массив;
ОписаниеВызова.Добавить("ПолучитьФайлы");
ОписаниеВызова.Добавить(ПередаваемыеФайлы);
ОписаниеВызова.Добавить(Неопределено); // Не используется.
ОписаниеВызова.Добавить(ПараметрыВыполнения.ПараметрПутьКФайлу);
ОписаниеВызова.Добавить(Ложь); // Интерактивно = Ложь.
МассивОпераций.Добавить(ОписаниеВызова);
ОписаниеВызова = Новый Массив;
ОписаниеВызова.Добавить("ЗапуститьПриложение");
ОписаниеВызова.Добавить(ПараметрыВыполнения.ПолноеИмяФайла);
МассивОпераций.Добавить(ОписаниеВызова);
Если Не ЗапроситьРазрешениеПользователя(МассивОпераций) Тогда
// Пользователь не дал разрешения.
// создадим запись в РС ФайлыВРабочемКаталогеКомпьютера и обновим КоличествоЗанятыхФайлов
РаботаСФайламиВызовСервера.СоздатьЗаписьВФайлыВРабочемКаталоге(ПараметрыВыполнения.ДанныеФайла.Ссылка);
КоличествоЗанятыхФайлов = РаботаСФайламиВызовСервера.ПолучитьКоличествоЗанятыхФайлов(,,Истина);
СтандартныеПодсистемыКлиент.УстановитьПараметрКлиента(
"КоличествоЗанятыхФайлов",
КоличествоЗанятыхФайлов);
ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
Возврат;
КонецЕсли;
КонецЕсли;
#КонецЕсли
Если Не ПолучитьФайлы(ПередаваемыеФайлы,, ПараметрыВыполнения.ПараметрПутьКФайлу, Ложь) Тогда
ВернутьРезультат(ПараметрыВыполнения.ОбработчикРезультата, ПараметрыВыполнения);
Возврат;
КонецЕсли;
// Для варианта с хранением файлов на диске (на сервере)
// файл удаляется из временного хранилища после получения.
Если ЭтоАдресВременногоХранилища(АдресФайла) Тогда
УдалитьИзВременногоХранилища(АдресФайла);
КонецЕсли;
Состояние();
ПолучитьССервераИЗарегистрироватьВЛокальномКэшеФайловЗаверше ние(ПараметрыВыполнения);
КонецПроцедуры
Показать
Платформа 8.3.22 версии? Там ошибка в платформе.Ошибка не всегда проявляетя, но если появилась - то все. Надо или откатываться 8.3.21. Или попробовать тестовую версию 8.3.22.1791, вроде в ней исправили. Или попробовать очистить серверный кэш - остановить сервер 1с предприятия и стереть каталог snccntx*, снова запустить сервер. Но чистка кэша не гарантия.
Более того, эта проблема вызывала некорректную обработку ошибки и в другом месте. Например обработка Диадок падала с закрытием платформы и ошибкой сеанс отсутствует или удален, а должно было быть другое и после чистки кеша поправилось.
В теме обсуждается ПолучитьФайлы(...)
Столкнулся точно с такой же ошибки при ПолучитьФайл(...). Работало, работало и перестало
Платформа 8.3.23.1912
Без очистки серверного Кэш помогло
замена ПолучитьФайл(...) на ПолучитьФайлССервераАсинх(...)
Столкнулся точно с такой же ошибки при ПолучитьФайл(...). Работало, работало и перестало
Платформа 8.3.23.1912
Без очистки серверного Кэш помогло
замена ПолучитьФайл(...) на ПолучитьФайлССервераАсинх(...)
Похоже, что проблема в связности объектов в 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С
1С где-то хранит это соответствие. Когда вы перегружаете сервер с очисткой сеансовых данных или как у некоторых, без очистки, при этом не очищая tempstorage, закешированные файлы, остаются в tempstorage, а сеансов к ним нет. 1С валит ошибку.
Что делать.
при перезагрузке сервера 1С:
1. Стопаем сервер 1С (ждем пару минут и глушим из процессов rmngr.exe ragent.exe и все rphost.exe)
2. чистим tempstorage (каталог temp в профиле пользователя от которого работает служба сервера 1С)
3. удаляем каталог сеансовых данных snccntx3XXX...XXX в рабочем каталоге сервера 1С. Где он находится, можно посмотреть в свойствах службы сервера 1С.
4. запускаем сервер 1С
Похоже, что проблема в связности объектов в 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С
1С где-то хранит это соответствие. Когда вы перегружаете сервер с очисткой сеансовых данных или как у некоторых, без очистки, при этом не очищая tempstorage, закешированные файлы, остаются в tempstorage, а сеансов к ним нет. 1С валит ошибку.
Что делать.
при перезагрузке сервера 1С:
1. Стопаем сервер 1С (ждем пару минут и глушим из процессов rmngr.exe ragent.exe и все rphost.exe)
2. чистим tempstorage (каталог temp в профиле пользователя от которого работает служба сервера 1С)
3. удаляем каталог сеансовых данных snccntx3XXX...XXX в рабочем каталоге сервера 1С. Где он находится, можно посмотреть в свойствах службы сервера 1С.
4. запускаем сервер 1С
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот