|
Перенос данных MS SQL-> 1c |
☑ |
0
LazyCamel
13.10.14
✎
18:25
|
Добрый день.
Переношу договора непосредственно из таблицы БД в 1с. К скулю подключаюсь через ADO. Вопрос: как перетащить поле типа BLOB (прилепленный файл)?
Пишу так.
Хранилище = Справочники.ХранилищеДополнительнойИнформации;
НовФайл = Хранилище.СоздатьЭлемент();
НовФайл.Наименование = "XPS-content";
НовФайл.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл;
НовФайл.Объект = НовДоговор.Ссылка;
НовФайл.Хранилище = Новый ХранилищеЗначения(RecordSet.Fields("xpsFile").Value, Новый СжатиеДанных(9));
НовФайл.Записать();
Не прокатывает. В чем может быть дело?
|
|
1
Banned
13.10.14
✎
18:31
|
Через adodb.stream нужно в файл сохранять.
Если не подскажут, завтра на работе примерный код кину
|
|
2
Chameleon1980
13.10.14
✎
18:31
|
ругается/нет на чтонить?
|
|
3
LazyCamel
13.10.14
✎
18:36
|
(2)Нет, не ругается. Просто получившаяся запись - Null.
|
|
4
МихаилМ
13.10.14
✎
18:49
|
|
|
5
LazyCamel
14.10.14
✎
17:57
|
Ошибка при вызове метода контекста (GetChunk): Произошла исключительная ситуация (ADODB.Field): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Почитал про GetChunk. Там среди атрибутов поля есть такой флаг.
adFldLong
0x80
Indicates that the field is a long binary field. Also indicates that you can use the AppendChunk and GetChunk methods.
Не может быть в этом дело? Как вообще проверить этот флаг? В моем случае он равен 232
|
|
6
LazyCamel
21.10.14
✎
13:13
|
Задача решена, всем спасибо.
|
|