Имя: Пароль:
1C
1С v8
Передача таб. дока с сервера на клиент
,
0 ejikbeznojek
 
15.02.19
16:56
Всем привет.
Есть маленькая самописка. Есть версия платформы 8.3.9.1850
Формирую таб док вывожу фоточки в него и пытаюсь вернуть на клиент.
По одному из документов получаю ошибку (текст ниже).
Я подозреваю что дело в том, что суммарный размер фоток в этом таб. доке - 130 мб.
Может быть в этом дело или копать где-то ещё?

https://prnt.sc/mliksy
https://prnt.sc/mlilrd

&НаСервере
Функция ПосмотретьСканыНаСервере()
    об=РеквизитФормыВЗначение("Объект");
    ТабДок=новый ТабличныйДокумент;
    макет=ПолучитьОбщийМакет("ПросмотрКартинок");
    ОблСтрока=макет.ПолучитьОбласть("Строка");
    ТекНаименование=РаботаНаСервере.УдалитьНедопустимыеСимволыИзСтроки(об.НаименованиеКонтрагентаНаПриложении);    
    МассивФайлов=НайтиФайлы(Константы.КаталогФотографий.Получить(),"МБ"+ТекНаименование+" номер документа "+об.номер+"*");
    для каждого СтрФайла из МассивФайлов цикл
        Фотка=Новый Картинка(СтрФайла.полноеимя);
        рисунок=ОблСтрока.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
        Рисунок.Картинка     = Фотка;
        рисунок.Расположить(ОблСтрока.Область("R1C1:R19C9"));
        ТабДок.Вывести(ОблСтрока);        
    КонецЦикла;        
    Возврат ТабДок;
КонецФункции

&НаКлиенте
Процедура ПосмотретьСканы(Команда)
    ТабДок=ПосмотретьСканыНаСервере();
    если ТабДок<>Неопределено тогда
        ТабДок.Показать();
    КонецЕсли;
    
КонецПроцедуры




Текст ошибки:


{Документ.МониторингПоБрендам.Форма.ФормаДокумента.Форма(29)}: Ошибка при вызове метода контекста (ПосмотретьСканыНаСервере)
ТабДок=ПосмотретьСканыНаСервере();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: picture    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
Значение:     Тип: {http://www.w3.org/2001/XMLSchema}base64Binary
по причине:
Ошибка отображения типов:
Отображение типа '{http://www.w3.org/2001/XMLSchema}base64Binary' в тип 'ДвоичныеДанные'
1 Dmitry1c
 
15.02.19
16:58
Надо реквизит формы "ТабДок" переименовать например в "ЭлементТабДок"

а вывод после получения с клиента делать
ТабДок=ПосмотретьСканыНаСервере();
  
если ТабДок<>Неопределено тогда
ЭлементТабДок.Вывести(ТабДок);
КонецЕсли;
2 ejikbeznojek
 
15.02.19
17:00
(1) А у меня нет такого реквизита формы
3 ejikbeznojek
 
15.02.19
17:01
(2) + у меня как раз получение с сервера и не работает.
4 ejikbeznojek
 
15.02.19
17:03
(3) + в остальных документах, где фоток поменьше формируется всё как надо.
5 ptiz
 
15.02.19
17:11
(0) Запиши в mxl-файл, и гони двоичные данные.
6 ejikbeznojek
 
15.02.19
17:16
(5) Ну понятно, что можно по всякому сделать и таки вывести то что нужно на клиенте.
Но меня пока интересуют причина, по которой это не работает сейчас.
7 ptiz
 
15.02.19
17:27
(6) Может на какой-то конкретной фотке спотыкается? Я бы попробовал вычислить - на какой.
8 palsergeich
 
15.02.19
22:39
А там точно все картинки реально картинки, а не битые файлы?
Проблема может быть и в одном
9 palsergeich
 
15.02.19
22:40
То что они реально физически существуют еще не гарантирует что с ними все хорошо
10 runoff_runoff
 
15.02.19
23:23
ПоместитьВоВременноеХранилище()
Ошибка? Это не ошибка, это системная функция.