Автор статьи: Живой Ископаемый
исходник: http://kb.mista.ru/article.php?id=894
В статье приведен простой способ для сериализации таблицы значений в XML-строку.
В СП написано что таблица значений сериализуется в XML, но например такой код:
Сообщить(XMLСтрока(тзБуф));
Падает с криком:
Код обработки результата: Строка 3: Ошибка при вызове метода контекста (XMLСтрока): Ошибка преобразования данных XML
Решение предоставляет объект СериализаторXDTO и его метод ЗаписатьXML().
Вот такой код:
    ТЗ = новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("Кол1");
    ТЗ.Колонки.Добавить("Кол2");
 
    Стр = ТЗ.Добавить();
    Стр.Кол1 = 1; 
    Стр.Кол2 = "1"; 
 
    Стр = ТЗ.Добавить();
    Стр.Кол1 = 2; 
    Стр.Кол2 = "2"; 
 
    ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
    СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ТЗ);
    СтрокаXML = ЗаписьXML.Закрыть();
 
    Сообщить( СтрокаXML );
Выдает искомую xml-ину:
<ValueTable xmlns="http://v8.1c.ru/8.1/data/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <column> <Name xsi:type="xs:string">Кол1</Name> <ValueType/> </column> <column> <Name xsi:type="xs:string">Кол2</Name> <ValueType/> </column> <row> <Value xsi:type="xs:decimal">1</Value> <Value xsi:type="xs:string">1</Value> </row> <row> <Value xsi:type="xs:decimal">2</Value> <Value xsi:type="xs:string">2</Value> </row> </ValueTable>