Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 06:57

Помогите решить ошибку с загрузкой файла

Автор Алексей_1985_06, 26 июн 2022, 19:38

0 Пользователей и 1 гость просматривают эту тему.

Алексей_1985_06

Ребята всем привет! Помогите пожалуйста разобраться, проблема в следующем:
1. Периодический (в пределах дня) РС хранит данные (документы) в формате pdf, структура регистра во вложении (скрин 1).
2. При записи файла с именем: "Информационная система", и последующем его открытии - возникает ошибка (скрин 2)
3. Стоит имя изменить на "Информационная" - тогда файл открывается, все нормально (скрин 3)
И вообще, некоторые файлы открываются нормально, а на часть из них - возникает ошибка:
по причине:
Неправильный путь к файлу '/e1cib/data/РегистрСведений.ДокументыНаСистемы.ФайлДокумента?Период=20220626000000&НаименованиеСистемы=ae6be86a64284a9411ecef3d87aff62a&НаименованиеДокумента=%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F%20%D1%81'

Код такой:
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

Если ПустаяСтрока(АдресФайла) Тогда
Возврат
КонецЕсли;

// Получить файл из ВременногоХранилища и помещаем (записываем) его в объект:
Если  ЭтоАдресВременногоХранилища(АдресФайла) Тогда   
ТекущийОбъект.ФайлДокумента = Новый ХранилищеЗначения (ПолучитьИзВременногоХранилища(АдресФайла));

ТекущийОбъект.НаименованиеСистемы = Запись.НаименованиеСистемы;
ТекущийОбъект.НаименованиеДокумента = СокрЛП(Запись.НаименованиеДокумента);
ТекущийОбъект.Период = Запись.Период;
ТекущийОбъект.РасширениеФайла = Запись.РасширениеФайла;
КонецЕсли;

КонецПроцедуры


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Если ПустаяСтрока(Запись.НаименованиеДокумента)  Тогда
Возврат
КонецЕсли;

АдресФайла = ПолучитьНавигационнуюСсылку(Запись.ИсходныйКлючЗаписи, "ФайлДокумента");
КонецПроцедуры


&НаКлиенте
Процедура Сохранить(Команда)

ПараметрыДиалога = Новый ПараметрыДиалогаПолученияФайлов();
ПараметрыДиалога.Заголовок = НСтр("ru = 'Выберите путь для сохранения файла'; en = 'Select the path to save the file'");


Если АдресФайла = ""  Тогда   
ПоказатьПредупреждение(, "Загрузите файл в библиотечную систему", 4 , "Файл отсутствует в базе данных");
Возврат
КонецЕсли;

НачатьПолучениеФайлаССервера(АдресФайла, Строка(Запись.НаименованиеДокумента) + Строка(Запись.РасширениеФайла), ПараметрыДиалога);

КонецПроцедуры

LexaK

Алексей_1985_06, хм
"Информационная система" - это НЕ открывает
"Информационная" - а это открывает

что же надо сделать что бы файлы открывались?
(неужели не видно разницы? и взаимосвязь?)

попробуйте использовать имена файлов без пробелов
(вообще есть такое понятие как Нормализация строки/наименования...)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск