Имя: Пароль:
1C
 
8.3.6 Перестал работать метод веб-сервиса
0 Dolphinbet
 
18.05.15
13:28
Есть метод веб сервиса, у которого один из параметров Макет компоновки данных ( Соответственно тип у этого параметра {http://v8.1c.ru/8.1/data-composition-system/composition-template}. DataCompositionTemplate ). Вызываю данный метод, передавая параметр СериализаторXDTO.ЗаписатьXDTO(МакетКомпоновкиДанных). В методе веб-сервиса соответственно получаю значение СериализаторXDTO.ПрочитатьXDTO(ИмяПараметра). На платформе 8.3.6.1977 появилась ошибка, поскольку почему-то тип объекта XDTO становится anyType вместо DataCompositionTemplate. На платформе 8.3.5 это все работало. В чем может быть проблема?
1 Garykom
 
гуру
18.05.15
13:43
(0) в днк любая ошибка пока компы и по делают люди ))
2 Dolphinbet
 
18.05.15
13:48
(1) Ну может это моя ошибка) Возможно надо как-то по другому передавать макет компоновки данных?
3 Fragster
 
гуру
18.05.15
13:49
(2) для обхода ошибки - заверни в хранилище и передавай как base64
4 Fragster
 
гуру
18.05.15
13:50
а описание ошибки на [email protected] (или какая там техподдержка у 1с) отправить неплохо бы
5 sapphire
 
18.05.15
13:50
(0) xml строка спасет
6 Dolphinbet
 
18.05.15
13:50
(3) Спасибо, сейчас попробую...
7 sapphire
 
18.05.15
13:51
(3) К чему такой изврат?
8 Fragster
 
гуру
18.05.15
13:52
(7) см. (0)
9 Fragster
 
гуру
18.05.15
13:53
(5) XMLСтрока работает только с примитивными типами
10 Fragster
 
гуру
18.05.15
13:54
(9)+ вернее с относительно примитивными :)
11 Dolphinbet
 
18.05.15
13:56
(5) да, XMLСтрока не прокатывает
12 sapphire
 
18.05.15
13:57
(10) я имел в виду, что тип параметра строковый.

Функция СериализацияXML(Знач ПереданноеЗначение) Экспорт
    ЗаписьXML=Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
    Сериализатор=Новый СериализаторXDTO(ФабрикаXDTO);
    Сериализатор.ЗаписатьXML(ЗаписьXML,ПереданноеЗначение,НазначениеТипаXML.Явное);
    СтрокаXML=ЗаписьXML.Закрыть();
    Возврат СтрокаXML;
КонецФункции


Функция ЗначениеИзСериализацииXML(СтрокаXML) Экспорт
    
    ЧтениеXML=Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(СтрокаXML);
    Сериализатор=Новый СериализаторXDTO(ФабрикаXDTO);
    ПолученноеЗначение=Сериализатор.ПрочитатьXML(ЧтениеXML);
    Возврат ПолученноеЗначение;
КонецФункции
13 Dolphinbet
 
18.05.15
14:09
(12) Да, так действительно работает! Спасибо :)
14 Fragster
 
гуру
18.05.15
14:11
(12) а, так это то же, что и через хранилище, только трафик больше :)
15 sapphire
 
18.05.15
14:40
(14) ессно, ибо передается несжатое представление.
16 sapphire
 
18.05.15
14:41
+(12) кста весьма полезно для хранения отборов