|
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
|
ВСЕМ СПАСИБО!!!
А особенно... эцп ...СПАСИБИЩЕ тебе огомное...
Идея вывести ТипЗнч наконец решил мою загадку!!!
У меня все получилось!
Работающий код:
Файл = Новый ХранилищеЗначения(ЗначениеИзСтрокиВнутр(ВнешнееСоединение.ЗначениеВСтрокуВнутр(ОбъектДрБазы.ХранилищеДопИнформацииФайл.Получить())));
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший