Имя: Пароль:
1C
1С v8
Как определить тип колонки Табличного поля тип Таблица значений
0 Eeelena
 
19.01.17
11:09
Здравствуйте, подскажите, как определить тип колонки Табличного поля, нужно понять справочник это или, допустим, документ, колонка создана программно.

Создается колонка
ВидСвойства=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ИмяКолонки);
                СписокНоменклатуры.Колонки.Добавить(ИмяБезПробелов,Новый ОписаниеТипов(ВидСвойства.ТипЗначения),ИмяКолонки);

тип может быть разный в зависимости от типа свойства Характеристики номенклатуры

И потом я пытаюсь определить какого типа свойство

ТипЗначения = ТипЗнч(СписокНоменклатуры.Колонки[НомерКолонки].ТипЗначения);
                ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
                Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
                Сообщить("Справочник");
                //Зн=Справочники[].
                ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
               Сообщить("Документ");
                КонецЕсли;  
Но он выдает ошибку:



{Форма.Форма.Форма(247)}: Ошибка при вызове метода контекста (Содержит)
                Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
по причине:
Несоответствие типов (параметр номер '1')
1 НЕА123
 
19.01.17
11:14
ТипЗначения = СписокНоменклатуры.Колонки[НомерКолонки].ТипЗначения.Типы()[0]
2 Eeelena
 
19.01.17
11:20
(1) Теперь ошибка
{Форма.Форма.Форма(247)}: Ошибка при вызове метода контекста (НайтиПоТипу)
                ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
по причине:
Несоответствие типов (параметр номер '1')
3 Eeelena
 
19.01.17
13:28
(1) спасибо большое!!!! получилось!!!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан