Имя: Пароль:
1C
1С v8
Передать табличный документ из обычной формы на сервер
0 igorekha
 
06.03.15
00:12
Каким образом можно это сделать?

1. Напрямую не передается, ошибка: Попытка передачи мутабельного значения.

2. Пробовал поместить в модуле ОФ табличный документ во временное хранилище:
<sxh 1c>АдресТабДок = ПоместитьВоВременноеХранилище(ТабличныйДокумент, Новый УникальныйИдентификатор);</sxh 1c>

На сервере при попытке использовать ПолучитьИзВременногоХранилища по этому адресу пусто.
1 MrStomak
 
06.03.15
00:14
Что за чушь, табдок не мутабельный.
Вот параметры в нём - могут быть мутабельные, да.
2 igorekha
 
06.03.15
00:18
(1) Хорошо, очень ценная тонкость, но табдок нужно передать целиком. Как это лучше всего сделать в данном случае?
3 MrStomak
 
06.03.15
00:22
(2) Ну лучше всего избавиться от мутабельных параметров - они же не просто так такие, их передача куда-то не имеет смысла.
А так - можно попробовать хранилище значения - под него всякое маскировать любят.
4 igorekha
 
06.03.15
00:31
(3) Попробовал сделать по вашему совету.
Ошибка : "Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент"

Есть еще варианты? Избавиться от мутабельных параметров не вариант, себе дороже.
5 MrStomak
 
06.03.15
00:37
ЗначениеВСтрокуВнутр(), ЗначениеИзСтрокиВнутр()?
6 igorekha
 
06.03.15
00:46
(5) нет, эта функция табличные документы не переваривает:

{(1)}: Ошибка при вызове метода контекста (ЗначениеИзСтрокиВнутр)
7 MrStomak
 
06.03.15
00:53
Имя = ПолучитьИмяВременногоФайла("MXL");
ТабличныйДокумент.Записать(Имя);
ДвоичныеДанные = Новый ДвоичныеДанные(Имя);

Передаешь двоичные данные.
На сервере:
ИмяНаСервере = ПолучитьИмяВременногоФайла("mxl");
ТабДок = Новый ТабличныйДокумент;

ДвоичныеДанные.Записать(ИмяНаСервере);
ТабДок.Прочитать(ИмяНаСервере);
???
8 MrStomak
 
06.03.15
01:00
(6) Очень странно, даже интересно.
Эта 7ая хрень же всё переваривает.
9 alle68
 
06.03.15
03:00
(0) Ты уверен, что "ТабличныйДокумент" это не поле ТД, а именно ТД? И что передаётся в параметры, чтобы они стали мутабельными, объекты что ли?
10 Рэйв
 
06.03.15
06:28
(0)Ты таб док же полюбому на сервере заполнял. Чего ты гоняешь его туда-сюда?
11 ИС-2
 
naïve
06.03.15
06:59
можно тупо записать в файл и передать адрес файла.
Или записать в хранилище значений какого-нибудь объекта
12 ДенисЧ
 
06.03.15
07:30
(10) У него обычные формы, так что и на клиенте может.
(0) Только избавляться от мутабельных параметров. Иного нормального пути нет.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс