Загрузка данных



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

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

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

&НаКлиенте
Процедура ОткрытьФайл(Команда)
	ОткрытьФайлНаСервере();
КонецПроцедуры