Имя: Пароль:
1C
 
Управляемые формы: ТабличныйДокумент.Прочитать() на клиенте и сервере
0 dave2000
 
28.01.15
16:05
Есть копия серверной базы в файловом варианте. Нужно открыть табличный документ из файла, делаю так:

&НаСервере
Функция ПолучитьТабличныйДокументИзФайлаСервер(Адрес)
    
    ИмяТемпФайла = ПолучитьИмяВременногоФайла("mxl");
    Данные = ПолучитьИзВременногоХранилища(Адрес);
    Данные.Записать(ИмяТемпФайла);
    Таб = Новый ТабличныйДокумент;
    Таб.Прочитать(ИмяТемпФайла);
    УдалитьФайлы(ИмяТемпФайла);
    
    Возврат Таб;
КонецФункции

&НаКлиенте
Процедура СравнитьНоменклатуру(Команда)
    
    Данные = Новый ДвоичныеДанные("d:\file.mxl");
    Адрес = ПоместитьВоВременноеХранилище(Данные);
    Т = ПолучитьТабличныйДокументИзФайлаСервер(Адрес);
...



Данные помещает во временное хранилище, возвращает адрес, но на сервере в функции ПолучитьТабличныйДокументИзФайлаСервер() эти данные не получает, переменная Данные=Неопределено. В чем проблема? Неуж-то в файловом варианте базы?
1 Franchiser
 
гуру
28.01.15
16:09
после получения данных на сервере тебе их нужно там же обратно поместить во временное хранилище.
2 Franchiser
 
гуру
28.01.15
16:10
а потом на клиенте получить снова....
3 Franchiser
 
гуру
28.01.15
16:10
вместо функции делай процедуру
4 Franchiser
 
гуру
28.01.15
16:12
+ Адрес сделай реквизитом формы, вообще ориентируйся как в типовых сделано
5 dave2000
 
28.01.15
16:18
(1) Это ясно, но проблема в том, что я их на сервере получить не могу, пишет:
{Форма.Форма.Форма(60)}: Значение не является значением объектного типа (Записать)
    Данные.Записать(ИмяТемпФайла);

После ПолучитьИзВременногоХранилища(Адрес) переменная Данные=Неопределено.

(2) (3) Сделал, ничего не изменилось
6 News
 
28.01.15
16:28
ПомещаемыеФайлы = Новый Массив;
Описание = Новый ОписаниеПередаваемогоФайла("d:\file.mxl");
ПомещаемыеФайлы.Добавить(Описание);
ПомещенныеФайлы = Новый Массив;
Если НЕ ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, Новый УникальныйИдентификатор) Тогда
    ВОЗВРАТ;
КонецЕсли;
7 Franchiser
 
гуру
28.01.15
16:29
Попробуй
ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор)
8 Franchiser
 
гуру
28.01.15
16:30
Или ПоместитьВоВременноеХранилище(Данные, Новый УникальныйИдентификатор)

Вероятно у тебя хранилище не доживает по какой то причине до серверно вызова.