Имя: Пароль:
1C
1С v8
Конвертация из БСП в КА Хранилища
0 GrMice
 
10.12.13
23:15
Столкнулся с проблемой что вообще не понимаю как конвертировать из БСП В Комплексную "Прикрепленные файлы". Вообщем никак не получается полноценно перегрузить сами файлы. Их наименования, и пр. Реквизиты переносятся а само вложение нет. Вообщем бьюсь в истерике.
1 pavig
 
11.12.13
00:27
выгрузка:
Хранилище.Получить().Записать(<путь>);
затем загрузка:
Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Новый Файл(<путь>)));

вполне прокатит наверное... недолго обработку накидать
2 zladenuw
 
11.12.13
00:36
а если Base64Строка? и передавать вместе с тз, а в приемнике получать значение
3 pavig
 
11.12.13
01:35
(2) тоже наверное вариант кстати :-)
4 echo77
 
11.12.13
07:22
Мне кажется хранилище значения конвертируется как простой тип, т.е без указания ПКО
5 Defender aka LINN
 
11.12.13
07:53
(0) Сериализовать в строку, записать в параметр, при загрузке обратно
6 rinatru
 
11.12.13
08:02
(4) полностью согласен. у меня фотографии просто перенеслись, без всяких плясок
7 GrMice
 
11.12.13
11:19
А примера обработки случаем нет ? )
8 GrMice
 
13.12.13
07:29
Вообщем проблему решил. Если кому пригодиться:
В пко создаю правило РегистрСведенийЗапись.ХранимыеФайлыВерсий -> СправочникСсылка.ХранилищеДополнительнойИнформации

Далее Передаю в параметр значения в ПКС
ХранимыйФайл // Двоичные данные вообщем сам файл

Владелец -> //Перед выгрузкой
Значение = Источник.ВерсияФайла.Владелец.ВладелецФайла;

ИмяФайла ->
Значение = Источник.ВерсияФайла.Владелец.Наименование + "." + Источник.ВерсияФайла.Расширение;

Ну и естественно в ПКО После Загрузки создаю новый элемент справочинка
9 GrMice
 
13.12.13
07:30
Попытка
НоваяЗапись = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
НоваяЗапись.Объект = ПараметрыОбъекта["Владелец"];
НоваяЗапись.Наименование = ПараметрыОбъекта["ИмяФайла"];
НоваяЗапись.Хранилище = ПараметрыОбъекта["ХранимыйФайл"];
НоваяЗапись.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
НоваяЗапись.ИмяФайла = ПараметрыОбъекта["ИмяФайла"];
НоваяЗапись.Записать();
Исключение;
КонецПопытки;