Имя: Пароль:
1C
1С v8
Запись в реквизит ХранилищеЗначений
0 bamond
 
10.07.13
13:01
День добрый. Есть ФормаИсполнителя в БП , хочется в ней прикреплять файл и что бы он автоматически записывался в документ который согласовывает данный БП.
В документе есть реквизит ДанныеФайла - ХранилищеЗначений.

Подскажите пожалуйста как его вытащить из документа и записать в него информацию о файле...
&НаСервере
.Получить();
.Записать();
не работает почему то =(
Видимо с ХранилищеЗначений как то по особому дела обстоят?
1 Mitriy
 
10.07.13
13:08
(0) да, для хранилища нет представления в интерфейсных объектах, оно существует только в объектах на сервере...
2 bamond
 
10.07.13
13:13
И как быть подскажите пожалуйста =( очень нужно такую штучку реализовать
3 Mitriy
 
10.07.13
13:17
в событиях формы ПриЧтенииНаСервере и ПередЗаписьюНаСервере есть параметр ТекущийОбъект, который и является реальным объектом с доступными для записи и чтения реквизитами типа хранилища...
4 bamond
 
10.07.13
13:33
{БизнесПроцесс.БП.Форма(150)}: Поле объекта недоступно для записи (ДанныеФайла)
       ТекущийОбъект.БизнесПроцесс.СсылкаНаДокумент.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные);


Вот так =((
5 bamond
 
10.07.13
14:02
Помогите пожалуйста... как правильно это делается?
6 Mitriy
 
10.07.13
14:30
у тебя в реквизите не хранилище, поэтому тебе вообще по барабану, где писать, лишь бы на сервере...

получай объектдокумент из СсылкаНаДокумент и пиши в ДанныеФайла Новый ХранилищеЗначения, потом не забудь записать объектдокумент...
7 bamond
 
10.07.13
15:25
УРА. Спасибо огромное за наводки =)) !
Вот правильное решение ... для будущих поколений

Объекты = ТекущийОбъект.Предмет.ПолучитьОбъект();
Объекты.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные);
Объекты.ИмяФайла = ИмяФайла;
Объекты.Записать();