Имя: Пароль:
1C
 
Как быстро результат запроса выгрузить в JSON или XML, не перебирая отдельные записи?
0 Гений 1С
 
гуру
04.06.21
14:49
Пишу веб-сервис, который выдает информацию по товарам из базы.
Нужно выполнить запрос и быстро собрать JSON/XML, не перебирая отдельные записи.
1С в такое умеет?
1 Вафель
 
04.06.21
14:49
таблицу можно вроде как
2 acht
 
04.06.21
14:49
Геня, какой же ты непосредсвенный...
3 Вафель
 
04.06.21
14:50
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: ValueTable.
4 Жеглофф
 
04.06.21
14:51
а "башляй ©" уже было?
5 Гений 1С
 
гуру
04.06.21
14:52
Хотя нашел свою же ветку: https://forum.infostart.ru/forum9/topic57361/
(3) ТЗ - это лишний дрыг к памяти. Я смотрю РезультатЗапроса можно сериализовать.
6 Garykom
 
гуру
04.06.21
14:52
(0) если xml/json нужен другого вида отличного от дефолтного (3) то один фиг перебирать записи
7 Гений 1С
 
гуру
04.06.21
14:53
РезультатЗапроса (QueryResult)

Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Возможен обмен с сервером. <B>Сериализуется</B>.
8 1Сергей
 
04.06.21
14:53
циклофобия
9 Гений 1С
 
гуру
04.06.21
14:56
(8) Скорости для.

Попробовал так:
З = Новый Запрос("ВЫБРАТЬ * ИЗ Справочник.Валюты");
Р = З.Выполнить();
Сообщить(ЗначениеВСтрокуВнутр(Р));

Получил:

{"#",0f725605-ea6e-420c-8968-a82dbfcd51cd,
{0,1,8182374e-7600-47bf-974e-05f8e0432420,
{
{"T",5,14,"S","ID","S","Version","S","Marked","S","Code","S","Description","S","Fld20637","S","Fld20638","S","Fld20639","S","Fld20640","S","Fld20641","S","Fld20642","S","Fld20643","S","","S","PredefinedID","R",39:aef90015e9b8c48d11e0335144e9f2fe,"V",0000000100000003,"L",0,"S","56","S","У.Е.","L",0,"S","Условные единицы","N",5,"R",39:b4360015e92f280211df720f9c556d4d,"S",", , , , , , , ,","S","","R",938:ab2bb5058e6202a4431f6d16c9ab3890,"L",0,"BC",C16.0.,"R",39:a7a9000d884fd00d11e4c18026093579,"V",0000000100000001,"L",0,"S","643","S","RUB","L",0,"S","Российский рубль","N",0,"R",39:00000000000000000000000000000000,"S","рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2","S","","R",938:a938e8e5d49975ef406e5da074f03c35,"L",0,"BC",C16.0.,"R",39:b4360015e92f280211df720f9c556d4d,"V",0000000100000002,"L",0,"S","840","S","USD","L",1,"S","Доллар США","N",0,"R",39:00000000000000000000000000000000,"S","доллар, доллара, долларов, м, цент, цента, центов, м, 2","S","","R",938:bca3fd18fa091c5843fd204e31c3ac44,"L",0,"BC",C16.0.,"R",39:b3360011955cba6b11df722051ed67a6,"V",0000000100000000,"L",0,"S","978","S","EUR","L",1,"S","Евро","N",0,"R",39:00000000000000000000000000000000,"S","евро, евро, евро, с, цент, цента, центов, м, 2 знака","S","","R",938:bca3fd18fa091c5843fd204e31c3ac44,"L",0,"BC",C16.0.}
},0,0,0,0,0,1,0,
{14,14,
{"Ref","Ссылка",25,
{"Pattern",
{"#",3a87ef2a-9de1-4d34-9e5f-3c8cdf53b3ab},
{"L"}
},0,0,0,
{0,0},0,0,1,0},
{"DataVersion","ВерсияДанных",12,
{"Pattern",
{"S",12,0},
{"L"}
},0,0,1,0,
{1,0,"Catalog.Валюты","DataVersion",""},
{0,0},0,1,1,0},
{"DeletionMark","ПометкаУдаления",2,
{"Pattern",
{"B"},
{"L"}
},0,0,0,
{0,0},0,2,1,0},
{"Code","Код",3,
{"Pattern",
{"S",3,1},
{"L"}
},0,0,0,
{0,0},0,3,1,0},
{"Description","Наименование",10,
{"Pattern",
{"S",10,1},
{"L"}
},0,0,0,
{0,0},0,4,1,0},
{"ЗагружаетсяИзИнтернета","ЗагружаетсяИзИнтернета",2,
{"Pattern",
{"B"},
{"L"}
},0,0,0,
{0,0},0,5,1,0},
{"НаименованиеПолное","НаименованиеПолное",50,
{"Pattern",
{"S",50,1},
{"L"}
},0,0,0,
{0,0},0,6,1,0},
{"Наценка","Наценка",10,
{"Pattern",
{"L"},
{"N",10,2,0}
},0,0,0,
{0,0},0,7,1,0},
{"ОсновнаяВалюта","ОсновнаяВалюта",25,
{"Pattern",
{"#",3a87ef2a-9de1-4d34-9e5f-3c8cdf53b3ab},
{"L"}
},0,0,0,
{0,0},0,8,1,0},
{"ПараметрыПрописи","ПараметрыПрописи",200,
{"Pattern",
{"S",200,1},
{"L"}
},0,0,0,
{0,0},0,9,1,0},
{"ФормулаРасчетаКурса","ФормулаРасчетаКурса",100,
{"Pattern",
{"S",100,1},
{"L"}
},0,0,0,
{0,0},0,10,1,0},
{"СпособУстановкиКурса","СпособУстановкиКурса",25,
{"Pattern",
{"#",a01d58fd-ca5c-43b1-ad9c-8e39ce91beba},
{"L"}
},0,0,0,
{0,0},0,11,1,0},
{"Predefined","Предопределенный",2,
{"Pattern",
{"B"},
{"L"}
},0,0,0,
{0,0},0,12,1,0},
{"PredefinedDataName","ИмяПредопределенныхДанных",256,
{"Pattern",
{"S",256,1},
{"L"}
},0,0,1,1,
{1,0,"Catalog.Валюты","PredefinedDataName",""},
{0,0},0,13,1,0}
},0,1,0,0,-1,0,0,0,0,0,0,0,0,0,00000000-0000-0000-0000-000000000000}
}
10 Гений 1С
 
гуру
04.06.21
14:58
А вот так хренушки:

З = Новый Запрос("ВЫБРАТЬ * ИЗ Справочник.Валюты");
Р = З.Выполнить();

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

Сообщить(СтрокаXML);

Несоответствие типов (параметр номер '2') (Ошибка отображения типов)
{(7)}:СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Р);
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(13)}:       Выполнить(ТекстДляВыполнения);

по причине:
Несоответствие типов (параметр номер '2') (Ошибка отображения типов)
11 Гений 1С
 
гуру
04.06.21
14:59
Если поменять на ЗаписатьXML(ЗаписьXML, Р);
То:
Значения данного типа не могут быть представлены в XML
{(6)}:ЗаписатьXML(ЗаписьXML, Р);
{ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(13)}:       Выполнить(ТекстДляВыполнения);

по причине:
Значения данного типа не могут быть представлены в XML
12 Гений 1С
 
гуру
04.06.21
15:01
А вот ТЗ да, сериализируется:

З = Новый Запрос("ВЫБРАТЬ * ИЗ Справочник.Валюты");
Р = З.Выполнить().Выгрузить();

ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();
СериализаторXDTO.Записать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">Ссылка</Name>
        <ValueType>
            <Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:CatalogRef.Валюты</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>Ссылка</Title>
        <Width xsi:type="xs:decimal">25</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ВерсияДанных</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>12</Length>
                <AllowedLength>Fixed</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>ВерсияДанных</Title>
        <Width xsi:type="xs:decimal">12</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ПометкаУдаления</Name>
        <ValueType>
            <Type>xs:boolean</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>ПометкаУдаления</Title>
        <Width xsi:type="xs:decimal">2</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">Код</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>3</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>Код</Title>
        <Width xsi:type="xs:decimal">3</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">Наименование</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>10</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>Наименование</Title>
        <Width xsi:type="xs:decimal">10</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ЗагружаетсяИзИнтернета</Name>
        <ValueType>
            <Type>xs:boolean</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>ЗагружаетсяИзИнтернета</Title>
        <Width xsi:type="xs:decimal">2</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">НаименованиеПолное</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>50</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>НаименованиеПолное</Title>
        <Width xsi:type="xs:decimal">50</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">Наценка</Name>
        <ValueType>
            <Type>Null</Type>
            <Type>xs:decimal</Type>
            <NumberQualifiers>
                <Digits>10</Digits>
                <FractionDigits>2</FractionDigits>
                <AllowedSign>Any</AllowedSign>
            </NumberQualifiers>
        </ValueType>
        <Title>Наценка</Title>
        <Width xsi:type="xs:decimal">10</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ОсновнаяВалюта</Name>
        <ValueType>
            <Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:CatalogRef.Валюты</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>ОсновнаяВалюта</Title>
        <Width xsi:type="xs:decimal">25</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ПараметрыПрописи</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>200</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>ПараметрыПрописи</Title>
        <Width xsi:type="xs:decimal">200</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ФормулаРасчетаКурса</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>100</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>ФормулаРасчетаКурса</Title>
        <Width xsi:type="xs:decimal">100</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">СпособУстановкиКурса</Name>
        <ValueType>
            <Type xmlns:d4p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d4p1:EnumRef.СпособыУстановкиКурсаВалюты</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>СпособУстановкиКурса</Title>
        <Width xsi:type="xs:decimal">25</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">Предопределенный</Name>
        <ValueType>
            <Type>xs:boolean</Type>
            <Type>Null</Type>
        </ValueType>
        <Title>Предопределенный</Title>
        <Width xsi:type="xs:decimal">2</Width>
    </column>
    <column>
        <Name xsi:type="xs:string">ИмяПредопределенныхДанных</Name>
        <ValueType>
            <Type>xs:string</Type>
            <Type>Null</Type>
            <StringQualifiers>
                <Length>256</Length>
                <AllowedLength>Variable</AllowedLength>
            </StringQualifiers>
        </ValueType>
        <Title>ИмяПредопределенныхДанных</Title>
        <Width xsi:type="xs:decimal">256</Width>
    </column>
    <row>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">44e9f2fe-3351-11e0-aef9-0015e9b8c48d</Value>
        <Value xsi:type="xs:string">AAAAAQAAAAM=</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">56</Value>
        <Value xsi:type="xs:string">У.Е.</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">Условные единицы</Value>
        <Value xsi:type="xs:decimal">5</Value>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">9c556d4d-720f-11df-b436-0015e92f2802</Value>
        <Value xsi:type="xs:string">, , , , , , , ,</Value>
        <Value xsi:type="xs:string"/>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:EnumRef.СпособыУстановкиКурсаВалюты">НаценкаНаКурсДругойВалюты</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string"/>
    </row>
    <row>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">26093579-c180-11e4-a7a9-000d884fd00d</Value>
        <Value xsi:type="xs:string">AAAAAQAAAAE=</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">643</Value>
        <Value xsi:type="xs:string">RUB</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">Российский рубль</Value>
        <Value xsi:type="xs:decimal">0</Value>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">00000000-0000-0000-0000-000000000000</Value>
        <Value xsi:type="xs:string">рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2</Value>
        <Value xsi:type="xs:string"/>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:EnumRef.СпособыУстановкиКурсаВалюты">РучнойВвод</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string"/>
    </row>
    <row>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">9c556d4d-720f-11df-b436-0015e92f2802</Value>
        <Value xsi:type="xs:string">AAAAAQAAAAI=</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">840</Value>
        <Value xsi:type="xs:string">USD</Value>
        <Value xsi:type="xs:boolean">true</Value>
        <Value xsi:type="xs:string">Доллар США</Value>
        <Value xsi:type="xs:decimal">0</Value>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">00000000-0000-0000-0000-000000000000</Value>
        <Value xsi:type="xs:string">доллар, доллара, долларов, м, цент, цента, центов, м, 2</Value>
        <Value xsi:type="xs:string"/>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:EnumRef.СпособыУстановкиКурсаВалюты">ЗагрузкаИзИнтернета</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string"/>
    </row>
    <row>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">51ed67a6-7220-11df-b336-0011955cba6b</Value>
        <Value xsi:type="xs:string">AAAAAQAAAAA=</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string">978</Value>
        <Value xsi:type="xs:string">EUR</Value>
        <Value xsi:type="xs:boolean">true</Value>
        <Value xsi:type="xs:string">Евро</Value>
        <Value xsi:type="xs:decimal">0</Value>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:CatalogRef.Валюты">00000000-0000-0000-0000-000000000000</Value>
        <Value xsi:type="xs:string">евро, евро, евро, с, цент, цента, центов, м, 2 знака</Value>
        <Value xsi:type="xs:string"/>
        <Value xmlns:d3p1="http://v8.1c.ru/8.1/data/enterprise/current-config" xsi:type="d3p1:EnumRef.СпособыУстановкиКурсаВалюты">ЗагрузкаИзИнтернета</Value>
        <Value xsi:type="xs:boolean">false</Value>
        <Value xsi:type="xs:string"/>
    </row>
