// Получить расширение файла.
РасширениеВременногоФайла = Прав(Объект.ИмяФайла, 4);
Если Лев(РасширениеВременногоФайла, 1) = "." Тогда
// Получить имя временного файла. Установить расширение временного файла.
РасширениеВременногоФайла = Прав(Объект.ИмяФайла, 3);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(РасширениеВременногоФайла);
Иначе
// Получить имя временного файла с расширением по умолчанию.
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
КонецЕсли;
// Сохранить файл на диске. Запустить приложение.
СохранитьЗапуститьФайл(ИмяВременногоФайла, Истина);
// Если не указано имя файла прервать выполнение процедуры
Если ПустаяСтрока(ИмяВнешнегоФайла) Тогда
Сообщить("Не указано имя файла!");
Возврат;
КонецЕсли;
// Сохранить файл на диске
ВнешнийФайл = Объект.Ссылка.Хранилище.Получить();
Попытка
ВнешнийФайл.Записать(ИмяВнешнегоФайла);
Исключение
Сообщить("Ошибка при сохранении файла: " + ОписаниеОшибки(), СтатусСообщения.Важное);
Возврат;
КонецПопытки;
// Запустить ассоциированное с файлом приложение. Открыть файл.
Если Запустить Тогда
Файл = Новый Файл(ИмяВнешнегоФайла);
Если Файл.Существует() Тогда
Попытка
ЗапуститьПриложение("explorer " + ИмяВнешнегоФайла);
Исключение
Сообщить("Ошибка при запуске файла: " + ОписаниеОшибки(), СтатусСообщения.Важное);
Возврат;
КонецПопытки;
Иначе
Сообщить("Не удалось найти файл " + ИмяВнешнегоФайла + " на диске!");
КонецЕсли;