Есть внешняя форма, на которой есть таблица значений, и нужно, чтобы в нее поступали реквизиты объекта метаданных

1. user2069460 20.03.24 09:18 Сейчас в теме
Есть внешняя форма, на которой есть таблица значений, и нужно, чтобы в нее поступали реквизиты объекта метаданных, например,если выбираю справочник номенклатура, туда поступали название его реквизитов(не элементы!), помогите,не пойму как сделать.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 20.03.24 09:33 Сейчас в теме
(1)Ваш вариант исполнения мы опять должны телепатически представлять себе?
6. mkalimulin 1184 20.03.24 09:52 Сейчас в теме
(1) Что такое "цикл" знаешь?
12. user1880116 20.03.24 12:48 Сейчас в теме
3. Гость 20.03.24 09:39
4. user2069460 20.03.24 09:39 Сейчас в теме
.
Прикрепленные файлы:
7. nomad_irk 76 20.03.24 09:53 Сейчас в теме
(4)ну вы ж чего-то пытались сделать? Вот это и показывайте.
5. gybson 20.03.24 09:48 Сейчас в теме
(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. user2069460 20.03.24 09:55 Сейчас в теме
Но так получалось выгрузить элементы данного справочника,а надо выгрузить именно реквизиты
Прикрепленные файлы:
11. nomad_irk 76 20.03.24 09:59 Сейчас в теме
(8)В данном случае будет ЗНАЧИТЕЛЬНО проще сделать:

"Выбрать * Из &Таблица"


имя Таблицы можно получить как

ОбъктМетаданных.ПолноеИмя()


Если нужны именно имена реквизитов объекта, то про запрос забываем вообще и работаем циклами с метадаными и их свойствами "Реквизиты"/"СтандартныеРеквизиты"/"ТабличныеЧасти".....

МД = Метаданные.Справочники[ИмяСправочника];
Для Каждого РеквизитМД ИЗ МД.Реквизиты Цикл
      //тут обработка объекта РеквизитМД
КонецЦикла;
9. YozZzhik 20.03.24 09:57 Сейчас в теме
Ну тут вам нужно каждый раз при выборе нового объекта метаданных (при изменении) программно создавать реквизит таблица значений с колонками в зависимости от того, какие реквизиты есть в объекте метаданных. Потом также программно создать элемент формы с колонками, которые, в свою очередь, нужно связать с реквизитом типа таблица значений и его колонками соответственно
10. user2069460 20.03.24 09:58 Сейчас в теме
Можно как нибудь поподробнее пожалуйста?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот