Доброго времени суток. Такая задача:
Из Базы1 нужна отправить Базу2 табличный документ через HTTP с файлом JSON.
В Базе1 из таб дока получаю строку с помощю хранилище значении в виде
В Базе2 из этой строки через Base64 получаю двоичные данные в виде:
Остался только из этих двоичных данных получить таб док. Не как не получается. Помогите плз.
Из Базы1 нужна отправить Базу2 табличный документ через HTTP с файлом JSON.
В Базе1 из таб дока получаю строку с помощю хранилище значении в виде
AgFTS2/0iI3BTqDV67a9oKcNpVbJThwxEM2ZiG/IqHMJkht5a7d9zA/kH2YBKVJO
SDmhllii5AASV05Z/mAEjBi24RfcX5JfSFXZ7oUZEIT2jF3ldlWXXy32u7dv 6Pl7
c7+bvc/YluFKcLWVD5Wwud6ajPMhFzofibEZbzs90W6bra/tWiaYQyLb+Zox 6gS0
wPnf9WG9X+/7az/3VysmRIWiQlpWSiIVyMKgGceBV6SMs+1ClpOxtbmYKJdr PlL5
aDwa5RNnR8bxreHEWAar+UNxTu0V4i/6ehUFkXruyJlkZfxQ2KwkSEmTMMDh GAxr
UQUAF/4M/hd+Xh/4mb+pjwd+Ue/5cz/1d4DupZ/W32GcD6C7CcMdCMwGIH0P xA2x
tyD0A+Tv4ktcCnKLrFpfwx/T0Q4V7OA0WQTzdcVMoIoKNhEWmq7BaO6pv61P gtGN
VhvEyioED2cWXN2CJ0RDYkTYgELkE5Usc0sIfaANXkA/h2g73mg+m2wMn+rL 1N82
/XzTLzb+w0hNRj7hslOAF1wFLpv7C0Biig7zd/WRvxr4e3DbDM2FcU7OuwXn Ra/2
HcGZehr9YNQy/D8xNB7uzDY7E7K3tQLkTYLavQ5q9QKoHzUI9ACsCWChVyQF wHVN
+F5iStRHAygzBLefJSzBwgOYm0KmDCBRFsAfwvtpvRffpDy4GpBLzmlTB0B3 cmml
I0HmHJU+5cqTZWyKh87684jJbT5SvcSqFp98RZceJkqsKRiRQEEmWYxUB+6V HCCV
AiyREtNLAe5SI+KywBiSYJxkskT3QXUGwKVDcxUndaRZiYoqF1YsCvkQn+g4 Ch7J
sZpppHQocNXSKviYk7SqCKska6o2D+cLdGAl2hcVoEbUHzjcl+twGjjdrCzo G+ld
wVzDIQDY0jtKHRPrW6j+TQ/nmf9FYX6GDs/CHHU57jEnyWc4pIr6s6xBIhbM 7BOc
hrSi7LO2z7o+G1Kkw4se38YMGdn8nmlrr4UDSsl0YscDW5YGD6sIlMZKCPeG LqdM
j9PEOauVQo0GC3x7DxDcNLQNSq3DKHa8cZbj4aBE2WYu6eOmp0/yBzK8dbow BYY3
04appETbVUYp3jFQdeZNh9YN7TrLRYc2sqVlO+86WlzZ0rqzXNgWFteZbpfb VosL
psjCUHbGQzPkqkv+1DxRkutIKc2yjzufh1/oFsdTbuArvOK8XE4ityTIHxWL 8+Eq
SEMuUginCdVOxAOhLEspCpoOCiC/eFrByQTRuWCtbiTTaVXvChlvPv8A
ПоказатьSDmhllii5AASV05Z/mAEjBi24RfcX5JfSFXZ7oUZEIT2jF3ldlWXXy32u7dv
c7+bvc/YluFKcLWVD5Wwud6ajPMhFzofibEZbzs90W6bra/tWiaYQyLb+Zox
wPnf9WG9X+/7az/3VysmRIWiQlpWSiIVyMKgGceBV6SMs+1ClpOxtbmYKJdr
aDwa5RNnR8bxreHEWAar+UNxTu0V4i/6ehUFkXruyJlkZfxQ2KwkSEmTMMDh
UQUAF/4M/hd+Xh/4mb+pjwd+Ue/5cz/1d4DupZ/W32GcD6C7CcMdCMwGIH0P
tyD0A+Tv4ktcCnKLrFpfwx/T0Q4V7OA0WQTzdcVMoIoKNhEWmq7BaO6pv61P
VhvEyioED2cWXN2CJ0RDYkTYgELkE5Usc0sIfaANXkA/h2g73mg+m2wMn+rL
/XzTLzb+w0hNRj7hslOAF1wFLpv7C0Biig7zd/WRvxr4e3DbDM2FcU7OuwXn
HcGZehr9YNQy/D8xNB7uzDY7E7K3tQLkTYLavQ5q9QKoHzUI9ACsCWChVyQF
+F5iStRHAygzBLefJSzBwgOYm0KmDCBRFsAfwvtpvRffpDy4GpBLzmlTB0B3
I0HmHJU+5cqTZWyKh87684jJbT5SvcSqFp98RZceJkqsKRiRQEEmWYxUB+6V
AiyREtNLAe5SI+KywBiSYJxkskT3QXUGwKVDcxUndaRZiYoqF1YsCvkQn+g4
sZpppHQocNXSKviYk7SqCKska6o2D+cLdGAl2hcVoEbUHzjcl+twGjjdrCzo
wVzDIQDY0jtKHRPrW6j+TQ/nmf9FYX6GDs/CHHU57jEnyWc4pIr6s6xBIhbM
hrSi7LO2z7o+G1Kkw4se38YMGdn8nmlrr4UDSsl0YscDW5YGD6sIlMZKCPeG
j9PEOauVQo0GC3x7DxDcNLQNSq3DKHa8cZbj4aBE2WYu6eOmp0/yBzK8dbow
04appETbVUYp3jFQdeZNh9YN7TrLRYc2sqVlO+86WlzZ0rqzXNgWFteZbpfb
psjCUHbGQzPkqkv+1DxRkutIKc2yjzufh1/oFsdTbuArvOK8XE4ityTIHxWL
SEMuUginCdVOxAOhLEspCpoOCiC/eFrByQTRuWCtbiTTaVXvChlvPv8A
В Базе2 из этой строки через Base64 получаю двоичные данные в виде:
02 01 53 4B 6F F4 88 8D C1 4E A0 D5 EB B6 BD A0 A7 0D A5 56 C9 4E 1C 31 10 CD 99 88 6F C8 A8 73 09 92 1B 79 6B B7 7D CC 0F E4 1F 66 01 29 52 4E 48 39 A1 96 58 A2 E4 00 12 57 4E 59 FE 60 04 8C 18 B6 E1 17 DC 5F 92 5F 48 55 D9 EE 85 19 10 84 F6 8C 5D E5 76 55 97 5F 2D F6 BB B7 6F E8 F9 7B 73 BF 9B BD CF D8 96 E1 4A 70 B5 95 0F 95 B0 B9 DE 9A 8C F3 21 17 3A 1F 89 B1 19 6F 3B 3D D1 6E 9B AD AF ED 5A 26 98 43 22 DB F9 9A 31 EA 04 B4 C0 F9 DF F5 61 BD 5F EF FB 6B 3F F7 57 2B 26 44 85 A2 42 5A 56 4A 22 15 C8 C2 A0 19 C7 81 57 A4 8C B3 ED 42 96 93 B1 B5 B9 98 28 97 6B 3E 52 F9 68 3C 1A E5 13 67 47 C6 F1 AD E1 C4 58 06 AB F9 43 71 4E ED 15 E2 2F FA 7A 15 05 91 7A EE C8 99 64 65 FC 50 D8 AC 24 48 49 93 30 C0 E1 18 0C 6B 51 05 00 17 FE 0C FE 17 7E 5E 1F F8 99 BF A9 8F...
Остался только из этих двоичных данных получить таб док. Не как не получается. Помогите плз.
По теме из базы знаний
- Работа с двоичными данными на примере чтения файлов изображений. Новые возможности 8.3.9
- Значение в строку внутреннюю для сложных типов: как работает платформа или немного о декодировании base64 в текст через двоичные данные
- Отказ от работы с временными файлами при работе с двоичными данными или Потоки как простая замена ADODB.Stream и временным файлам
- Пример преобразования двоичных данных в строку
- Альтернативное получение значения из хранилища значения. Свой ХранилищеЗначения.Получить();
Найденные решения
Такой вариант подойдет ? :
// Пакуем табдок в строку
ТабДок=Новый ТабличныйДокумент;
ТабДок.Область("R1C1").Текст = "Тесссссст";
ВрПоток = Новый ПотокВПамяти();
ТабДок.Записать(ВрПоток);
ДвоичныеДанные = ВрПоток.ЗакрытьИПолучитьДвоичныеДанные();
Строка = Base64Строка(ДвоичныеДанные);
//Сообщить(Строка);
//Распаковываем из строки
ДвоичныеДанные = Base64Значение(Строка);
ВрПоток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ВрПоток);
ТабДок.Показать();
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Такой вариант подойдет ? :
// Пакуем табдок в строку
ТабДок=Новый ТабличныйДокумент;
ТабДок.Область("R1C1").Текст = "Тесссссст";
ВрПоток = Новый ПотокВПамяти();
ТабДок.Записать(ВрПоток);
ДвоичныеДанные = ВрПоток.ЗакрытьИПолучитьДвоичныеДанные();
Строка = Base64Строка(ДвоичныеДанные);
//Сообщить(Строка);
//Распаковываем из строки
ДвоичныеДанные = Base64Значение(Строка);
ВрПоток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ВрПоток);
ТабДок.Показать();
Показать
Как вариант :
ТабДок=Новый ТабличныйДокумент;
ТабДок.Область("R1C1").Текст = "Тесссссст";
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, ТабДок, НазначениеТипаXML.Явное);
СтрJSON = ЗаписьJSON.Закрыть();
//Сообщить(СтрJSON);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрJSON);
ТабДок = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
ТабДок.Показать();
Показать
попробуйте через ЗначениеВСтроку !
пример
пример
ТабДок=Новый ТабличныйДокумент;
ТабДок.Область("R1C1").Текст = "Тесссссст";
//рез = СериализаторXDTO.ЗаписатьXDTO(ТабДок);
СтрокаТабДок = ЗначениеВСтрокуВнутр(ТабДок);
//обратное превращение из строки
ТабДок2 = ЗначениеИзСтрокиВнутр(СтрокаТабДок);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот