Имя: Пароль:
1C
1С v8
Передать ТЗ по http сервису
0 Sargez
 
18.09.17
12:14
Здравствуйте.

Подскажите, пожалуйста, каким наименее трудозатратным способом можно передать по http-сервису сформированную таблицу значений?

я дошел до стадии что передаю таким образом:

Текст64 = XMLСтрока(Новый ХранилищеЗначения(ТаблицаЗначений, Новый СжатиеДанных(9)));
    
    HTTPОтвет = Новый HTTPСервисОтвет(200);
    
    HTTPОтвет.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
    HTTPОтвет.УстановитьТелоИзСтроки( Текст64 );
    
    Возврат HTTPОтвет;

на стороне сервиса получаю эту строку. Можно ли как-то ее преобразовать в ТЗ ? или я иду по неправильному пути, подскажите, пожалуйста, кто сталкивался?

Заранее благодарен!
1 dezss
 
18.09.17
12:18
А че происходит если там сделать?
ХЗ = Новый ХранилищеЗначения(Текст64);
ХЗ.Получить();

Просто интересно)
2 Fedor-1971
 
18.09.17
12:18
(0) Если сам нечто отправил, значит сам и прочитаешь - простейшая логика взаимадействия
Попробуй передавать JSON или XML. Возможно, что на стороне HTTP с ними умеют работать стандартно.
3 dezss
 
18.09.17
12:20
По идее надо использовать это:
XMLЗначение(<Тип>, <СтрокаXML>)
4 Fedor-1971
 
18.09.17
12:21
(1) с принимающей стороны вроде не 1С, и было ещё одно преобразование XMLСтрока - что после оной получилось неизвестно
5 Fedor-1971
 
18.09.17
12:22
(3) просто формировать XML и не дёргать ХранилищеЗначения
6 Sargez
 
18.09.17
12:25
(1) ничего. получается та же самая xml строка
7 Sargez
 
18.09.17
12:26
(3) тк XMLСтрока я клал ХранилищеЗначений то я не смогу получить нужный мне тип Таблица значений...
8 Fedor-1971
 
18.09.17
12:27
(7) какая система на принимающей стороне?
9 Sargez
 
18.09.17
12:27
(5) можно немного по подробнее? XMLСтрока вроде бы не может преобразовать ТЗ в явном виде
10 Sargez
 
18.09.17
12:27
(8) 1с
11 Sargez
 
18.09.17
12:31
Всем большое спасибо. Нашел решение. получилось вот так:

тHTTPОтвет  = тСоединение.Получить(тHTTPЗапрос);
        тОтвет        = тHTTPОтвет.ПолучитьТелоКакСтроку();

ВозвращаемоеЗначение = XMLЗначение(Тип("ХранилищеЗначения"),тОтвет)

НужноеТЗ = ВозвращаемоеЗначение .Получить()
12 dezss
 
18.09.17
12:37
(11) Именно это и имел ввиду, когда писал про XMLЗначение.
13 Sargez
 
18.09.17
12:38
(12) Спасибо