Имя: Пароль:
1C
1С v8
как определить тип реквизита документа?
0 пыхтачокк
 
26.09.13
14:30
Вот такая конструкция
ТипРеквизита = ДокументОбъект.Реквизиты[ИмяРеквизита].Тип;
применная на реквизитах ссылочного типа возвращает не совсем то, что требуется. хотелось бы видеть нечто типа "СправочникСсылка.Контрагенты", а имеется "Контрагенты". Как определить тип - перечисление это, справочник, или документ?
1 PR
 
26.09.13
14:31
Справочник.ТипВсеСсылки().Содержит(ТвойТип)
2 пыхтачокк
 
26.09.13
14:34
(1) Точно! Спасибо
3 пыхтачокк
 
26.09.13
14:37
(1) Только он похоже возвращает признак принадлежности к одному из спр/док/перечислений и т.д. но к какому?
4 ДенисЧ
 
26.09.13
14:43
(3) Там же Найти()
5 Infsams654
 
26.09.13
14:45
(3) к такому. А что надо-то?
6 пыхтачокк
 
26.09.13
14:49
(5) ссылка на справочник контрагенты. а в (1) возвращает булево - да, справочник. так справочников много, на какой именно ссылка?
7 Maxus43
 
26.09.13
14:50
(6) Тебе метаданные надо чтоли?
8 пыхтачокк
 
26.09.13
14:55
(6) делаю обход реквизитов дока, реквизиты могут быть любого типа - как простого, так и ссылочного. если ссылочного - нужно определить тип полностью.
9 пыхтачокк
 
26.09.13
15:03
+(8) Вытаскиваю в отладке ДокументОбъект.Реквизиты.ИмяРеквизита
в свойстве "Тип" вижу "Контрагент" а не "Контрагенты". Печаль.
10 catena
 
26.09.13
15:11
(9)Так это ИмяРеквизита, повезло, что Контрагент, могло быть Поле385.

Тип для чего нужен? Показать на экране или использовать в дальнейшем?
11 PR
 
26.09.13
15:13
(3) Новый(ДокументОбъект.Реквизиты[ИмяРеквизита].Типы().Тип).Метаданные().Имя
12 Maxus43
 
26.09.13
15:15
(11) с примитивными выйдет пичаль, и с составными
13 Infsams654
 
26.09.13
15:16
я над (6) у..дореваю. "в (1) возвращает булево - да, справочник. так справочников много, на какой именно ссылка"
Содержит(ТвойТип) , ТвойТип
14 пыхтачокк
 
26.09.13
15:17
(12) составных нету к счастью. числа-даты-строки-бульки-ссылки.
15 Живой Ископаемый
 
26.09.13
15:18
2(0,8) нужны типы реквизитов типа документа (то есть метаданного), или типы значений реквизитов объекта (конкретного экземпляра)?
16 пыхтачокк
 
26.09.13
15:19
(15) или типы значений реквизитов объекта
17 Живой Ископаемый
 
26.09.13
15:20
тогда это делается так
XMLТипЗнч(ДокументОбъект.Реквизиты[ИмяРеквизита]).ИмяТипа
18 Живой Ископаемый
 
26.09.13
15:20
самый православный способ.
19 пыхтачокк
 
26.09.13
16:00
(18) похоже на то. вернул "CatalogRef.Контрагенты".
20 Живой Ископаемый
 
26.09.13
16:01
просто всегда нужно озвучивать задачу для которой нужно.
21 пыхтачокк
 
26.09.13
16:06
Проблема решена, благодарю
22 PR
 
26.09.13
18:20
(12) Так речь про случай, когда поняли, что это справочник например.