Доброго дня, коллеги.

Потребовалось в powerBI получить данные из УТ11.
Опубликовали, настроили передаваемые данные, сопоставили поля в powerBI...
И тут понадобилось некое поле - дополнительный реквизит.
Не понимаю, почему

```1c
    odata/standard.odata/Catalog_Номенклатура?$format=json&$select=Ref_Key,Description,Code,ДополнительныеРеквизиты
```

выводит данные + коллекцию доп реквизитов, а

```1c
    odata/standard.odata/Catalog_Партнеры?$format=json&$select=Ref_Key,Description,Code,ДополнительныеРеквизиты
```

всегда пусто? В настройках в составе передачи, разумеется выбраны все необходимые метаданные (пвх допсвойства, номенклатура, партнеры и почти все связанные справочники).

И ещё: можно ли через odata получить значение доп реквизита как отдельное поле (json)?
Т.е. из такого ответа:

```1c
    {
    "odata.metadata": ".../odata/standard.odata/$metadata#Catalog_Номенклатура",
    "value": [
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "Description": " Atlas Copco фильтр воздушный 1631043590 Filter element 00-01-01867",
    "Code": "00-01-01867",
    "ДополнительныеРеквизиты": [
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "LineNumber": "1",
    "Свойство_Key": "863f65c6-aadf-11e4-80be-00155d006306",
    "Значение": "8dbea7b9-aadf-11e4-80be-00155d006306",
    "Значение_Type": "StandardODATA.Catalog_ЗначенияСвойствОбъектов",
    "ТекстоваяСтрока": "
    },
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "LineNumber": "2",
    "Свойство_Key": "eb322a2c-c727-11e4-942f-00155d000d00",
    "Значение": "Filter element ",
    "Значение_Type": "Edm.String",
    "ТекстоваяСтрока": "
    },
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "LineNumber": "3",
    "Свойство_Key": "c057220b-34f3-11e5-943b-00155d000d00",
    "Значение": "497f0896-34f4-11e5-943b-00155d000d00",
    "Значение_Type": "StandardODATA.Catalog_ЗначенияСвойствОбъектов",
    "ТекстоваяСтрока": "
    },
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "LineNumber": "4",
    "Свойство_Key": "57636227-7b36-11ea-8984-00155d000400",
    "Значение": "true",
    "Значение_Type": "Edm.Boolean",
    "ТекстоваяСтрока": "
    }
    ]
    }
    ]
    }
```

Получить что-то вроде

```1c
    {
    "odata.metadata": ".../odata/standard.odata/$metadata#Catalog_Номенклатура",
    "value": [
    {
    "Ref_Key": "8eb50f3a-ea45-11e7-94e3-00155d000d00",
    "Description": " Atlas Copco фильтр воздушный 1631043590 Filter element 00-01-01867",
    "Code": "00-01-01867",
    "ДопРеквизит": "Значение"
    }
    ]
    }
```

Где "ДопРеквизит" - это конкретный реквизит таблицы... т.е. нужен $select='Значение' из коллекции "ДополнительныеРеквизиты" где $filter="Свойство_Key" eq '8dbea7b9-aadf-11e4-80be-00155d006306'
Вроде есть оператор items, только я не пойму как им пользоваться.
---
odata - зло.
Решил с помощью sql получить данные.

```1c
    SEL ECT
    dbo.sp_getid(Партнеры._IDRRef) AS GUID,
    --Партнеры._IDRRef,
    Партнеры._Description AS Наименование,
    ДополнительныеРеквизитыИСведения._Description AS Свойство,
    CASE ДополнительныеРеквизиты._Fld3927_TYPE
    WHEN 0x02 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_L, 1)
    WHEN 0x03 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_N)
    WHEN 0x04 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_T, 120)
    WHEN 0x05 THEN ДополнительныеРеквизиты._Fld3927_S
    WHEN 0x08 THEN
    CASE ДополнительныеРеквизиты._Fld3927_RTRef
    WHEN 0x00000069 THEN ЗначенияСвойствОбъектов._Description
    ELSE ''
    END
    ELSE NULL
    END AS Значение
    FR OM _Reference157 AS Партнеры
    LEFT OUTER JOIN _Reference157_VT3924 AS ДополнительныеРеквизиты
    LEFT OUTER JOIN _Chrc697 AS ДополнительныеРеквизитыИСведения
    ON ДополнительныеРеквизитыИСведения._IDRRef = ДополнительныеРеквизиты._Fld3926RRef
    ON Партнеры._IDRRef = ДополнительныеРеквизиты._Reference157_IDRRef
    LEFT OUTER JOIN _Reference105 AS ЗначенияСвойствОбъектов
    ON ЗначенияСвойствОбъектов._IDRRef = ДополнительныеРеквизиты._Fld3927_RRRef
```
---
odata - зло.
Решил с помощью sql получить данные.

```1c
    SEL ECT
    dbo.sp_getid(Партнеры._IDRRef) AS GUID,
    --Партнеры._IDRRef,
    Партнеры._Description AS Наименование,
    ДополнительныеРеквизитыИСведения._Description AS Свойство,
    CASE ДополнительныеРеквизиты._Fld3927_TYPE
    WHEN 0x02 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_L, 1)
    WHEN 0x03 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_N)
    WHEN 0x04 THEN CONVERT(nvarchar(100), ДополнительныеРеквизиты._Fld3927_T, 120)
    WHEN 0x05 THEN ДополнительныеРеквизиты._Fld3927_S
    WHEN 0x08 THEN
    CASE ДополнительныеРеквизиты._Fld3927_RTRef
    WHEN 0x00000069 THEN ЗначенияСвойствОбъектов._Description
    ELSE ''
    END
    ELSE NULL
    END AS Значение
    FR OM _Reference157 AS Партнеры
    LEFT OUTER JOIN _Reference157_VT3924 AS ДополнительныеРеквизиты
    LEFT OUTER JOIN _Chrc697 AS ДополнительныеРеквизитыИСведения
    ON ДополнительныеРеквизитыИСведения._IDRRef = ДополнительныеРеквизиты._Fld3926RRef
    ON Партнеры._IDRRef = ДополнительныеРеквизиты._Reference157_IDRRef
    LEFT OUTER JOIN _Reference105 AS ЗначенияСвойствОбъектов
    ON ЗначенияСвойствОбъектов._IDRRef = ДополнительныеРеквизиты._Fld3927_RRRef
```