Есть внешняя форма, на которой есть таблица значений, и нужно, чтобы в нее поступали реквизиты объекта метаданных
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Ответ от GigaChat
Не совсем то, но довольно близко. С небольшими доработками получаем рабочий код
from pyodata.client import ODataClient
from pyodata.exceptions import ODataError
# Создаем клиент OData
client = ODataClient('http://localhost:5555/')
# Получаем метаданные
try:
metadata = client.get_metadata()
except ODataError as e:
print(e)
# Получаем реквизиты объекта метаданных
object_name = 'Номенклатура'
object_meta = metadata.objects[object_name]
# Выводим список реквизитов
for field in object_meta.fields:
print(field.name)
ПоказатьНе совсем то, но довольно близко. С небольшими доработками получаем рабочий код
// Получаем реквизиты объекта метаданных
object_name = "Номенклатура";
object_meta = metadata.Справочники[object_name];
// Выводим список реквизитов
Для каждого field из object_meta.Реквизиты Цикл
Сообщить(field.name);
КонецЦикла;
Показать
(8)В данном случае будет ЗНАЧИТЕЛЬНО проще сделать:
имя Таблицы можно получить как
Если нужны именно имена реквизитов объекта, то про запрос забываем вообще и работаем циклами с метадаными и их свойствами "Реквизиты"/"СтандартныеРеквизиты"/"ТабличныеЧасти".....
"Выбрать * Из &Таблица"
имя Таблицы можно получить как
ОбъктМетаданных.ПолноеИмя()
Если нужны именно имена реквизитов объекта, то про запрос забываем вообще и работаем циклами с метадаными и их свойствами "Реквизиты"/"СтандартныеРеквизиты"/"ТабличныеЧасти".....
МД = Метаданные.Справочники[ИмяСправочника];
Для Каждого РеквизитМД ИЗ МД.Реквизиты Цикл
//тут обработка объекта РеквизитМД
КонецЦикла;
Ну тут вам нужно каждый раз при выборе нового объекта метаданных (при изменении) программно создавать реквизит таблица значений с колонками в зависимости от того, какие реквизиты есть в объекте метаданных. Потом также программно создать элемент формы с колонками, которые, в свою очередь, нужно связать с реквизитом типа таблица значений и его колонками соответственно
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот