Тест В 1с

arcmag

New member
30.11.2013
2
0
#1
Подскажите почему это условие не срабатывает?

Вопрос1 - это перечисление у которого есть 3 значения
Ответ1
Ответ2
Ответ3


Код:
&НаКлиенте
Процедура Команда3()

Если (Вопрос1 = "Ответ2") Тогда
Сообщить("Ура вы угадали это 2!");
Иначе;				 
Сообщить("Увы увы неверно!");
КонецЕсли;
КонецПроцедуры
Мне надо что бы при выборе из выпадающего списка 3-х ответов при выборе Ответ2 Вывелось сообщение "Ура вы угадали это 2!"
Но вместо этого у меня при любом варианте выводит "Увы увы неверно!"
я понимаю что ошибка в условии но что за ошибка не могу разобраться.
Так как я пока что еще очень плохо знаю 1С объясните медленно и постепенно пожалуйста.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#2
"Ответ2" - это строка. А Вопрос1 - перечисление. Соответсвтенно, типы нужно одинаковые использвоать
Если Вопрос = ПредопределенноеЗначение("Перечисление.ИмяПеречисления.Ответ2") Тогда...
 

arcmag

New member
30.11.2013
2
0
#3
{Обработка.Обработка1.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (ПредопределенноеЗначение)
Если (Вопрос1 = ПредопределенноеЗначение("Перечисление.ИмяПеречисления.Ответ2") ) Тогда
по причине:
Предопределенное значение "Перечисление.ИмяПеречисления.Ответ2" не найдено.

Вот такая вот ошибка выходит
 

Darlock

Well-known member
04.01.2008
560
1
#4
Я так понимаю, у вас управляемая форма. А управляемая форма не знает о сложных типах и предопределенных значениях. Либо делайте вызов сервера и там пишите "Перечисления. ..." либо меняете формы на обычные.
И вопрос - а типы Ответ1 и т.п. - какой тип имеют? точно строка? или перечисление? если не перечисление, тогда вам ответ со строкой сравнивать надо, unknown181538 вам пример проверки предложил, а не инструкцию к применению. И вообще чуть больше инфы дайте, плиз: Вопрос1 - тип такой-то, ответы - типы такие-то (реквизиты это или динамический список или что это вообще)