</ValueTable>
13 Dzenn
 
гуру
04.06.21
15:02
Или просто сериализуй таблицу значений, или сделай свой ПакетXDTO и на основании него выгружай во что хочется
14 Гений 1С
 
гуру
04.06.21
15:03
Гм, даже в JSON можно, прикольно:


З = Новый Запрос("ВЫБРАТЬ * ИЗ Справочник.Валюты");
Р = З.Выполнить().Выгрузить();


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

Сообщить(СтрокаJSON);

{
"#type": "jv8:ValueTable",
"#value": {
"column": [
{
"Name": {
"#type": "jxs:string",
"#value": "Ссылка"
},
"ValueType": {
"Type": [
"{http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogRef.Валюты",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "Ссылка",
"Width": {
"#type": "jxs:decimal",
"#value": 25
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ВерсияДанных"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 12,
"AllowedLength": "Fixed"
}
},
"Title": "ВерсияДанных",
"Width": {
"#type": "jxs:decimal",
"#value": 12
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ПометкаУдаления"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}boolean",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "ПометкаУдаления",
"Width": {
"#type": "jxs:decimal",
"#value": 2
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "Код"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 3,
"AllowedLength": "Variable"
}
},
"Title": "Код",
"Width": {
"#type": "jxs:decimal",
"#value": 3
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "Наименование"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 10,
"AllowedLength": "Variable"
}
},
"Title": "Наименование",
"Width": {
"#type": "jxs:decimal",
"#value": 10
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ЗагружаетсяИзИнтернета"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}boolean",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "ЗагружаетсяИзИнтернета",
"Width": {
"#type": "jxs:decimal",
"#value": 2
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "НаименованиеПолное"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 50,
"AllowedLength": "Variable"
}
},
"Title": "НаименованиеПолное",
"Width": {
"#type": "jxs:decimal",
"#value": 50
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "Наценка"
},
"ValueType": {
"Type": [
"{http://v8.1c.ru/8.1/data/core}Null",
"{http://www.w3.org/2001/XMLSchema}decimal"
],
"NumberQualifiers": {
"Digits": 10,
"FractionDigits": 2,
"AllowedSign": "Any"
}
},
"Title": "Наценка",
"Width": {
"#type": "jxs:decimal",
"#value": 10
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ОсновнаяВалюта"
},
"ValueType": {
"Type": [
"{http://v8.1c.ru/8.1/data/enterprise/current-config}CatalogRef.Валюты",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "ОсновнаяВалюта",
"Width": {
"#type": "jxs:decimal",
"#value": 25
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ПараметрыПрописи"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 200,
"AllowedLength": "Variable"
}
},
"Title": "ПараметрыПрописи",
"Width": {
"#type": "jxs:decimal",
"#value": 200
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ФормулаРасчетаКурса"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 100,
"AllowedLength": "Variable"
}
},
"Title": "ФормулаРасчетаКурса",
"Width": {
"#type": "jxs:decimal",
"#value": 100
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "СпособУстановкиКурса"
},
"ValueType": {
"Type": [
"{http://v8.1c.ru/8.1/data/enterprise/current-config}EnumRef.СпособыУстановкиКурсаВалюты",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "СпособУстановкиКурса",
"Width": {
"#type": "jxs:decimal",
"#value": 25
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "Предопределенный"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}boolean",
"{http://v8.1c.ru/8.1/data/core}Null"
]
},
"Title": "Предопределенный",
"Width": {
"#type": "jxs:decimal",
"#value": 2
}
},
{
"Name": {
"#type": "jxs:string",
"#value": "ИмяПредопределенныхДанных"
},
"ValueType": {
"Type": [
"{http://www.w3.org/2001/XMLSchema}string",
"{http://v8.1c.ru/8.1/data/core}Null"
],
"StringQualifiers": {
"Length": 256,
"AllowedLength": "Variable"
}
},
"Title": "ИмяПредопределенныхДанных",
"Width": {
"#type": "jxs:decimal",
"#value": 256
}
}
],
"row": [
[
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "44e9f2fe-3351-11e0-aef9-0015e9b8c48d"
},
{
"#type": "jxs:string",
"#value": "AAAAAQAAAAM="
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "56"
},
{
"#type": "jxs:string",
"#value": "У.Е."
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "Условные единицы"
},
{
"#type": "jxs:decimal",
"#value": 5
},
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "9c556d4d-720f-11df-b436-0015e92f2802"
},
{
"#type": "jxs:string",
"#value": ", , , , , , , ,"
},
{
"#type": "jxs:string",
"#value": ""
},
{
"#type": "jcfg:EnumRef.СпособыУстановкиКурсаВалюты",
"#value": "НаценкаНаКурсДругойВалюты"
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": ""
}
],
[
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "26093579-c180-11e4-a7a9-000d884fd00d"
},
{
"#type": "jxs:string",
"#value": "AAAAAQAAAAE="
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "643"
},
{
"#type": "jxs:string",
"#value": "RUB"
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "Российский рубль"
},
{
"#type": "jxs:decimal",
"#value": 0
},
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "00000000-0000-0000-0000-000000000000"
},
{
"#type": "jxs:string",
"#value": "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"
},
{
"#type": "jxs:string",
"#value": ""
},
{
"#type": "jcfg:EnumRef.СпособыУстановкиКурсаВалюты",
"#value": "РучнойВвод"
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": ""
}
],
[
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "9c556d4d-720f-11df-b436-0015e92f2802"
},
{
"#type": "jxs:string",
"#value": "AAAAAQAAAAI="
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "840"
},
{
"#type": "jxs:string",
"#value": "USD"
},
{
"#type": "jxs:boolean",
"#value": true
},
{
"#type": "jxs:string",
"#value": "Доллар США"
},
{
"#type": "jxs:decimal",
"#value": 0
},
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "00000000-0000-0000-0000-000000000000"
},
{
"#type": "jxs:string",
"#value": "доллар, доллара, долларов, м, цент, цента, центов, м, 2"
},
{
"#type": "jxs:string",
"#value": ""
},
{
"#type": "jcfg:EnumRef.СпособыУстановкиКурсаВалюты",
"#value": "ЗагрузкаИзИнтернета"
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": ""
}
],
[
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "51ed67a6-7220-11df-b336-0011955cba6b"
},
{
"#type": "jxs:string",
"#value": "AAAAAQAAAAA="
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": "978"
},
{
"#type": "jxs:string",
"#value": "EUR"
},
{
"#type": "jxs:boolean",
"#value": true
},
{
"#type": "jxs:string",
"#value": "Евро"
},
{
"#type": "jxs:decimal",
"#value": 0
},
{
"#type": "jcfg:CatalogRef.Валюты",
"#value": "00000000-0000-0000-0000-000000000000"
},
{
"#type": "jxs:string",
"#value": "евро, евро, евро, с, цент, цента, центов, м, 2 знака"
},
{
"#type": "jxs:string",
"#value": ""
},
{
"#type": "jcfg:EnumRef.СпособыУстановкиКурсаВалюты",
"#value": "ЗагрузкаИзИнтернета"
},
{
"#type": "jxs:boolean",
"#value": false
},
{
"#type": "jxs:string",
"#value": ""
}
]
]
}
}

