HelpF.pro

Форма ~ Универсальная Форма Вопроса для Пользователя

При написании программ, часто возникает ситуация, когда необходимо спросить у пользователя, какие данные он хочет получить.

В данной статье описан пример создания универсальной Формы Вопроса для Пользователя:

1. Создадим в общих формах новую форму "ФормаВопроса", добавим на ней две Надписи (ПЕРВАЯ= Имя: НадписьВыМожете, Заголовок: "Вы можете:" , ВТОРАЯ= Имя: НадписьТекстВопроса), добавим три кнопки (ПЕРВАЯ= Имя: КнопкаДействие1, Заголовок: "Действие1, События Нажатие: КнопкаДействие1, ВТОРАЯ= Имя: КнопкаДействие2, Заголовок: "Действие2, События Нажатие: КнопкаДействие2, ТРЕТЬЯ= Имя: КнопкаДействие3, Заголовок: "Действие3, События Нажатие: КнопкаДействие3) и добавим картику знака вопроса, для красоты.
dialog

В свойствах формы, обязательно снять галочку "Разрешить закрытие", иначе пользователь сможет нажать на крестик в правом верхнем углу и ответа на вопрос не произойдет ) .
dialog

2. В модуле опишем действия заданных Событий:
Код 1C v 8.х
 
Процедура КнопкаДействие1(Элемент)
Закрыть("1");
КонецПроцедуры

Процедура КнопкаДействие2(Элемент)
Закрыть("2");
КонецПроцедуры

Процедура КнопкаДействие3(Элемент)
Закрыть("3");
КонецПроцедуры

Все, форма готова!

Использовать ее, можно с помощью кода:

Код 1C v 8.х
  //Спросим у пользователя как сформировать
Форма = ПолучитьОбщуюФорму("ФормаВопроса");
Форма.Заголовок = "Выберите как сформировать проводки";
Форма.ЭлементыФормы.НадписьТекстВопроса.Заголовок = "Сформировать проводки по всем видам начислений или выбрать виды начислений и списка:";
Форма.ЭлементыФормы.КнопкаДействие1.Заголовок = "По всем видам";
Форма.ЭлементыФормы.КнопкаДействие2.Заголовок = "Выбрать виды из списка";
Форма.ЭлементыФормы.КнопкаДействие3.Видимость = ложь; //Третья кнопка в данном случае нам не нужна, скроем ее.
Результат = Форма.ОткрытьМодально();

Если Результат = "1" тогда
СформироватьВсе();
иначеесли Результат = "2" тогда
СформироватьВыбор();
//Иначе //Результат = 3 , в данном случае закомментирован, т.к у нас его нет
КонецЕсли;


Пользователь увидит вопрос:
dialog

Автор: Евгений Мигачев
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/521.html