У реквизита тип "ОпределяемыйТип...". Можно ли программно получить имя этого определяемого типа?

1. KirillHome 5 04.04.25 12:39 Сейчас в теме
Собственно, вопрос в заголовке.
У реквизита тип - "ОпределяемыйТип.ИмяТипа".
Хочу "достучаться" до этого "ИмяТипа".
Это в принципе возможно или нет?

Стандартным методом не получается (удаётся получить только "состав" этого определяемого типа)
Получение информации


На всякий случай - платформа - 8.3.25.1394
Найденные решения
6. spacecraft 04.04.25 16:45 Сейчас в теме
(5) так то да. По факту, в реквизите не определяемый тип будет, а типы определяемого типа.
Определяемый тип он больше как сахар был добавлен. Еще где-то внутри хранится информация не для пользования.
Если просто изменить состав типов определяемого типа, но будет реструктуризация объектов на новые типы (состава определяемого) где этот определяемый тип используется, так как если просто в реквизите поменять типы.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user-z99999 78 04.04.25 13:15 Сейчас в теме
(1)
Через метаданные
ТипЗначения = ТипЗнч(ВыбСчет);
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
    Сообщить("Справочник");
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
    Сообщить("Документ");
КонецЕсли;
4. spacecraft 04.04.25 14:36 Сейчас в теме
(1) можно сравнивать с конкретным определяемым типом.
Если Реквизит.тип = Метаданные.ОпределяемыеТипы.ИмяНужного.Тип Тогда
    // это нужный определяемый тип
КонецЕсли;
3. KirillHome 5 04.04.25 13:37 Сейчас в теме
(2) Наверное, я плохо объяснил.

На примере типовой БП.
Есть документ - АвансовыйОтчет
У него есть реквизит - Описание
Тип реквизита: ОпределяемыйТип.ОписаниеПокупки

Вот этот вот "ОписаниеПокупки" (т.е. имя определяемого типа) я и хочу получить.
Но - не понимаю, как.
5. KirillHome 5 04.04.25 16:29 Сейчас в теме
(4) Увы, это скажет только о том, что тип (список типов) для нужного реквизита и у выбранного определяемого типа - совпадут.

В примере из (2) у определяемого типа "Описание покупки" тип = Строка.
То есть все реквизиты, у которых типы "Строка" (с совпадающей длинной) - совпадут с этим определяемым типом.
А это не тот результат, которого я хотел достичь.

Пока кажется, что если у реквизита в конфигураторе указан тип "ОпределяемыйТип.ИмяОпределяемогоТипа" - получить это "ИмяОпределяемогоТипа" невозможно.


Попробовал сделать пустую конфигурацию.
В ней только:
1. Два справочника: Услуги и Товары
2. Один определяемыйТип - УслугиТовары (с составным типом СправочникСсылка.Услуги, СправочникСсылка.Товары)
3. Один документ с двумя реквизитами:
3.1 ТоварыУслугиОпределяемый с типом ОпределяемыйТип.УслугиТовары
3.2 ТоварыУслуги с составным типом СправочникСсылка.Услуги, СправочникСсылка.Товары

Типы этих двух реквизитов при сравнении - совпадают.
6. spacecraft 04.04.25 16:45 Сейчас в теме
(5) так то да. По факту, в реквизите не определяемый тип будет, а типы определяемого типа.
Определяемый тип он больше как сахар был добавлен. Еще где-то внутри хранится информация не для пользования.
Если просто изменить состав типов определяемого типа, но будет реструктуризация объектов на новые типы (состава определяемого) где этот определяемый тип используется, так как если просто в реквизите поменять типы.
7. KirillHome 5 04.04.25 16:59 Сейчас в теме
(6) Спасибо за подтверждение гипотезы о "невозможности" задуманного действия (сказано без всякого сарказма - мне нужно было убедиться в том, что не я что-то упустил, а что "так и задумано" 😊)
Оставьте свое сообщение

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