В функции Вопрос() поменять названия кнопок Да+Нет

1. Gal_B 03.12.13 10:30 Сейчас в теме
Все наверно сталкивались с этой функцией:
Если Вопрос("Перед заполнением таблица будет очищена,"+РазделительСтрок+"а существующие строки удалены. Продолжать?","ОК+Отмена") = "ОК" Тогда 
...
,
и думаю идея переобзывать кнопки в зависимости от ситуации уже посещала ваши светлые головы. Поделитесь, плиз, если это можно сделать! Или, если ТОЧНО нельзя.
Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ivanov_alex 67 03.12.13 10:34 Сейчас в теме
мда, сам не подумал, присоединюсь к вопросу
3. Gal_B 03.12.13 10:39 Сейчас в теме
(2) ivanov_alex, этот как пример, ну вдруг не совсем понятно о какой функции идет речь.))
Не устраивают стандартные 1С-кие ответы!
4. dvk09 2 03.12.13 10:47 Сейчас в теме
Вопрос(<?>,)
Синтаксис:
Вопрос(<Текст_вопроса>,<Режим>,<Таймаут>)
Назначение:
Вывести окно вопроса и получить ответ.
Возвращает ответную реакцию в виде числа или строки, в соответствии с заданием параметра <Режим>:
-1 или 'Таймаут' ('Timeout'), если закончилось время ожидания ответа;
1 или 'ОК' ('ОК'), если если нажата кнопка OK;
2 или 'Отмена' ('Cancel'), если нажата кнопка Отмена;
3 или 'Стоп' ('Abort'), если нажата кнопка Стоп;
4 или 'Повтор' ('Retry'), если нажата кнопка Повтор;
5 или 'Пропустить' ('Ignore'), если нажата кнопка Пропустить;
6 или 'Да' ('Yes'), если нажата кнопка Да;
7 или 'Нет' ('No'), если нажата кнопка Нет.
Параметры:
<Текст_вопроса> - cтрока текста вопроса;
<Режим> - определяет набор кнопок диалога в виде числа или строки (в скобках английское написание):
0 или 'ОК' ('ОК') - кнопка OK;
1 или 'ОК+Отмена' ('OK+Cancel') - кнопки OK и Отмена;
2 или 'Стоп+Повтор+Пропустить' ('Abort+Retry+Ignore') - кнопки Стоп, Повтор, Пропустить;
3 или 'Да+Нет+Отмена' ('Yes+No+Cancel') - кнопки Да, Нет, Отмена;
4 или 'Да+Нет' ('Yes+No') - кнопки Да, Нет;
5 или 'Повтор+Отмена' ('Retry+Cancel') - кнопки Повтор, Отмена;
(любое другое значение или отсутствие параметра равносильно 0);
<Таймаут> - число секунд времени ожидания ответа (если опущен или 0, то без ограничения).
Подробнее см. в документации, глава 'Системные процедуры и функции'
5. Gal_B 03.12.13 11:14 Сейчас в теме
(4) dvk09, ?! СПС, конешно, но это можно было и в синтакс-помощнике прочитать. Вопрос в другом был: можно ли вместо, нпр., Да+Нет чтобы в диалоге было Хочу+Нехочу.
8. dvk09 2 03.12.13 11:33 Сейчас в теме
(5) Gal_B, ну я о том-же, только вопрос в первом посте звучал про Ок+Отмена...
6. vcv 89 03.12.13 11:19 Сейчас в теме
Если недостаточно (4), можно сделать набор обработок, которые будут задавать все нужные вопросы.
У меня, например, таких в ассортименте.
http://sdrv.ms/IBKdT9
http://sdrv.ms/IBKfu2
http://sdrv.ms/IBKllB
7. Gal_B 03.12.13 11:32 Сейчас в теме
(6) vcv, а каким образом реализовали http://sdrv.ms/IBKfu2? Создали свой диалог с кнопками без привлечения Вопрос() ?
10. vcv 89 03.12.13 11:38 Сейчас в теме
(7) Все обработками без Вопрос(). В глобальнике нужные функции-обёртки для удобного вызова типа
Функция глВопрос(ТекстВопроса, СписокОтветов, Заголовок="", ВыбранноеЗначение="") Экспорт
11. Gal_B 03.12.13 11:42 Сейчас в теме
9. Gal_B 03.12.13 11:37 Сейчас в теме
Ну вот удачный пример http://sdrv.ms/IBKfu2 Как кнопку "Запросить согласование" сопоставить с стандартным ответом "Да", а "Отозвать запрос на согласование с ответом "Нет" ??
12. пользователь 22.01.14 18:23
Сообщение было скрыто модератором.
...
13. blich 29.11.16 16:08 Сейчас в теме
<Кнопки> (обязательный)

Тип: РежимДиалогаВопрос; СписокЗначений.
Задает состав и текст кнопок диалога, а также, связанные с кнопками значения.
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).
При использовании типа СписокЗначений список не должен быть пустым.
14. varelchik 29.11.16 16:39 Сейчас в теме
15. корум 288 29.11.16 16:59 Сейчас в теме
(14) некропостер мимокрокодил.

