Как правильно прописать программный код 1С Неопределено

1. user1503152 19.02.21 18:46 Сейчас в теме
Уважаемое сообщество, подскажите пожалуйста, запуталась напрочь!
Как правильно прописать программным кодом 1С Неопределено?

Например, есть строка (поля ввода), создаем кнопку, в поле ввода вводим текст, в кнопке вот такой программный код, как сделать, чтобы сообщение выводилось только одно, а два стразу!?

Код
&НаКлиенте
Процедура Ответ(Команда)
	
	Если ЭтотОбъект.Реквизит1 = "Как дела?" Тогда
		Сообщить("Нормально, спасибо что спросили!");
	КонецЕсли;
	
	Если Не ЭтотОбъект.Реквизит1 = Неопределено Тогда
		Сообщить("Ваш вопрос не определен!");
	КонецЕсли;
				
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
10. spacecraft 19.02.21 19:42 Сейчас в теме
(7) не совсем понятен вопрос.
И количество "ИначеЕсли" неограниченно. Возможно требуется все вопросы через нее прогнать?

Если Реквизит1 = "Как дела?" Тогда
        Сообщить("Нормально, спасибо что спросили!");
ИначеЕсли Реквизит1 =  "Вопрос2" Тогда
        Сообщить("Ответ2");
ИначеЕсли Реквизит1  = "Вопрос3" Тогда
        Сообщить("Ответ3");
ИначеЕсли Реквизит1 = "Вопрос4" Тогда
        Сообщить("Ответ4");
ИначеЕсли Реквизит1 = "Вопрос5" Тогда
        Сообщить("Ответ5");
ИначеЕсли Реквизит1 = "Вопрос6" Тогда
        Сообщить("Ответ6");
    Иначе
        Сообщить("Ваш вопрос не определен!");
    КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 19.02.21 19:12 Сейчас в теме
(1)
Если ЭтотОбъект.Реквизит1 = "Как дела?" Тогда
        Сообщить("Нормально, спасибо что спросили!");
    ИначеЕсли Не ЭтотОбъект.Реквизит1 = Неопределено Тогда
        Сообщить("Ваш вопрос не определен!");
    КонецЕсли;
4. spacecraft 19.02.21 19:19 Сейчас в теме
(1) еще несколько моментов
1. УФ ЭтотОбъект не нужно использовать в данном случае. Реквизит формы доступен в модуле формы напрямую.
2. Реквизит формы типизирован. Т.е. если у него указан тип Строка, то он никогда не будет Неопределено.
Итого код будет:
Если Реквизит1 = "Как дела?" Тогда
        Сообщить("Нормально, спасибо что спросили!");
    ИначеЕсли Реквизит1 <> "" Тогда
        Сообщить("Ваш вопрос не определен!");
    КонецЕсли;
2. user1503152 19.02.21 18:52 Сейчас в теме
К примеру, ввожу в поле: Как дела?

Появляются сразу два сообщения!
- Нормально, спасибо что спросили!
- Ваш вопрос не определен!

Как сделать, чтобы при вводе: Как дела? Отображалось только одно сообщение!
- Нормально, спасибо что спросили!

А если к примеру, вводим: Привет. Отображалось тоже только одно сообщение, но уже которое неопределено!
- Ваш вопрос не определен!
5. user1503152 19.02.21 19:25 Сейчас в теме
А если несколько вопросов, к примеру их четыре вопроса, все равно, программный код проходит по всем, делает выборку по написанному тексту, и соответственно пишет неопределенный, то есть, все равно два ответа!!!
6. spacecraft 19.02.21 19:33 Сейчас в теме
(5)
А если несколько вопросов, к примеру их четыре вопроса, все равно, программный код проходит по всем

Это не он сам проходит, это так запрограммировали сами.
Если 4 вопроса, а кнопка одна, то как он определит на который отвечать? Ответьте сами себе на это.
Делайте один вопрос одна кнопка. Или мудрите с выбором на что отвечать.
Главное в программировании это составить правильно алгоритм, а не набор кода.
7. user1503152 19.02.21 19:37 Сейчас в теме
Я это и так знала, мне если честно, то нужно около 70 ответов на 70 вопросов, а если этого вопроса и ответа нету, тогда выдавала: Ваш вопрос не определен! Вот что мне нужно!!! Ладно, буду сама разбираться...
10. spacecraft 19.02.21 19:42 Сейчас в теме
(7) не совсем понятен вопрос.
И количество "ИначеЕсли" неограниченно. Возможно требуется все вопросы через нее прогнать?

Если Реквизит1 = "Как дела?" Тогда
        Сообщить("Нормально, спасибо что спросили!");
ИначеЕсли Реквизит1 =  "Вопрос2" Тогда
        Сообщить("Ответ2");
ИначеЕсли Реквизит1  = "Вопрос3" Тогда
        Сообщить("Ответ3");
ИначеЕсли Реквизит1 = "Вопрос4" Тогда
        Сообщить("Ответ4");
ИначеЕсли Реквизит1 = "Вопрос5" Тогда
        Сообщить("Ответ5");
ИначеЕсли Реквизит1 = "Вопрос6" Тогда
        Сообщить("Ответ6");
    Иначе
        Сообщить("Ваш вопрос не определен!");
    КонецЕсли;
Показать
8. user1503152 19.02.21 19:41 Сейчас в теме
Без сообщения: Ваш вопрос не определен!!! И так все работает, на все вопросы, идут корректные ответы, хотела добавить без вопроса ответ: Ваш вопрос не определен. Никак не могу сообразить как это сделать, ладно разберемся!!!
9. EVKash 16 19.02.21 19:41 Сейчас в теме
(7) Если реквизит имеет тип Строка, то у него никогда не будет Неопределено. У него будет значение "".
Используйте
Если НЕ ЗначениеЗаполнено(Реквизит1) Тогда
//Это по вашему неопределено...
11. user1503152 19.02.21 19:53 Сейчас в теме
(10) Вот не допёрла я, решение было рядом, все работает как надо, СПАСИБКИ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот