helpf.pro
Регистрация
 0 
Распечатать

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

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

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

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

Автор: Евгений Мигачев
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 10982
 0 
Распечатать
Возможно, вас также заинтересует
1C и Google Maps 12
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во...
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
QR код в 1С 10
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После...
V82.COMConnector.1: Не найдена лицензия COM-соединением 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13....
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.