Имя: Пароль:
1C
 
Как открывать файлы в программе по умолчанию?
0 Exorcist
 
12.12.08
17:55
Есть реквизит документа строкового типа. В этом реквизите хранится полное имя файла, содержащего некую дополнительную информацию по документу, и путь к этому файлу. Файлы могут быть разными: картинки различных форматов, текстовые и табличные документы, аудиофайлы и т.д.

Необходимо, чтобы при нажатии пользователем на кнопку данный файл (путь и имя которого прописаны в реквизите документа) открывался программой по умолчанию, указанной в Windows для данного типа файлов.

Как это можно реализовать?
1 Чес
 
12.12.08
17:55
Убил...
А просто ты хоть пробовал открыть файл?
2 IamAlexy
 
12.12.08
17:56
Глобальный контекст
ЗапуститьПриложение (RunApp)
Синтаксис:
ЗапуститьПриложение(<Строка команды>, <Текущий каталог>, <Дождаться завершения>)
Параметры:
<Строка команды> (обязательный)
Тип: Строка. Командная строка для запуска приложения либо имя файла, ассоциированного с некоторым приложением.
<Текущий каталог> (необязательный)
Тип: Строка. Задает текущий каталог запускаемого приложения.
<Дождаться завершения> (необязательный)
Тип: Булево. Истина - дожидаться завершения запущенной системы перед продолжением работы.
Значение по умолчанию: Ложь
Описание:
Выполняет запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
В отличие от функции КомандаСистемы запуск приложения выполняется непосредственно, минуя командный интерпретатор.
Пример:
ЗапуститьПриложение("www.1c.ru");
// открытие файла MS Excel
ЗапуститьПриложение("Таблица.xls");
3 Черный всадник
 
12.12.08
17:57
СП сперли? Кури - ЗапуститьПриложение.
4 Чес
 
12.12.08
17:57
Это ты в 8-ке?

КАК задолбали кретины, которые не открываю типовую начинают работать с 1С, на живых клиентах. И клиент им за это еще платит.
А потом и говорит, что 1С гумно.

Слышь, автор. Отойди от конфигуратора, бери метлу.
5 Чес
 
12.12.08
17:58
"Есть реквизит документа строкового типа. В этом реквизите хранится полное имя файла".

Ну не ...лядсьтво ли?
6 Черный всадник
 
12.12.08
18:01
(5)  Предположим что у них есть файловый сервер, файл весит пару гигов, и при этом не несет особо ценной информации. Как бы ты решил эту задачу?
7 Stepa86
 
12.12.08
18:08
А че вы накинулись? по сравнению с некоторыми дятлами на форуме топикстартер просто новичок... я вот тоже много думал, когда потребовалось файлы открывать и не сразу понял, что файлы надо открывать командой "ЗапуститьПриложение", а не чем нить вроде "ОткрытьФайл"

(5) иногда лучше хранить строку неограниченно длины (хотя я использую 1000 символов) чем по сетке гонять хранилище значений, когда оно и не нужно
8 Черный всадник
 
12.12.08
18:13
(7) Для этого нужно делать отдельный РС. См. рекомендации 1С
9 Stepa86
 
12.12.08
18:17
(8) у меня есть отдельный справочник для файлов, если нужно хранить в базе...
10 Exorcist
 
12.12.08
18:26
Виноват, протупил насчёт функции ЗапуститьПриложение(). Невнимательно прочитал о том, как она работает.

Спасибо, всё получилось
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший