Имя: Пароль:
1C
 
Как получить тип реквизита?
0 kant
 
17.03.05
00:17
Есть реквизит неизвестного типа и надо создать новый элемент такого же типа.(например элемент справочника)
ТипЗнч(Реквизит) возвращает "Справочник ссылка: Физические лица". А для того, чтобы создать новый элемент, надо получить "ФизическиеЛица", как это сделать?
1 Волшебник
 
модератор
17.03.05
01:00
Метаданные.Имя
2 kant
 
17.03.05
05:19
(1) Да, когда есть объект, я получаю его тип с помощью Объект.Метаданные().Имя

А что делать в случае реквизита, например, табличной части: РеквизитОтбора.Получить(й), где РеквизитОтбора Из Объект[ТЧОбъекта.Имя].Выгрузить()?
3 kant
 
17.03.05
16:40
ну подскажите, пожалуйста, как узнать Идентификатор произвольного реквизита?
4 Волшебник
 
модератор
17.03.05
23:34
ПроизвольныйРеквизит.Метаданные().Имя
5 kant
 
18.03.05
23:06
Для каждого РеквизитОбъекта Из Объект.Метаданные().Реквизиты Цикл
   Сообщить(РеквизитОбъекта.Метаданные().Имя);
КонецЦикла;

Выдается ошибка:

{Форма.Форма(41)}: Метод объекта не обнаружен (Метаданные)
       Сообщить(РеквизитОбъекта.Метаданные().Имя);
6 kant
 
18.03.05
23:18
И ещё: Метаданные().Имя не работает если тип реквизита  число. Если справочник, то всё нормально: выдает тип справочника. Когда число, вылезает ошибка:

{Форма.Форма(52)}:
Значение не является значением объектного типа (Метаданные)
   Сообщить(РеквизитОтбора.Получить(й+1).Метаданные().Имя);
7 Волшебник
 
18.03.05
23:32
см. функцию ТипЗнч() и Тип()
8 Волшебник
 
модератор
18.03.05
23:33
Если ТипЗнч(нечто) = Тип("СправочникСсылка.Номенклатура") Тогда

см. также:
v8: Как определить, что ссылка на справочник или документ?
9 kant
 
18.03.05
23:51
Есть реквизит такой, что

РеквизитОбъекта.Тип="Справочник ссылка: Склады"

Как получить идентификатор справочника "Склады"?
С помощью функций ТипЗнч() и Тип() не получается. На метаданные() тоже ругается, см.(5)
Можно, конечно, с помощью обработки этой строки, но это изврат.
10 kant
 
19.03.05
18:04
Я разобрался:
Объект[РеквизитОбъекта.Имя].Метаданные().Имя

(8) спасибо за ссылку.
11 Волшебник
 
модератор
20.03.05
09:37
РеквизитОбъекта.Тип="Справочник ссылка: Склады"

Неверный ответ. Не путай объект типа "Тип" и его строковое представление.