Доброго дня, коллеги.
Потребовалось в powerBI получить данные из УТ11.
Опубликовали, настроили передаваемые данные, сопоставили поля в powerBI...
И тут понадобилось некое поле - дополнительный реквизит.
Не понимаю, почему
выводит данные + коллекцию доп реквизитов, а
всегда пусто? В настройках в составе передачи, разумеется выбраны все необходимые метаданные (пвх допсвойства, номенклатура, партнеры и почти все связанные справочники).
И ещё: можно ли через odata получить значение доп реквизита как отдельное поле (json)?
Т.е. из такого ответа:
Получить что-то вроде
Где "ДопРеквизит" - это конкретный реквизит таблицы... т.е. нужен $select='Значение' из коллекции "ДополнительныеРеквизиты" где $filter="Свойство_Key" eq '8dbea7b9-aadf-11e4-80be-00155d006306'
Вроде есть оператор items, только я не пойму как им пользоваться.
Потребовалось в powerBI получить данные из УТ11.
Опубликовали, настроили передаваемые данные, сопоставили поля в powerBI...
И тут понадобилось некое поле - дополнительный реквизит.
Не понимаю, почему
odata/standard.odata/Catalog_Номенклатура?$format=json&$select=Ref_Key,Description,Code,ДополнительныеРеквизиты
выводит данные + коллекцию доп реквизитов, а
odata/standard.odata/Catalog_Партнеры?$format=json&$select=Ref_Key,Description,Code,ДополнительныеРеквизиты
всегда пусто? В настройках в составе передачи, разумеется выбраны все необходимые метаданные (пвх допсвойства, номенклатура, партнеры и почти все связанные справочники).
И ещё: можно ли через odata получить значение доп реквизита как отдельное поле (json)?
Т.е. из такого ответа:
{
"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",
"ТекстоваяСтрока": ""
}
]
}
]
}
ПоказатьПолучить что-то вроде
{
"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, только я не пойму как им пользоваться.
По теме из базы знаний
- 1С:MDM Управление нормативно-справочной информацией - цена лицензий от 260000 руб.
- Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники
- Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть ІІ: Документы
- ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол
- oData – HTTP-сервис для ленивых.
Найденные решения
odata - зло.
Решил с помощью sql получить данные.
Решил с помощью sql получить данные.
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 получить данные.
Решил с помощью sql получить данные.
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
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот