Имя: Пароль:
1C
 
Как определить тип реквизита
0 Klesk666
 
15.05.16
22:12
Пробовал так:

&НаСервере
Процедура ВывестиНаСервере()
    Для Каждого Док Из Метаданные.Документы Цикл
        Для Каждого Рек Из Док.Реквизиты Цикл            
            Если Метаданные.НайтиПоТипу(Рек.Тип)=Тип(Перечисления.ТипыНалогообложенияНДС) Тогда
                Сообщить(Док+Рек);
            КонецЕсли;    
    КонецЦикла
КонецЦикла

{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (НайтиПоТипу)
            Если Метаданные.НайтиПоТипу(Рек.Тип)=Тип(Перечисления.ТипыНалогообложенияНДС) Тогда
по причине:
Несоответствие типов (параметр номер '1')

Как правильно сделать??
1 Матиус III
 
15.05.16
22:23
Метаданные (Metadata)
Использование:

Только чтение.
Описание:

Тип: ОбъектМетаданныхКонфигурация.
Используется для доступа к структуре метаданных конфигурации.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
2 Матиус III
 
15.05.16
22:24
Все внимание на последнюю строку
3 Матиус III
 
15.05.16
22:25
Торможу, все и так на сервере
4 Матиус III
 
15.05.16
22:26
Если Рек.Тип.Содержит(Тип(Перечисления.ТипыНалогообложенияНДС)) Тогда
5 Матиус III
 
15.05.16
22:27
Вернее так:
Если Рек.Тип.СодержитТип(Тип(Перечисления.ТипыНалогообложенияНДС)) Тогда
6 Матиус III
 
15.05.16
22:34
и тип наверное указывается как Тип(ПеречислениеСслка.ТипыНалогообложенияНДС)
7 Klesk666
 
15.05.16
22:34
(5) не ругается , но и ничего не выдает (
8 Матиус III
 
15.05.16
22:35
Тип("ПеречислениеСслка.ТипыНалогообложенияНДС")
а так?
9 Klesk666
 
15.05.16
22:36
(8) спасибо, работает )
Программист всегда исправляет последнюю ошибку.