ПоместитьВоВременноеХранилище() Есть ли ограничения? #803029


#0 by Birmingem
Делаю выгрузку данных в Ексель. В серверной процедуре собираю различные данные и помещаю все в структуру. Среди этих данных есть и простые типы значений (число, строка), и еще парочка таблиц значений. Пытаюсь передать эту структуру в процедуру на клиенте: Пишет: Ошибка получения значения из временного хранилища по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Вопрос: Есть ли какие то ограничения на помещаемые во временное хранилище данные? Можно ли туда поместить структуру, содержащую несколько таблиц значений? Или я что то не так делаю?
#1 by Имитация работы
И как ты собираешься жить с таблицей значений на клиенте?
#2 by Birmingem
В данном примере, что то вроде:
#3 by Buster007
в СП почитай про таблицу значений
#4 by dezss
ТЗ не живет на клиенте. Делай массив структур, тогда можно будет.
#5 by Birmingem
Блин... Точно. ТЗ на клиенте недоступна ... Вариант - загонять каждую строку ТЗ в структуру, а эти структуры в массив?
#6 by drcrasher
посмотри БСП на тему ТаблицаЗначенийВМассив или как-то так
#7 by Ц_У
храни отдельно ТЗ от всего остального
#8 by apokrit
Если данные нужно просто передать на клиент, то почему просто их туда не передать (прямо вот через Возврат, например)? Зачем предварительно помещать их во временное хранилище? Продавцы оборудования вам доплачивают?
#9 by H A D G E H O G s
Они могут понадобится не прямо сейчас, а могут и вообще не понадобится.
#10 by Вафель
если могут не понадобиться то лучше вообще не получать такие данные
#11 by Birmingem
Спасибо! Нашел эту функцию. Видимо так и придется. Простые значения отдельно, а каждую ТЗ в отдельный массив. Там есть несколько ТЗ, строки которых на клиенте надо перебирать и выгружать в Ексель. Есть готовая процедура, которая собирала все нужные данные в одну большую структуру (в ней и ТЗ и пр.). Все так красиво аккуратно по полочкам разложено. А теперь придется эту процедуру дробить на кучу мелких ... эх ...
#12 by Heckfy
Ну так сформируй файл на сервере и передай двоичными данными на клиента.
#13 by X Leshiy
Заполняй на сервере, делов то.
#14 by Birmingem
На сервере нет Ексель
#15 by dezss
загони в табдок...
#16 by X Leshiy
Вот тебе уже в подсказали :)
#17 by Wirtuozzz
главный вопрос: зачем передавать что то на клиент? Заполняй Ексель на сервере. Так не пойдет?
#18 by Birmingem
Выгружаемый файл Ексель состоит из нескольких листов. "загони в табдок..." Несколько листов можно сделать?
#19 by Birmingem
На сервере нет Ексель. Да и с правами на серваке еще неизвестно как дела обстоят.
#20 by dezss
вывестигоризонатльныйразделительстраниц
#21 by X Leshiy
Делаешь на сервере n табдоков, передаешь на клиент, сохраняешь в n временных эксельфайлов, делаешь файл n + 1? копируешь в него листы. Ну иди красивую функцию на n некрасивых бей :)
#22 by Heckfy
Ну так MS ADODB тебе в помощь, раз Экселя на сервере нету. :)
#23 by H A D G E H O G s
Да ты - капитан очевидность, пта. Но нет, Анатолий, иногда ВХ идет доп. данными, которое лучше сохранить и не получать еще раз, когда пользователь согласится на продолжение.
#24 by dezss
На те тему для слияния нескольких экселевских файлов
#25 by Birmingem
Спасибо! Делаю по твоему совету - для каждого будущего листа Ексель создаю ТабДок, чтобы потом на клиенте из них собрать многолистовый файл Ексель. Теперь вопрос, какой вариант оптимальнее? 1. С сервера на клиента передавать ТабДоки и на клиенте их сохранять во временные файлы Ексель 2. На сервере каждый ТабДок сохранять во временный файл Ексель, помещать во временное хранилище, и потом на клиенте получать их из временного хранилища
#26 by Fragster
я помню интересную штуку, когда большой табдок помещали во временное хранилище и очищали перед серверным вызовом, в самом серверном вызове разворачивали из хранилища и имели нехилый профит по скорости вызова
#27 by X Leshiy
Лично я передаю табдоки с сервера на клиент и показываю на форме (сохранение в эксель как доп фича). Я бы не заморачивался с ВХ, нормально все ходит в виде ТД.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С