... а говорили же саппорту, что
- некропостинг больше вреден, чем нужен;
- вставка при нажатии на ответ цитат из всех выделенных во вкладках тем не фича, а баг.
SergeyRomanov; +1 1 Ответить
16. Chebureck 29.11.16 16:59 Сейчас в теме
В уф делаю так, в обычных нет под рукой примера, но как помню не сильно отличается код
Код
      СписокКнопок = Новый СписокЗначений;
      СписокКнопок.Добавить(КодВозвратаДиалога.Да, "Записать");
      СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
      ПоказатьВопрос(Новый ОписаниеОповещения("ОбработкаОтветаНаВопросВозможностиЗаписиОтказа", ЭтотОбъект,Новый Структура("СтатусПеревода,Записывать", "Отказ", Истина)), "Для продолжения необходимо записать документ!",СписокКнопок,10);
Показать полностью
EVKash; zyama; serjik777; kabantus; Cmapnep; user1619761; STELEICE; dmitrym777; user1114234; user602678_maxipunchik; Marliiin; +11 1 Ответить
20. Marliiin 25.06.19 17:56 Сейчас в теме
(16)
СписокКнопок = Новый СписокЗначений;
СписокКнопок.Добавить(КодВозвратаДиалога.Да, "Записать");
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
ПоказатьВопрос(Новый ОписаниеОповещения("ОбработкаОтветаНаВопросВозможностиЗаписиОтказа", ЭтотОбъект,Новый Структура("СтатусПеревода,Записывать", "Отказ", Истина)), "Для продолжения необходимо записать документ!",СписокКнопок,10);



спасибо. Отличный метод. Сам бы я еще сидел и думал)
zyama; shushik; STELEICE; +3 Ответить
17. S.V.Y 17 29.11.16 17:10 Сейчас в теме
Прикольные ребята - один поднимает пост трехлетней давности, второй рассказывает про уф в ветке про семерку.
Parazyte; SergeyRomanov; EVKash; +3 1 Ответить
18. wds 13.09.17 10:55 Сейчас в теме
(17) ну и не страшно :)

Я гуглил вопрос на данную тему, дорабатывая конфигурацию под 8.3 и нашёл этот ответ, который мне помог :)
lev6975; shushik; aapetrikov; starik-2005; Intercititude; Ahodessa; CratosX; Serg_1C(M); evg_m; +9 Ответить
19. evg_m 9 07.05.19 09:45 Сейчас в теме
(18) И мне помог для 8.3. Так что спасибо таким людям! Вопрос давности не имеет.
lev6975; SAnatoliy; shushik; starik-2005; Mechanik21; +5 Ответить
21. CratosX 115 24.10.19 22:14 Сейчас в теме
Столкнулся с ошибкой:
Ошибка при вызове метода контекста (ПоказатьВопрос): Несоответствие типов (параметр номер '3')

Оказалось, платформа не умеет отображать вопрос с кнопками, у которых указана картинка.

СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена",,БиблиотекаКартинок.Ненавижу1С);
22. Xershi 1527 24.10.19 22:35 Сейчас в теме
(21) или картинка не понравилась 1с=)))
24. CratosX 115 25.10.19 11:43 Сейчас в теме
(22) ну я думал очевидно, что название картинки я переименовал для сообщения ;)
26. Xershi 1527 25.10.19 12:21 Сейчас в теме
(24) ну очевидно же, что я говорил не про название=))
23. Denis_CFO 49 25.10.19 07:39 Сейчас в теме
(21)
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена",,БиблиотекаКартинок.Ненавижу1С);


так то третий параметр не задан. картинка уже четвертым параметром идет.

А картинку можно посмотреть?
25. CratosX 115 25.10.19 11:46 Сейчас в теме
(23) нет, вы смотрите на строчку добавления кнопки, а ошибка возникает на вызове вопроса, кнопки там идут третьим параметром. При добавлении кнопки третий параметр - это Пометка.

&НаКлиенте
Процедура КакаяТоКоманда(Команда)
	ПараметрыОповещения = Новый Структура("Парам1", "Мой параметр");
	Оповещение = Новый ОписаниеОповещения("ЗаполнитьВСоответствияЦентральныйСерверПослеЗакрытияВопроса­", ЭтотОбъект, ПараметрыОповещения);
	ЗаголовокВопроса = "Можно ли добавлять картинки в кнопки вопроса?";
	ТекстВопроса = "Если вы видите этот вопрос, значит в платформе пофиксили этот момент";
	СписокКнопок = Новый СписокЗначений;
	СписокКнопок.Добавить("РазмножитьНаВсе","Размножить на все",,БиблиотекаКартинок.РазбитьСтроку);
	СписокКнопок.Добавить("ЗаменитьНаУказанный","Заменить",,БиблиотекаКартинок.ЗаполнитьПоОснованию);
	СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
	
	ПоказатьВопрос(Оповещение, ТекстВопроса, СписокКнопок,,,ЗаголовокВопроса);
КонецПроцедуры

