Пример:
&НаКлиенте
Процедура ПутьКОбработкеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Укажите файл";
Диалог.Фильтр = "*.epf|*.epf|*.erf|*.erf|Все файлы|*.*";
Если Не Диалог.Выбрать() Тогда
Возврат;
КонецЕсли;
ВремФайл = Новый Файл(Диалог.ПолноеИмяФайла);
ПутьКОбработке = ВремФайл.ПолноеИмя;
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКОбработке));//АдресВоВременномХранилище - Реквизит формы
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища(АдресВоВременномХранилище) Тогда
ТекущийОбъект.ХрнанилищеОбработки = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресВоВременномХранилище));
КонецЕсли;
КонецПроцедуры
Или так:
Передаем на сервер адрес временного хранилища файла, а на сервере, записываем в ТЧ объекта "Версии" в реквизит Файл (Хранилище значений).
Обязательно сделать так: Об.Записать(); //- без этого данные из реквизита файл теряются
&НаСервере
Функция ВерсииПередНачаломДобавленияНаСервере(ИмяФайла,Адрес)
Об = РеквизитФормыВЗначение("Объект");
Дв = ПолучитьИзВременногоХранилища(Адрес);
НовВерсии = Об.Версии.Добавить();
НовВерсии.ИмяФайла = ИмяФайла;
НовВерсии.Дата = ТекущаяДата();
НовВерсии.Файл = Новый ХранилищеЗначения(Дв,Новый СжатиеДанных(9));
Об.Записать(); //- без этого данные из реквизита файл теряются
ЗначениеВРеквизитФормы(Об, "Объект");
КонецФункции
&НаКлиенте
Процедура ПутьКОбработкеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Заголовок = "Укажите файл";
Диалог.Фильтр = "*.epf|*.epf|*.erf|*.erf|Все файлы|*.*";
Если Не Диалог.Выбрать() Тогда
Возврат;
КонецЕсли;
ВремФайл = Новый Файл(Диалог.ПолноеИмяФайла);
ПутьКОбработке = ВремФайл.ПолноеИмя;
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКОбработке));//АдресВоВременномХранилище - Реквизит формы
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища(АдресВоВременномХранилище) Тогда
ТекущийОбъект.ХрнанилищеОбработки = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресВоВременномХранилище));
КонецЕсли;
КонецПроцедуры
Или так:
Передаем на сервер адрес временного хранилища файла, а на сервере, записываем в ТЧ объекта "Версии" в реквизит Файл (Хранилище значений).
Обязательно сделать так: Об.Записать(); //- без этого данные из реквизита файл теряются
&НаСервере
Функция ВерсииПередНачаломДобавленияНаСервере(ИмяФайла,Адрес)
Об = РеквизитФормыВЗначение("Объект");
Дв = ПолучитьИзВременногоХранилища(Адрес);
НовВерсии = Об.Версии.Добавить();
НовВерсии.ИмяФайла = ИмяФайла;
НовВерсии.Дата = ТекущаяДата();
НовВерсии.Файл = Новый ХранилищеЗначения(Дв,Новый СжатиеДанных(9));
Об.Записать(); //- без этого данные из реквизита файл теряются
ЗначениеВРеквизитФормы(Об, "Объект");
КонецФункции