&НаСервере
Процедура ЗагрузитьФайлНаСервере()
ДокументОбъект=РеквизитФормыЗначение("Объект");
Данные Файла=Новый ДвоичныеДанные(ПутьКФайлу);
КоличествоСтрок=ДокументОбъект.Документация.Количество();
ДокументОбъект.Документация.Добавить();
ДокументОбъект.Документация[КоличествоСтрока].Файл=
Новый ХранилищеЗначения(ДанныеФайла, Новый СжатиеДанных(9));
ДокументОбъект.Документация[КоличествоСтрок].ИмяФайла=ИмяФайлаДиалог;
ДокументОбъект.Документация[КоличествоСтрок].РасширениеФайла=
РасширениеФайлаИзДиалога;
ДокументОбъект.Записать();
ЗначениеВРеквизитФормы(ДокументОбъект,"Объект");
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьФайл(Команда)
Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.МножественныйВыбор=Ложь;
Если Диалог.Выбрать() Тогда
ПутьКФайлу=Диалог.ПолноеИмяФайла;
ПозицияПоследнейТочки=СтрНайти(ПутьКФайлу,".",НаправлениеПоиска.СКонца,,1);
ПозицияПоследнегоСлеша=СтрНайти(ПутьКФайлу,"\",НаправлениеПоиска.СКонца,,1);
РасширениеФайлаДиалог=Прав(ПутьКФайлу,СтрДлина(ПутьКФайлу)-ПозицияПоследнейТочки);
ИмяФайлаДиалог=Сред(ПутьКФайлу,ПозицияПоследнегоСлеша+1,ПозицияПоследнейТочки-ПозицияПоследнегоСлеша-1);
КонецЕсли;
Если Не ПутьКФайлу="" Тогда
ОткрытьФайлНаСервере();
Иначе
Сообщить("Файл не выбран");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОткрытьФайлНаСервере(НомерТекущейСтроки)
ДокументОбъект=РеквизитФормыЗначение("Объект");
Путь=ПолучитьИмяВременногоФайла(ДокументОбъект.Документация[НомерТекущейСтроки-1].РасширениеФайла);
Данные=ДокументОбъект.Документация[НомерТекущейСтроки-1].Файл.Получить();
Данные.Записать(Путь);
ЗапуститьПриложение(Путь);
ЗначениеРеквизитФормы(ДокументОбъект,"Объект");
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ОткрытьФайлНаСервере();
КонецПроцедуры