Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Условие отбора по реквизитам табличных частей
Дальше: Модификация данных прикладного решения

Получение данных регистра сведений

В нашей демонстрационной базе существует регистр сведений ЦеныТоваров. Этот регистр сведений содержит следующие данные (рис. 1.24).

Рис. 1.24. Данные регистра сведений «ЦеныТоваров»

Предположим, нам требуется получить срез последних записей регистра сведений ЦеныТоваров, то есть получить последние актуальные цены товаров на текущую дату. Для этого воспользуемся функцией SliceLast().

Наберем в адресной строке браузера следующий URL (листинг 1.110).

Листинг 1.110. URL запроса

localhost/REST/odata/standard.odata/InformationRegister_ЦеныТоваров/SliceLast()?$format=json&$expand=Товар&$select=Period, Товар/Description, Цена

Для наглядности мы получили связанные данные из справочника товаров с помощью параметра $expand и вывели название товара (Товар/Description) в списке полей.

В результате в окне браузера мы увидим содержимое ответа сервера (листинг 1.111).

Листинг 1.111. Содержимое ответа сервера

{

"odata.metadata": "http://localhost/REST/odata/standard.odata/$metadata#InformationRegister_ЦеныТоваров",

"value": [{

"Period": "2019-07-21T00:00:00",

"Цена": 3630,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-07-21T00:00:00', Товар_Key=guid'34c5d797-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Чайник"

}

},{

"Period": "2019-07-21T00:00:00",

"Цена": 6050,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-07-21T00:00:00', Товар_Key=guid'34c5d799-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Кофемашина"

}

},{

"Period": "2019-07-21T00:00:00",

"Цена": 2420,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-07-21T00:00:00', Товар_Key=guid'34c5d798-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Тостер"

}

}]

}

Теперь для закрепления ранее полученных знаний выведем все записи регистра сведений для конкретного товара (кофемашина), при этом историю назначения цен на товар расположим в порядке убывания дат. Для этого отфильтруем записи регистра сведений по измерению Товар (ключевое поле Товар_Key).

Наберем в адресной строке браузера следующий URL (листинг 1.112).

Листинг 1.112. URL запроса

localhost/REST/odata/standard.odata/InformationRegister_ЦеныТоваров?$filter=Товар_Key eq guid'34c5d799-7636-11e9-88b7-642737df2048'&$format=json&$expand=Товар&$select=Period, Товар/Description, Цена&$orderby=Period desc

В результате в окне браузера мы увидим содержимое ответа сервера (листинг 1.113).

Листинг 1.113. Содержимое ответа сервера

{

"odata.metadata": "http://localhost/REST/odata/standard.odata/$metadata#InformationRegister_ЦеныТоваров",

"value": [{

"Period": "2019-07-21T00:00:00",

"Цена": 6050,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-07-21T00:00:00', Товар_Key=guid'34c5d799-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Кофемашина"

}

},{

"Period": "2019-05-13T00:00:00",

"Цена": 5500,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-05-13T00:00:00', Товар_Key=guid'34c5d799-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Кофемашина"

}

},{

"Period": "2019-05-07T00:00:00",

"Цена": 5000,

"Товар@navigationLinkUrl": "InformationRegister_ЦеныТоваров(Period=datetime'2019-05-07T00:00:00', Товар_Key=guid'34c5d799-7636-11e9-88b7-642737df2048')/Товар",

"Товар": {

"Description": "Кофемашина"

}

}]

}

Назад: Условие отбора по реквизитам табличных частей
Дальше: Модификация данных прикладного решения