&НаСервере
Процедура УстановитьКартинкуНаСервере(Адрес, ИмяФайла)
Данные = ПолучитьИзВременногоХранилища(Адрес);
Спр = Справочники.Изображения.НайтиПоНаименованию(ИмяФайла);
Если ЗначениеЗаполнено(Спр) Тогда
Элемент = Спр.ПолучитьОбъект();
Иначе
Элемент = Справочники.Изображения.СоздатьЭлемент();
КонецЕсли;
Элемент.Владелец = Объект.Ссылка;
Элемент.Наименование = ИмяФайла;
Элемент.Изображение = Новый ХранилищеЗначения(Данные);
Элемент.Записать();
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Элемент.Ссылка, "Изображение");
КонецПроцедуры
&НаКлиенте
Процедура УстановитьКартинку(Команда)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда Сообщить("Запишите"); Возврат; КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьВыборФайла", ЭтаФорма);
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
НачатьПомещениеФайлов(ОписаниеОповещения, , ДиалогОткрытияФайла, Истина, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ОбработатьВыборФайла(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт
Если ПомещенныеФайлы = Неопределено Тогда
Возврат;
КонецЕсли;
Для каждого ПереданныйФайл Из ПомещенныеФайлы Цикл
ИмяФайла = ПереданныйФайл.Имя;
Адрес = ПереданныйФайл.Хранение;
УстановитьКартинкуНаСервере(Адрес, ИмяФайла);
КонецЦикла;
КонецПроцедуры // ()
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Спр = Справочники.Изображения.Выбрать(,Объект.Ссылка);
Если Спр.Следующий() Тогда
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Спр.Ссылка, "Изображение");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция СсылкаНаКартинкуНажатиеНаСервере()
Спр = Справочники.Изображения.Выбрать(,Объект.Ссылка);
Если Спр.Следующий() Тогда
Возврат ПоместитьВоВременноеХранилище(Спр.Изображение.Получить(), УникальныйИдентификатор);
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура СсылкаНаКартинкуНажатие(Элемент)
Адрес = СсылкаНаКартинкуНажатиеНаСервере();
Данные = ПолучитьИзВременногоХранилища(Адрес);
Имя = ПолучитьИмяВременногоФайла("png");
Данные.Записать(Имя);
Сообщить(Имя);
КонецПроцедуры
Еще один пример. Просто передадим файл на сервер, выбрав его на клиенте
&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбора.Фильтр = "Текстов. файлы (*.txt)|*.txt";
Оповещение = Новый ОписаниеОповещения("ВыборФайлаЗавершение", ЭтотОбъект);
ДиалогВыбора.Показать(Оповещение);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьФайл(Команда)
ОповещениеЗавершение = Новый ОписаниеОповещения("ОтправкаФайлаЗавершение" , ЭтотОбъект);
ОповещениеПередПомещением = Новый ОписаниеОповещения("ОтправкаФайлаПередПомещением" , ЭтотОбъект);
ОповещениеСтатусВыполнения = Новый ОписаниеОповещения("ОтправкаФайлаСтатусВыполнения" , ЭтотОбъект);
НачатьПомещениеФайлаНаСервер(ОповещениеЗавершение, ОповещениеСтатусВыполнения, ОповещениеПередПомещением,,ПутьКФайлу, ЭтаФорма.УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ВыборФайлаЗавершение(Файлы, Параметры) Экспорт
Если Файлы = Неопределено Тогда Возврат; КонецЕсли;
Если Файлы.Количество() > 0 Тогда
ПутьКФайлу = Файлы[0];
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправкаФайлаЗавершение(Файлы, Параметры) Экспорт
Параметры = Новый Структура("Адрес, ПомещениеФайлаОтменено, ИдентификаторФайла, Имя, Расширение, ИмяБезРасширения");
ЗаполнитьЗначенияСвойств(Параметры, Файлы);
ЗаполнитьЗначенияСвойств(Параметры, Файлы.СсылкаНаФайл.Файл);
ЗаполнитьЗначенияСвойств(Параметры, Файлы.СсылкаНаФайл);
ПринятьФайлСКлиента(Параметры);
КонецПроцедуры
&НаКлиенте
Процедура ОтправкаФайлаПередПомещением(Файлы, Отказ, Параметры) Экспорт
КонецПроцедуры
&НаКлиенте
Процедура ОтправкаФайлаСтатусВыполнения(СсылкаНаФайл, Помещено, Всего, Отказ) Экспорт
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПринятьФайлСКлиента(Параметры)
Файл = ПолучитьИзВременногоХранилища(Параметры.Адрес);
ИмяФайла = КаталогВременныхФайлов() + Параметры.ИмяБезРасширения + "_client" + Параметры.Расширение;
Файл.Записать(ИмяФайла);
ЗаписьЖурналаРегистрации("Файлы.СКлиента", УровеньЖурналаРегистрации.Информация,,,"Записан файл " + ИмяФайла);
КонецПроцедуры