|
Открыть wold'овский документ из макета | ☑ | ||
|---|---|---|---|---|
|
0
Karambol
01.11.12
✎
18:44
|
Задумка такая - в обработку добавляю макет - Activ document с wold'овским файлом, на форму добавляю кнопку, при нажатии на которую хочу открывать этот файл из макета. Подскажите, что написать в процедуре(форма управляемая)?
|
|||
|
1
Wobland
01.11.12
✎
18:46
|
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) НЗ=РегистрыСведений.ФайлыЗаданий.СоздатьНаборЗаписей(); НЗ.Отбор.Задание.Установить(Объект.Ссылка); НЗ.Прочитать(); Если НЗ.Количество() Тогда Данные=НЗ[0].Файл.Получить(); РасширениеФайла=НЗ[0].Расширение; Иначе Данные=Неопределено; Расширение=""; КонецЕсли; Если Данные<>Неопределено Тогда АдресФайла=ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если НЕ ЭтоАдресВременногоХранилища(АдресФайла) Тогда Возврат; КонецЕсли; НЗ=РегистрыСведений.ФайлыЗаданий.СоздатьНаборЗаписей(); НЗ.Отбор.Задание.Установить(Объект.Ссылка); Запись=НЗ.Добавить(); //к этому моменту ссылка не должна быть пустой Запись.Задание=Объект.Ссылка; Запись.Файл=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресФайла)); Запись.Расширение=РасширениеФайла; НЗ.Записать(); КонецПроцедуры &НаКлиенте Процедура Загрузить(Команда) Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); Диалог.МножественныйВыбор=Ложь; Диалог.Фильтр="Документы Word|*.doc|Все файлы|*.*"; Если Диалог.Выбрать() Тогда АдресФайла=ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), УникальныйИдентификатор); Ф=Новый Файл(Диалог.ПолноеИмяФайла); РасширениеФайла=Сред(Ф.Расширение, 2); Модифицированность=Истина; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура Показать(Команда) #Если ВебКлиент Тогда Предупреждение("Не доделано, не додумано"); #Иначе Если НЕ ЭтоАдресВременногоХранилища(АдресФайла) Тогда Возврат; КонецЕсли; ВременноеИмя=ПолучитьИмяВременногоФайла(РасширениеФайла); ПолучитьФайл(АдресФайла, ВременноеИмя, Ложь); ЗапуститьПриложение(ВременноеИмя); #КонецЕсли КонецПроцедуры |
|||
|
2
Wobland
01.11.12
✎
18:46
|
+(1) может глючить. а может и нет ;)
|
| Форум | Правила | Описание | Секции | Поиск |