Правильный вопрос

Опубликовал Сергей Мартин (SvoyakMartin) в раздел Программирование - Универсальные функции

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!
// Функция - Задать правильный вопрос
//  Заставляет пользователя значительно более обдумано нажать на нужную кнопку
//  или будет доканывать пользюка до тех пор пока, он не выберет единственный правильный вариант.
//
// Параметры:
//  КоличествоКнопок - Число            - общее количество кнопок в диалоге вопроса
//  Доканывать         - Булево            - если = Истина, то вопрос будет повторяться до тех пор, пока пользователь не ответит верно
//  ХорошиеОтветы     - СписокЗначений    - список ответов, один из которых будет (псевдо)случайно выбран как правильный. По умолчанию заполнен: {"ОК", "Ладно", "Понятно"}
//  ПлохиеОтветы     - СписокЗначений    - список ответов, которые (псевдо)случайным образом будут заполнять варианты ответа По умолчанию заполнен: {"Не нажимать", "Сломать программу", "Натворить делов", "Плохая кнопка", "Непонятно"}
//  ЧисловойВариант     - Булево            - если = Истина, то в качестве вариантов ответа будут (псевдо)случайно предложены цифры (1 - КоличествоКнопок)
//  ТекстВопроса     - Строка            - по умолчанию: "Внимательно ознакомьтесь с вариантами ответов и выберите единственный правильный!", При числовом варианте дополнительно выводит "правильное" число
//  ЗаголовокВопроса - Строка            - по умолчанию: "ВНИМАНИЕ!"
// 
// Возвращаемое значение:
// Булево - Истина при правильном / Ложь при неверном ответе, если Доканывать = Ложь
//
// Активная кнопка выбирается (псевдо)случайно
// Элементы списков ответов не должны повторять друг друга для сохранения логики.
Функция ЗадатьПравильныйВопрос(КоличествоКнопок, Доканывать = Истина, ХорошиеОтветы = Неопределено, ПлохиеОтветы = Неопределено, ЧисловойВариант = Ложь, ТекстВопроса = "", ЗаголовокВопроса = "")

Скачать файлы

Наименование Файл Версия Размер
Правильный вопрос:
.epf 7,20Kb
12.05.17
0
.epf 7,20Kb Скачать

См. также

Комментарии
1. cbr900 (cbr900) 148 17.05.17 09:40 Сейчас в теме
2. Random Name (BackinSoda) 17.05.17 09:42 Сейчас в теме
"Заметили, что пользователи бездумно кликают по первой попавшейся кнопке" и тут "Перейти к публикации" :D
kraynev-navi; +1 Ответить
3. Сергей Паринов (rootuk) 17.05.17 09:50 Сейчас в теме
мне кажется - пользователи устроят атаку на поддержку - за таки вот вопросы)
корум; Donpager; Yakud3a; JohnyDeath; +4 Ответить
4. Сергей Ожерельев (Поручик) 3541 17.05.17 11:35 Сейчас в теме
Кто-то будет доволен.
5. Алексей Соловьев (Silenser) 347 17.05.17 17:52 Сейчас в теме
(4)Кто-то сразу, а кто-то при получении зарплаты? ;)
6. Александр Васильев (user633533_encantado) 1 17.05.17 17:59 Сейчас в теме
Не понял смысла обработки: если программа знает какой ответ на вопрос правильный, то нафига вообще спрашивать пользователя ?
7. Роман Солодовников (solodovnikov.84) 17.05.17 18:04 Сейчас в теме
Я порой иногда повторно задаю вопрос.Например на 8.2 у меня любят повторно принимать новые физлица.Печально,когда это происходит в один год.Кадры даже не читают,что 1с пишет.Конечно,там же по русски написано.Поэтому возникают еще три вопроса типа "Вы уверенны,что сотрудник у вас ранее не работал?" и кнопки местами меняю.Знаю тупость,но что бы думать людей заставить пришлось так.
8. Владимир Безфамильный (Vovan1975) 14 17.05.17 18:50 Сейчас в теме
(7) Вам надо для прикола реализовать бегающую от мышки кнопку.
9. Андрей Акулов (DrAku1a) 1201 18.05.17 03:16 Сейчас в теме


В курсе, что у стандартной процедуры "Вопрос" можно в качестве второго параметра передать список значений, с вариантами ответов?

Реализуйте диалог, который откроется без кнопок и без возможности его закрыть, а кнопки показываются через 5-10 секунд по таймеру (таймер желательно вывести, чтобы пользователь не думал, что программа зависла.
vitaliy1911; Silenser; Tolpinski; корум; nihfalck; SlavaKron; +6 Ответить 2
10. rjhev korum (корум) 303 18.05.17 09:22 Сейчас в теме
(9) стандартную процедуру "вопрос" за стармани на сайт не выложишь, а вот крутон процедуру в глобальный модуль- пожалуйста.
11. Сергей Мартин (SvoyakMartin) 56 18.05.17 09:40 Сейчас в теме
(9) Ну так именно «стандартная процедура "Вопрос"» со списком значений и используется же! Единственное, что делает функция - "динамически" формирует этот список и выбирает кнопку по умолчанию. Про таймер - вариант, но отчего бы, подождав 5-10 секунд, не нажать на первую попавшуюся кнопку? Преследовалась цель именно заставить прочитать текст(да хоть загадки, уравнения, капчи можно использовать) и подтвердить осознанность действий в критичном месте.
12. Сергей Мартин (SvoyakMartin) 56 18.05.17 09:46 Сейчас в теме
(10) ну так не покупайте вы крутон, поджарьте себе свою гренку, рецепт из описания предельно ясен должен быть)). А оценить идею есть и другой способ.
13. Piotr (Tolpinski) 52 18.05.17 16:01 Сейчас в теме
Перем Гсч;

Функция ГенерацияСписка()
	чСлучайное = Гсч.СлучайноеЧисло(1,15);
	
	Спис = Новый СписокЗначений;
	Для Сч = 1 По 15 Цикл
		Спис.Добавить(Сч=чСлучайное,""+(Сч=чСлучайное));	
	КонецЦикла;
	
	Возврат Спис;
КонецФункции

Процедура НачатьОпрос()
	Пока НЕ Вопрос("Точно?", ГенерацияСписка()) Цикл
		ГенерацияСписка();
	КонецЦикла;
КонецПроцедуры

Процедура ПриОткрытии()
	Гсч = Новый ГенераторСлучайныхЧисел();
	
	НачатьОпрос();
КонецПроцедуры
...Показать Скрыть


И во внешние отчеты выложить с заманчивым названием .. :)
SvoyakMartin; +1 Ответить 1
14. Сергей Мартин (SvoyakMartin) 56 19.05.17 06:47 Сейчас в теме
(13) Будьте первым, пока кто-то не оказался более ушлым, имея на руках исходный код! ))
Оставьте свое сообщение