Имя: Пароль:
1C
1С v8
ComSafeArray в строку
0 Euroset1
 
27.06.18
09:58
Всем привет. Есть ComSafeArray, полученный из BLOB из оракл. Внутри побайтово текст на русском в windows 1251 кодировке.


Как собрать его в читаемую строку 1с без использования временного файла?
1 sechs
 
27.06.18
10:14
Преобразовать его в строку на стороне окакла с применением подходящего из пакета UTL_RAW
2 sechs
 
27.06.18
10:15
Можешь также про ADODB.Stream подумать
3 sechs
 
27.06.18
10:15
Можешь запользовать новомодные буфера двоичных данных в 1С
4 sechs
 
27.06.18
10:15
Дерзай, юный падаван
5 Euroset1
 
27.06.18
11:07
А почему на попытки использовать любой метод из синтакс помощника он мне пишет "значение не является значением объектного типа"? Хотя сообщить(ТипЗнч(рез)) и сообщить(рез) выдают "COMSafeArray"
6 Euroset1
 
27.06.18
11:10
Вернее ТипЗнч выдает COMSafeArray, а само значение отображается как пусто.
7 Сияющий в темноте
 
27.06.18
11:16
Поди у вас массив байт,а он для системы обьектом не является.Его нужно просто побайтно прочитать.Можно сделаиь вставку на VbScript и его функции MidB и AscB
8 Euroset1
 
27.06.18
11:36
Почему-то после первого обращения мой ComSafeArray превращается в нулл. Даже в отладчике прямо в процессе отладки
9 vde69
 
27.06.18
11:52
для каждого эл из твойКомМассив Цикл
результат = результат + Строка(эл)
КонецЦикла
10 sechs
 
27.06.18
11:59
(9) Браво!
11 Euroset1
 
27.06.18
12:07
(9) =)
Протестив глазами получил следующий результат: 034598398573974569827364987264398273649827634987263498726349876234789...


Кстати для каждого для этого массива не прокатит. его нужно сначала выгрузить в обычный и только потом... а там коды символов в нем.
12 vde69
 
27.06.18
12:42
(11) тогда

результат = результат + Символ(Число(эл))
13 vde69
 
27.06.18
12:43
(8) это из-за свойств самого отладчика (динамическое получение списка свойств), не пользуйся отладчиком, все, что нужно получай через "сообщить"
14 sechs
 
27.06.18
13:04
(12) Чтобы получить при преборазовании из win1251 очевидный ОХГДЕЖ ЙЮЙНИ ?
15 Euroset1
 
28.06.18
13:23
(13) так нифига подобного, даже два сообщить подряд различались: в первом значение, а во втором уже пустота)) Это почему-то именно с блобами и именно при таком способе получения.
16 Euroset1
 
28.06.18
13:25
Вообще в итоге перешли на пост запрос вместо блоба.
Независимо от того, куда вы едете — это в гору и против ветра!