&НаКлиенте
Процедура ЗаполнитьВСоответствияЦентральныйСерверПослеЗакрытияВопроса(Результат, ПараметрыОповещения) Экспорт
	Если Результат = КодВозвратаДиалога.Отмена Или Результат = Неопределено Тогда
		Возврат;
	Иначе
		КодНаСервере(Результат, ПараметрыОповещения);
	КонецЕсли;
КонецПроцедуры
Показать


Платформа 8.3.15.1656
27. Xershi 1527 25.10.19 13:02 Сейчас в теме
(25) 1С:Предприятие 8.3 (8.3.15.1565)
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).

Ну вот текст менять можно, картинки не реализовали. Возможно на разных релизах это не документированная фича!
Ante89; CratosX; +2 Ответить
28. CratosX 115 25.10.19 14:09 Сейчас в теме
29. Xershi 1527 25.10.19 14:22 Сейчас в теме
(28) из справки как всегда!
30. Mechanik21 25 25.06.20 09:45 Сейчас в теме
Вопрос: можно ли методом ПоказатьВопрос сделать так, чтобы можно было выбрать 2-3 варианта из предложенных ответов?
31. Only_1C_Only_Hardkor 9 13.07.22 21:38 Сейчас в теме
(30) выбрать, имеешь ввиду нажать одновременно 2 - 3 кнопки? Как ты себе это представляешь?,
32. Mechanik21 25 14.07.22 10:59 Сейчас в теме
(31) вопрос не актуален уже
33. ishelper 14.07.22 11:32 Сейчас в теме
(32)
вопрос не актуален уже
Неужели? Надо же, всего-то два года прошло...

Но для некропостеров вроде (31) это не имеет значения. ;-)
34. Mechanik21 25 14.07.22 11:53 Сейчас в теме
(33) там было что-то про несколько вариантов ответа на вопрос в сообщении. хотел через показать вопрос решить. Но я разобрался тогда, точно не помню как программно решил, но получилось так http://joxi.ru/KAxDkLpHw0JG3A
(31)
36. lev6975 18.04.24 23:55 Сейчас в теме
(30) Можно. Вопрос неактуален, но я напишу для себя! Чтобы потом, когда забуду и понадобится, найти свой же пост))
&НаКлиенте
Процедура Команда1(Команда)
	Опов = Новый ОписаниеОповещения("Команда1Завершение", ЭтотОбъект);
	СЗ = Новый СписокЗначений;
	СЗ.Добавить(1, "Кнопка1");
	СЗ.Добавить(2, "Кнопка2");
	СЗ.Добавить(3, "Кнопка3");
	СЗ.Добавить(4, "Кнопка4");
	СЗ.Добавить(5, "Кнопка5");
	ПоказатьВопрос(Опов, "Нажмите чего - нибудь", СЗ);
КонецПроцедуры   

&НаКлиенте
Процедура Команда1Завершение(Ответ, Парамс) Экспорт
	Если Ответ = 1 Тогда
		Сообщить("Нажата кнопка 1");
	ИначеЕсли Ответ = 2 Тогда
		Сообщить("Нажата кнопка 2");
	ИначеЕсли Ответ = 3 Тогда
		Сообщить("Нажата кнопка 3");
	ИначеЕсли Ответ = 4 Тогда
		Сообщить("Нажата кнопка 4");
	ИначеЕсли Ответ = 5 Тогда
		Сообщить("Нажата кнопка 5");
	КонецЕсли;
КонецПроцедуры
Показать

Можно хоть 20 вариантов - все прекрасно работает! Коды ответа просто цифирями вместо КодВозвратаДиалога
35. user1795827 15.07.22 11:36 Сейчас в теме
Код с заменой имен кнопок для обычных форм

Если ДокументВыгруженВБП() Тогда 
	СписокКнопок = Новый СписокЗначений;
      	СписокКнопок.Добавить(КодВозвратаДиалога.Да, "Перенести");
      	СписокКнопок.Добавить(КодВозвратаДиалога.Нет, "Не переносить");
	СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
		
		Режим = РежимДиалогаВопрос.ДаНетОтмена;
		ТекстВопроса = "Документ уже выгружен. Перенести изменения в бухгалтерию?";
		Ответ = Вопрос(ТекстВопроса,СписокКнопок, 0);
		Если Ответ = КодВозвратаДиалога.Отмена Тогда
			Отказ = Истина;                   
		Иначе                                 
			Если Ответ = КодВозвратаДиалога.Да Тогда
				СброситьФлагВыгрузки();
			КонецЕсли;
		КонецЕсли		
	КонецЕсли;
Показать
kabantus; +1 Ответить
37. jmw 61 19.04.24 04:57 Сейчас в теме
Вопрос можно сделать ещё и с оформлением.
Прикрепленные файлы:
38. CheBurator 3230 20.04.24 02:02 Сейчас в теме
чтобы в диалоге было Хочу+Нехочу.
если так указать в версии для 77 - то получите обычное окно типа предупреждение с кнопкой ОК.
Parazyte; +1 Ответить
Оставьте свое сообщение

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