• ⚡️ Последний шанс: Вебинар по пентесту стартует через 30 минут!

    Друзья, ровно через 30 минут (8 июля в 19:00) начинается наш практический вебинар по пентесту и поиску уязвимостей!

    Если вы хотите:
    🕵️‍♀️ Узнать, как находить и эксплуатировать уязвимости в веб-приложениях.
    💡 Получить ценные инсайты от настоящего эксперта.
    🚀 Сделать решительный шаг в мир кибербезопасности.
    То этот вебинар для вас!

    Ведущий вебинара – Александр Медведев – эксперт с более чем 10-летним опытом в сфере информационной безопасности, пятикратный победитель Standoff и обладатель престижных сертификаций: OSWE, OSCP, PNPT, CEH, CWAPT.

    Успейте присоединиться! Зарегистрироваться сейчас

    Возникли сложности с регистрацией? Пишите нам: @Codeby_Academy
    Будем вас ждать!

Тест В 1с

  • Автор темы Автор темы arcmag
  • Дата начала Дата начала
A

arcmag

Подскажите почему это условие не срабатывает?

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


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

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab