Формирование запроса Odata со связанными сущностями

1. G_102932619011876891093 27.11.21 08:21 Сейчас в теме
Подскажите пожалуйста каким должен быть запрос что бы я мог сделать поиск по номенклатуре пытаюсь вот так вот получить остатки по определенному складу без поиска
AccumulationRegister_ТоварыНаСкладах/Balance(Condition='Склад_Key eq guid'f0e115ed-9b91-11eb-a165-3085a93c0618'')?&$expand=Номенклатура,Склад=$format=application/json

Все приходит как и ожидалось
{
"value": [
{
"Склад_Key": "f0e115ed-9b91-11eb-a165-3085a93c0618",
"Номенклатура_Key": "8610749f-e215-11ea-a242-3085a93c0618",
"Качество_Key": "d05404a0-6bce-449b-a798-41ebe5e5b977",
"ХарактеристикаНоменклатуры_Key": "00000000-0000-0000-0000-000000000000",
"СерияНоменклатуры_Key": "00000000-0000-0000-0000-000000000000",
"КоличествоBalance": 1,
"Склад": {
"Description": "Электрон",
"Parent@navigationLinkUrl": "Catalog_Склады(guid'f0e115ed-9b91-11eb-a165-3085a93c0618')/Parent",
"ТипЦенРозничнойТорговли@navigationLinkUrl": "Catalog_Склады(guid'f0e115ed-9b91-11eb-a165-3085a93c0618')/ТипЦенРозничнойТорговли",
"Подразделение@navigationLinkUrl": "Catalog_Склады(guid'f0e115ed-9b91-11eb-a165-3085a93c0618')/Подразделение"
},
"Номенклатура": {
"Description": "Дисплей (Модуль) для Samsung Galaxy A6 2018 (SM-A600F) в сборе с тачскрином Черный - Amoled",
"Ref_Key": "8610749f-e215-11ea-a242-3085a93c0618",
"Parent@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/Parent",
"ВидНоменклатуры@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ВидНоменклатуры",
"БазоваяЕдиницаИзмерения@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/БазоваяЕдиницаИзмерения",
"ЕдиницаДляОтчетов@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ЕдиницаДляОтчетов",
"ЕдиницаХраненияОстатков@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ЕдиницаХраненияОстатков",
"НоменклатурнаяГруппа@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/НоменклатурнаяГруппа",
"ОсновноеИзображение@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ОсновноеИзображение",
"ОсновнойПоставщик@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ОсновнойПоставщик",
"ОтветственныйМенеджерЗаПокупки@navigationLinkUrl": "Catalog_Номенклатура(guid'8610749f-e215-11ea-a242-3085a93c0618')/ОтветственныйМенеджерЗаПокупки"
}
Показать


Пытаюсь сделать нечто подобное
AccumulationRegister_ТоварыНаСкладах/Balance(Condition='Склад_Key eq guid'f0e115ed-9b91-11eb-a165-3085a93c0618'')?&$expand=Номенклатура,Склад&$filter=Номенклатура/any(d: d/Description eq 'Дисплей (Модуль) для Samsung Galaxy A6 2018 (SM-A600F) в сборе с тачскрином Черный - Amoled')=$format=application/json

Получаю ошибку
<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<m:code>-1</m:code>
<m:message>{(3, 109)}: Неправильный псевдоним ".Номенклатура" Ref IN ( SEL ECT Ref FR OM AccumulationRegister.ТоварыНаСкладах.Balance(, ( Склад ) = ( &cnp_Condition0 ) )<<?>>.Номенклатура WHERE ( Description ) = ( &fc_param0 ) )</m:message>
</m:error>

Вообще не уверен что я в правильном направлении смотрю, так как мне надо будет осуществлять поиск по части наименования
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user790708 29.11.21 13:34 Сейчас в теме
C Odata не работал, но судя по ошибке и описанию в документации, в запросах к виртуапьным таблицам (Balance - виртуальная таблица остатков) надо использовать conditions. $filter используется для выборки движений. Повидимому их нельзя смешивать в одном запросе.
Возможно в разных версиях 1с это поведение может отличаться.
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день