Имя: Пароль:
1C
 
Ошибка при вызове метода контекста (Записать)
0 Forest143
 
26.09.06
12:03
Есть процедура для просмотра файлов в формате jpg.При отладке в строке
 ДвоичныеДанные.Записать(ИмяФайла);
Вываливается ошибка:
Ошибка доступа к файлу 'C:\Documents and Settings\user\Local Settings\Temp\Example.jpg'
Так как процедуру писал не Я (человек уже давно уволился) не могу разобраться самостоятельно.Может кто-то сталкивался с подобной проблемой?Помогите, пожалуйста!Заранее благодарен всем ответившим.
1 х86
 
26.09.06
12:18
прав на изменение файла нет
2 Forest143
 
28.09.06
11:03
Вот текст процедуры:
Процедура КоманднаяПанельСписокДокументовОткрытьФайл(Кнопка)
 НетОшибок=Истина;
 СтрокаТек = ЭлементыФормы.СписокДокументов.ТекущаяСтрока;
 Если Не ПустаяСтрока(СтрокаТек) Тогда
   
   
   Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   | ТехническаяДокументация.Хранилище Как Хранилище,
   | ТехническаяДокументация.ИмяФайла Как ИмяФайла
   |ИЗ
   | РегистрСведений.ТехническаяДокументация Как ТехническаяДокументация
   |ГДЕ
   | ТехническаяДокументация.Номер = &Номер
   | И ТехническаяДокументация.Документ.Ссылка = &Ссылка";
   Запрос.УстановитьПараметр("Номер",СтрокаТек.Код);
   Запрос.УстановитьПараметр("Ссылка",ЭтотОбъект.Ссылка);
   Результат = Запрос.Выполнить().Выгрузить();
   
   Если Результат.Количество()<> 0 тогда
     
     Для Каждого Строка Из Результат Цикл
       ПарамХранилище = Строка.Хранилище;
       ПарамИмя = Строка.ИмяФайла
     КонецЦикла;
     
     Попытка
       Имяфайла = КаталогВременныхФайлов() + "/"+СтрокаТек.ИмяФайла;
       ФайлНаДиске = Новый Файл(ИмяФайла);
       Если ТипЗнч(ПарамХранилище) <> Тип("ДвоичныеДанные") Тогда
         ДвоичныеДанные = ПарамХранилище.Получить();
       Иначе
         ДвоичныеДанные = ПарамХранилище;
       КонецЕсли;
       ФайлНаДиске.УстановитьТолькоЧтение(Ложь);
       ДвоичныеДанные.Записать(ИмяФайла);
       ФайлНаДиске.УстановитьТолькоЧтение(Истина);
     Исключение
       НетОшибок=Ложь;
       СообщитьОшибка("Ошибка! Файл не записан!");
     КонецПопытки
   Иначе
     НетОшибок=Ложь;
     Предупреждение("Запись с файлом не обнаружена!");
   КонецЕсли;
 Иначе
   НетОшибок=Ложь;
   Предупреждение("Строка не выбранна!");
 КонецЕсли;
 Если НетОшибок Тогда
   ЗапуститьПриложение(ИмяФайла);
 КонецЕсли;
КонецПроцедуры
С помощью этой процедуры можно открывать файлы .txt .xls , jpg почему-то по-прежнему не открывается.Подскажите,пожалуйста!!!!В чём проблема???
3 Razgon_off
 
28.09.06
11:10
А зачем ты файл типа jpg - пытаешся записать в строку?
4 Razgon_off
 
28.09.06
11:13
А фу ошибся, но


Для Каждого Строка Из Результат Цикл



Может вместо Строка - Лучше написать ТекСтр?
А то пользуешся зарезерваированным словом
5 Forest143
 
28.09.06
11:19
{Справочник.ТехническаяДокументация.Форма.ФормаЭлемента(168)}: Ошибка при вызове метода контекста (УстановитьТолькоЧтение): Ошибка доступа к файлу: C:\Documents and Settings\User\Local Settings\Temp\Example.doc
6 megalodon
 
28.09.06
11:22
файл уже чем то открыт наверна
7 Forest143
 
28.09.06
11:23
В том-то и дело,что ничем не открыт...
8 Razgon_off
 
28.09.06
11:25
Ошибка доступа к файлу 'C:\Documents and Settings\user\Local Settings\Temp\Example.jpg'


Ошибка доступа к файлу: C:\Documents and Settings\User\Local Settings\Temp\Example.doc

Почему в ошибках 2 разных разрешения?
9 Forest143
 
28.09.06
11:51
ЗапуститьПриложение(<Строка команды>, <Текущий каталог>)
Выполняет запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения.
10 Forest143
 
28.09.06
12:57
4 Razgon off
>Почему в ошибках 2 разных разрешения?

Насколько я понимаю для ЗапуститьПриложение не имеет значения раcширение файла?!Если Вы об этом...