15 Dzenn
 
гуру
04.06.21
15:03
А перебирать всё равно придётся — если не ты, то за тебя это сделает платформа
16 Гений 1С
 
гуру
04.06.21
15:06
(15) платформа шустрее сделает. Правда, хотелось бы по своему формату JSON, хз
17 sikuda
 
04.06.21
18:17
Выполнить() - результат в памяти
Выгрузить() - копия результата в памяти
И да можно ещё ОткрытьПоток и ограничить его вменяемым размером.
18 Гений 1С
 
гуру
04.06.21
18:26
(17) но без выгрузить не получится сериализовать средствами платформы. похоже тут в платформе пробел
19 Ненавижу 1С
 
гуру
04.06.21
18:30
(18) так давно ждём freerad
20 Гений 1С
 
гуру
04.06.21
18:49
(19) Терпение, моё юный друх, терпение.
21 NorthWind
 
04.06.21
18:55
(0) в таблю значений, а ее потом через сериализатор.
22 NorthWind
 
04.06.21
18:57
а, ну я поздно, уже ответили
23 mistеr
 
04.06.21
19:06
(14) Классический пример методологии "сначала бежим на Мисту, потом заглядываем в доку" от Гени.
24 Гений 1С
 
гуру
04.06.21
19:14
(23) увы, РезультатЗапроса не сериализируется...
25 rsv
 
04.06.21
19:21
(0) возможно  через релизов 10 и сделают.
Что то типа  FOR XML
26 Вафель
 
04.06.21
19:25
А в чем проблема выгрузить то?
Не там ты оптимизируешь
27 ДенисЧ
 
04.06.21
19:28
Результат запроса - по определению и построению механизм последовательного (или почти последовательного) обхода данных...
Поэтому вряд ли оно можно одним махом всех забивахом...
28 Вафель
 
04.06.21
19:29
Результат запроса нельзя обойти.
Обойти можно выборку
29 Гений 1С
 
гуру
04.06.21
21:00
(28) как? или ты побуквоедить?
30 Волшебник
 
модератор
04.06.21
21:05
(29) Он вообще-то лучше тебя понимает платформу.
Выборка создаёт курсор на сервере, который может выдавать следующую запись результата запроса.
Учись, студент.
31 Вафель
 
04.06.21
21:12
(30) нет конечно же. Так же в память все грузится как и с таблицей
32 Вафель
 
04.06.21
21:13
(29) вообще то было денисычу замечание
33 mistеr
 
04.06.21
23:36
(31) На сервере 1С имелось в виду.
34 mistеr
 
04.06.21
23:39
(26) Проблемы нет, просто ему лень.
35 Сергиус
 
05.06.21
02:55
(0)Лучше замерь с какой скоростью твои данные придут туда, откуда вызываешь и будут там обработаны..возможно тормоз не в том месте)
36 Гений 1С
 
гуру
05.06.21
10:42
(30) в данном случае он пришел сюда побуквоедить. Я спрашивал не о выборке, а о сериализации.
37 Гений 1С
 
гуру
05.06.21
10:43
(34) не лень, просто выгрузка средствами 1С это потеря скорости
38 Гений 1С
 
гуру
05.06.21
10:43
(35) там утверждают что миллионы записей из my SQL обрабатывают без проблем. удивлены, что 1С не умеет быстро отдавать
39 acht
 
05.06.21
11:22
(37) Пиши ВК, у тебя ж опыт есть. Заодно будет почва для пары статей, кучи вопросов на форумах и море развлечения для нас.
40 acht
 
05.06.21
11:23
(38) Ну ты тоже много чего утверждаешь, что уж.
41 Вафель
 
05.06.21
14:02
Проблема скорости вебсервисы не в скорости выборки или сериализации, а в скорости инициализации сеанса
42 Гений 1С
 
гуру
05.06.21
14:13
(41) смотря какая выборка. Если тысяч 60, то 1с будет долго ее генерить.
43 Гений 1С
 
гуру
05.06.21
14:16
Хотя я в конкретно данном случае решил использовать ODATA, там платформа генерит запрос, все норм по скорости
44 acht
 
05.06.21
14:16
(42) О, ну хоть какие-то числовые метрики начали появляться.
А 60 тысяч чего ты собрался сериализовать для сайта каждые 2 секунды?
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.