Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/78: Рейтинг темы: голосов - 78, средняя оценка - 4.53
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
1

Сравнение типов данных

27.10.2010, 00:20. Просмотров 14200. Ответов 5
Метки нет (Все метки)

Пишу проверку на принадлежность объекта к Перечислениям. Ошибку не выдает, но не срабатывает.

Код ( (Unknown Language)):

Парам = Перечисления.ВидыЧегото.Вариант1;
Сообщить(ТипЗнч(Парам)); // пишет "Вариант1"
Описание = Новый ОписаниеТипов("ПеречисленияМенеджер");
Если Описание.СодержитТип(ТипЗнч(Парам)) Тогда
Сообщить("+");
Иначе
Сообщить("-");
КонецЕсли;
Уж и за окном темно..
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2010, 00:20
Ответы с готовыми решениями:

1C 8.2 Сравнение типов данных Ссылка и строка
Всем доброго времени суток Такая ерунда получилась, не могу сравнить строку и ссылку (не ну...

Сравнение объектных типов
Здравствуйте, такая проблема, есть внешняя обработка, выводит отчет, работала отлично, но возникла...

Сравнение типов реквизитов в метаданных регистра
Здравствуйте. Постараюсь объяснить ситуацию. ЗапросОснНач = Новый Запрос; ЗапросОснНач.Текст...

Назначение строке 2-х типов данных
Подскажите, в документе, создаю столбец пусть допустим Покупатель, задаю этой сроке данные ссылку...

Ошибка в сравнении типов данных
Подскажите что это за ошибка и почему она появляется периодически ...

5
vbs
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
27.10.2010, 00:40 2
Цитата Сообщение от Дайнеко
Уж и за окном темно..
Да и "Зенит" проиграл... :*цензура*you:
0
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
27.10.2010, 05:38 3
Парам не ПеречислениеМенеджер, а ПеречислениеСсылка.ВидыЧегоТо
0
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
28.10.2010, 20:57 4
Цитата Сообщение от unknown181538
Парам не ПеречислениеМенеджер, а ПеречислениеСсылка.ВидыЧегоТо
Спасибо, это я так смогу. Но у меня задача написать функцию проверяющую принадлежность объекта вообще к классу Перечисления.
Вернуть строчечкой его имя. Строка(Объект) почти то, но не то.
А какого он вида - не требуется, да и вид не известен.


Код ( (Unknown Language)):
Объект = Перечисления.ВидыЧегото.Вариант1;
Сообщить(ДостатьИдентификаторПеречисления(Объект));

Функция ДостатьИдентификаторПеречисления(Парам)
// В 7.7 делал так
Если ТипЗначения(Парам) = 10 Тогда // Перечисление
Возврат П_Парам.Идентификатор();
КонецФункции
0
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
29.10.2010, 02:19 5
А вот скажем если:
1) Получить строковое представление типа. И если слева от точки "ПеречислениеСсылка", то далее - имя перечисления.
2) Каким-то образом перебрать метаданные перечислений, поместить типы в массив, и искать вхождение в массиве....
Но, возможно, есть и более простое решение...
0
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
29.10.2010, 11:41 6
Спасибо.
По первому варианту я и пытался. Вот результат такой:
Парам.Метаданные().Представление() выдает "ВидыЧегото". (Правильнее "Парам.Метаданные().Имя" , без синонима).
Нету слова "Перечисления".

Второй вариант наверное сработает. Но уж больно мудро это. По...


Стоп!
Пока писал и проверял, нашел:
Парам.Метаданные().ПолноеИмя() выдает "Перечисление.ВидыЧегото"

Пойми правильно, ломаю голову, не столько ради просто решения, сколько чтобы разобраться. Да и решение должно быть красивым.


P.S.
Еще через 10 мин:
Вот оно правильное решение: Перечисления.ТипВсеСсылки ().СодержитТип(ТипЗнч(Парам))
0
29.10.2010, 11:41
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2010, 11:41

Сравнение данных оболочек базовых типов
Добрый день! Потихоньку занимаюсь изучением Java и натыкаюсь на некоторые странности. Не могли бы...

Сравнение типов данных вводимых пользователем
Здравствуйте, пытался гуглить, но ничего не нашел. Проблема: К примеру пользователь в программе...

Внутреннее представление типов данных VB6.0. Эквиваленты типов данных VB в C++
Добрый день. Интересует такой вопрос. Где можно почитать, посмотреть научные данные по внутреннему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.