Если Вопрос("Перед заполнением таблица будет очищена,"+РазделительСтрок+"а существующие строки удалены. Продолжать?","ОК+Отмена") = "ОК" Тогда
...
,
и думаю идея переобзывать кнопки в зависимости от ситуации уже посещала ваши светлые головы. Поделитесь, плиз, если это можно сделать! Или, если ТОЧНО нельзя.
Спасибо.
Вопрос(<?>,)
Синтаксис:
Вопрос(<Текст_вопроса>,<Режим>,<Таймаут>)
Назначение:
Вывести окно вопроса и получить ответ.
Возвращает ответную реакцию в виде числа или строки, в соответствии с заданием параметра <Режим>:
-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, то без ограничения).
Подробнее см. в документации, глава 'Системные процедуры и функции'
(4) dvk09, ?! СПС, конешно, но это можно было и в синтакс-помощнике прочитать. Вопрос в другом был: можно ли вместо, нпр., Да+Нет чтобы в диалоге было Хочу+Нехочу.
(7) Все обработками без Вопрос(). В глобальнике нужные функции-обёртки для удобного вызова типа
Функция глВопрос(ТекстВопроса, СписокОтветов, Заголовок="", ВыбранноеЗначение="") Экспорт
Ну вот удачный пример http://sdrv.ms/IBKfu2 Как кнопку "Запросить согласование" сопоставить с стандартным ответом "Да", а "Отозвать запрос на согласование с ответом "Нет" ??
Тип: РежимДиалогаВопрос; СписокЗначений.
Задает состав и текст кнопок диалога, а также, связанные с кнопками значения.
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).
При использовании типа СписокЗначений список не должен быть пустым.
... а говорили же саппорту, что
- некропостинг больше вреден, чем нужен;
- вставка при нажатии на ответ цитат из всех выделенных во вкладках тем не фича, а баг.
(23) нет, вы смотрите на строчку добавления кнопки, а ошибка возникает на вызове вопроса, кнопки там идут третьим параметром. При добавлении кнопки третий параметр - это Пометка.
&НаКлиенте
Процедура КакаяТоКоманда(Команда)
ПараметрыОповещения = Новый Структура("Парам1", "Мой параметр");
Оповещение = Новый ОписаниеОповещения("ЗаполнитьВСоответствияЦентральныйСерверПослеЗакрытияВопроса", ЭтотОбъект, ПараметрыОповещения);
ЗаголовокВопроса = "Можно ли добавлять картинки в кнопки вопроса?";
ТекстВопроса = "Если вы видите этот вопрос, значит в платформе пофиксили этот момент";
СписокКнопок = Новый СписокЗначений;
СписокКнопок.Добавить("РазмножитьНаВсе","Размножить на все",,БиблиотекаКартинок.РазбитьСтроку);
СписокКнопок.Добавить("ЗаменитьНаУказанный","Заменить",,БиблиотекаКартинок.ЗаполнитьПоОснованию);
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
ПоказатьВопрос(Оповещение, ТекстВопроса, СписокКнопок,,,ЗаголовокВопроса);
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьВСоответствияЦентральныйСерверПослеЗакрытияВопроса(Результат, ПараметрыОповещения) Экспорт
Если Результат = КодВозвратаДиалога.Отмена Или Результат = Неопределено Тогда
Возврат;
Иначе
КодНаСервере(Результат, ПараметрыОповещения);
КонецЕсли;
КонецПроцедуры
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).
Ну вот текст менять можно, картинки не реализовали. Возможно на разных релизах это не документированная фича!
(33) там было что-то про несколько вариантов ответа на вопрос в сообщении. хотел через показать вопрос решить. Но я разобрался тогда, точно не помню как программно решил, но получилось так http://joxi.ru/KAxDkLpHw0JG3A (31)
Если ДокументВыгруженВБП() Тогда
СписокКнопок = Новый СписокЗначений;
СписокКнопок.Добавить(КодВозвратаДиалога.Да, "Перенести");
СписокКнопок.Добавить(КодВозвратаДиалога.Нет, "Не переносить");
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена, "Отмена");
Режим = РежимДиалогаВопрос.ДаНетОтмена;
ТекстВопроса = "Документ уже выгружен. Перенести изменения в бухгалтерию?";
Ответ = Вопрос(ТекстВопроса,СписокКнопок, 0);
Если Ответ = КодВозвратаДиалога.Отмена Тогда
Отказ = Истина;
Иначе
Если Ответ = КодВозвратаДиалога.Да Тогда
СброситьФлагВыгрузки();
КонецЕсли;
КонецЕсли
КонецЕсли;