Имя: Пароль:
1C
1С v8
1C 8.2 COMСоединение считать реквизит ХранилищеЗначения
,
0 galyausik
 
21.07.11
12:03
Подскажите, пжл
Есть две базы, соединяюсь в одной из баз с другой через ОЛЕ.

Мне нужно перенести реквизит типа ХранилищеЗначений из базы, к которой я присоединилась через ОЛЕ во вторую.

Присвоение в лоб, типо
Файл = ОбъектДрБазы.ХранилищеДопИнформацииФайл;

Файл  - реквизит в моей базе, тип Хранилище Значения
ОбъектДрБазы.ХранилищеДопИнформацииФайл - COMОбъект, в др. базе тип Хранилище Значения

Ищу, никак не могу найти, если кто встречался буду чрезмерно благодарна за пример.
1 galyausik
 
21.07.11
12:04
Так вот присвоение "в лоб" не работает, хранилище в моей базе - пустое
2 Vetal_978
 
21.07.11
12:18
Сериализуй и прочти XML (равно текст)
3 galyausik
 
21.07.11
12:25
Простите,
Сериализуй и прочти XML (равно текст)

Не до конца поняла, можно подробней
4 Rovan
 
гуру
21.07.11
12:37
(0) а так
Файл = ОбъектДрБазы.ХранилищеДопИнформацииФайл.Получить();
5 galyausik
 
21.07.11
12:45
(4)
так тоже не работает(((
ошибки не выпадает, как и при Файл = ОбъектДрБазы.ХранилищеДопИнформацииФайл, но само значение не передаётся, хранилище пустое
6 эцп
 
21.07.11
12:55
(0) Можно так:
Файл = ЗначениеИзСтрокиВнутр(ВнешнееСоединение.ЗначениеВСтрокуВнутр(ОбъектДрБазы.ХранилищеДопИнформацииФайл.Получить()));

Но может быть косяк, если файл очень большой.

А может стоит попробовать через правила обмена?
7 galyausik
 
21.07.11
14:47
(6)
А может стоит попробовать через правила обмена?

Вот блин, не поленилась и попробовала, и увы и ах, все передалось КРОМЕ ХРАНИЛИЩА ЗНАЧЕНИЯ!!!!! :'(
8 skunk
 
21.07.11
14:51
а что собственно в хранилище ... двоичные данные
9 galyausik
 
21.07.11
15:13
в хранилище обычные картинки - ну да конечно двоичные данные.

Прошу прощения, за клевету универсальной обработкой работает...
Но, к сожалению, меня универсальная не очень устраивает
10 galyausik
 
21.07.11
15:21
(6)
Файл = ЗначениеИзСтрокиВнутр(ВнешнееСоединение.ЗначениеВСтрокуВнутр(ОбъектДрБазы.ХранилищеДопИнформацииФайл.Получить()));

Не работает
11 эцп
 
21.07.11
23:32
(10) Что значит "Не работает"?

(7) Странно. При переходе с БП 1.6 на 2.0 внешние обработки (они как раз в ХранилищеЗначение) перенеслись прекрасно.

(9) А что дает ТипЗнч(ОбъектДрБазы.ХранилищеДопИнформацииФайл.Получить()) ?
12 эцп
 
21.07.11
23:32
(9) Раз уж это картинки, не проще ли сохранить во временный файл во внешней базе и уже в текущей подгрузить его?
13 galyausik
 
22.07.11
12:09
ВСЕМ СПАСИБО!!!
А особенно... эцп ...СПАСИБИЩЕ тебе огомное...

Идея вывести ТипЗнч наконец решил мою загадку!!!
У меня все получилось!

Работающий код:

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