Имя: Пароль:
1C
1С v8
Результат запроса в строку "XMLСтрока(РезультатЗапроса)"
0 shlyahtich
 
12.02.14
15:10
Надо мне получить результат запроса строкой - но перебирать выборку вроде как глупо если есть xml

вот справка

СериализаторXDTO (XDTOSerializer)
XMLСтрока (XMLString)
Синтаксис:

XMLСтрока(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Неопределено; Null; Булево; Число; Строка; Дата; УникальныйИдентификатор; ДвоичныеДанные; ХранилищеЗначения; значения перечислений, значения системных перечислений (ВидСчета; ВидДвиженияБухгалтерии; ВидДвиженияНакопления; ДопустимыйЗнак; ДопустимаяДлина; ЧастиДаты) или все ссылки на объекты базы данных.
Значение, для которого должно быть получено строковое представление, которое может быть использовано как текст элемента или значение атрибута XML. Как строка XML могут быть представлены значения следующих типов:
Null, Булево, Число, Строка, Дата, УникальныйИдентификатор, ДвоичныеДанные, ХранилищеЗначения и все ссылки на объекты базы данных
Возвращаемое значение:

Тип: Строка.

Описание:

Получает XML представление значения для помещения в текст элемента или значение атрибута XML.
XML представления различных типов платформы 1С:Предприятие 8:
"Строка" - как есть;
"Булево": "Истина" - "true", "Ложь" -"false";
"Дата" - XML представление соответствует представлению типа dateTime схемы XML (см. http://www.w3.org/TR/xmlschema-2/#dateTime);
"Число" - XML представление соответствует представлению типа decimal схемы XML (см. http://www.w3.org/TR/xmlschema-2/#decimal);
Значение системного перечисления (для перечислений, поддерживающих XML сериализацию) - имя значения перечисления;
"УникальныйИдентификатор" - строковое представление уникального идентификатора;
"Ссылки" - XML представление уникального идентификатора ссылки;
"ХранилиищеЗначений" и "ДвоичныеДанные" - строка в формате base64.


Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.

Результат = Запрос.Выполнить(); сериализуется

однако

XMLСтрока(Результат); выдает ошибку преобразования xml

чего я не дочитал?
1 Зойч
 
12.02.14
15:18
Не понял, где ты прочитал что результат запроса сериализуется?
2 shlyahtich
 
12.02.14
15:19
(1) в справке
РезультатЗапроса (QueryResult)
Свойства:

Колонки (Columns)

Методы:

Выбрать (Choose)
Выгрузить (Unload)
Пустой (IsEmpty)

Описание:

Содержит результат выполнения запроса. Предназначен для хранения и обработки полученных данных.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером. Сериализуется.
Пример:
3 Serginio1
 
12.02.14
15:27
Так ты вызови

сериализаторXDTO.ЗаписатьXML(ЗаписьХМЛ,Результат)

XMLСтрока не для объектов

Получает XML представление значения для помещения в текст элемента или значение атрибута XML.
XML представление зависит от типа значения:
Строка - как есть;
Булево: Истина - как "true", Ложь - как "false";
Дата - XML представление соответствует представлению типа dateTime схемы XML (см. http://www.w3.org/TR/xmlschema-2/#dateTime);
Число - XML представление соответствует представлению типа decimal схемы XML (см. http://www.w3.org/TR/xmlschema-2/#decimal);
Значение системного перечисления (для перечислений, поддерживающих XML сериализацию) - как имя значения перечисления;
УникальныйИдентификатор - как строковое представление уникального идентификатора;
Ссылки - как XML представление уникального идентификатора ссылки;
ХранилищеЗначения и ДвоичныеДанные - как строка в формате base64.
4 shlyahtich
 
12.02.14
15:30
(3) да уже пытаюсь именно так - дочитал до XDTO спасибо
5 shlyahtich
 
12.02.14
15:33
(3)выдает ошибку на последней строке

Результат = ЗапросКРегиструХозрасчетныйСервер();

    ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
    СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Результат,, );

Несоответствие типов (параметр номер '2') (Ошибка отображения типов)
6 Serginio1
 
12.02.14
15:53
Кстати а где ты вычитал, что он сериализуется?
Выгружай в ТЗ или ДЗ и их сериализуй
7 shlyahtich
 
12.02.14
16:04
(6) в справке

(1) в справке
РезультатЗапроса (QueryResult)
Свойства:

Колонки (Columns)

Методы:

Выбрать (Choose)
Выгрузить (Unload)
Пустой (IsEmpty)

Описание:

Содержит результат выполнения запроса. Предназначен для хранения и обработки полученных данных.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Возможен обмен с сервером. Сериализуется.
8 Serginio1
 
12.02.14
16:23
Да написано, Но не написано в какой тип XDTO.

Напртмер для ТЗ
Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: ValueTable.
9 shlyahtich
 
12.02.14
18:48
(8) если не написано в какой - значит в любой!!!)))
но именно с ТЗ или ДЗ все работает ОК
10 shlyahtich
 
12.02.14
18:50
(8)
пишется результат запрос в строку практически мгновенно - а нужно было это вот для чего - за период фрмируется запрос по рег хозу и период закрывается. ХЭШ контролирует что в закрытом периоде точно не было изменений.
11 Serginio1
 
12.02.14
18:59
(9) Угу такого не может быть. Должно быть пространство имен и имя типа
(10)
Ну так ТЗ для этого прекрасно подходит. Хотя формировать XML может по разному.
Можно еще использовать

v8: Base64Строка(). Боль. Страдание. Унижение.
Или вообще хэш значений.
12 Serginio1
 
13.02.14
10:21
11+ Лучше сохранить ТЗ в файл и взять от него хэш сумму
v8: SHA256 для 8.3.3
13 shlyahtich
 
13.02.14
14:24
(12) аха познавательно и вовремя - все потому что на 8.3.4.408 вот только руки дойдут... главное идея - а то дали тупое задание, чтоб в регионах не могли править ДЗР - и при том что там коллеги имеют все права админов. Вот и родилась идея коллегам сказать, что как только они закроют период - я записываю у себя обработкой хэш их рег хоза а потом в лог шиппинговых базах периодически контролирую и если не совпало... уж не обессудьте
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан