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