Передача файла с сервера на клиент через временное хранилище
1С: 8.3.22.1923х64 Клиент-сервер. Server SQL 2019, Windows Server 2019х64. ОЗУ 144 Гб. Диски 2хSSD по 2 Гб.
После обновления платформы 1С 8.3.21.1622>>8.3.22.1923 на клиенте перестали сохранятся файлы, переданные с сервера. Опытным путем определил, что файлы с размером менее 3 Мб сохраняются без ошибок, более 3 Мб - завершается с ошибкой.
Выдаваемая ошибка:
Значение не является значением объектного типа (Записать)
{ВнешняяОбработка.Test.Форма.Форма.Форма(12)}:ДвоичныеДанные.Записать(ИмяСохраняемогоФайла);
Если сохранять файл на сервере ошибка не возникает (закомментированный код).
Исполняемый код:
Причем на более слабом сервере (на другом железе) на этой же платформе 1С 8.3.22.1923 все работает. Может кто-то сталкивался с такой проблемой, подскажите, пожалуйста в чем причина?
После обновления платформы 1С 8.3.21.1622>>8.3.22.1923 на клиенте перестали сохранятся файлы, переданные с сервера. Опытным путем определил, что файлы с размером менее 3 Мб сохраняются без ошибок, более 3 Мб - завершается с ошибкой.
Выдаваемая ошибка:
Значение не является значением объектного типа (Записать)
{ВнешняяОбработка.Test.Форма.Форма.Форма(12)}:ДвоичныеДанные.Записать(ИмяСохраняемогоФайла);
Если сохранять файл на сервере ошибка не возникает (закомментированный код).
Исполняемый код:
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура СохранитьФайл(Команда)
ИмяСохраняемогоФайла = "c:\Temp\0.csv";
АдресФайлаДанныхВХранилище = СформироватьФайлНаСервере();
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайлаДанныхВХранилище);
ДвоичныеДанные.Записать(ИмяСохраняемогоФайла); //!!!ошибка возникает в этом месте
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция СформироватьФайлНаСервере()
Текст = "";
Для ТекущаяСтрока = 1 По 250000 Цикл //для количества повторений 150000 сохранение файла выполняется без ошибок
Текст = Текст + ТекущаяСтрока + Символы.ПС;
КонецЦикла;
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("csv");
ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI);
ЗаписьТекста.ЗаписатьСтроку(Текст);
ЗаписьТекста.Закрыть();
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВременногоФайла);
АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
УдалитьФайлы(ИмяВременногоФайла);
// ИмяСохраняемогоФайла = "c:\Temp\0.csv";
// ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилищаФайла);
// ДвоичныеДанные.Записать(ИмяСохраняемогоФайла);
Возврат АдресВременногоХранилищаФайла;
КонецФункции
#КонецОбласти
ПоказатьПричем на более слабом сервере (на другом железе) на этой же платформе 1С 8.3.22.1923 все работает. Может кто-то сталкивался с такой проблемой, подскажите, пожалуйста в чем причина?
По теме из базы знаний
- Сохранение в Excel из WEB-клиента
- Как передать документ Word (ActiveDocument или ДвоичныеДанные) с сервера на клиент
- Простой способ передачи файла с клиента на сервер и обратно. Пример работы с XML
- Обмен большими данными между клиентом и сервером
- Пример работы с файлами odt в клиент-серверной модели работы
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот