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

Универсальная форма для выбора пользователем значения из списка значений

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

1. Создадим в общих формах новую форму "ФормаРаботыСоСпискомЗначений", добавим на ней Табличное поле (Имя - СписокЗначений) и КоманднаяПанельСписокЗначений
dialog
На закладке Реквизиты, появится реквизит СписокЗначений
dialog

2. Привяжем КоманднаяПанельСписокЗначений к Источнику действий - СписокЗначений
dialog
3. В свойствах табличного поля пропишем События - Выбор и ПередНачаломДобавления
dialog
4. В модуле Формы пропишем обработку событий

Код 1C v 8.х
 Процедура ОсновныеДействияФормыВыбрать(Кнопка)
 
 ТекущаяСтрока = ЭлементыФормы.СписокЗначений.ТекущиеДанные;
 Если ТекущаяСтрока <> Неопределено Тогда
  Закрыть(ТекущаяСтрока);
 КонецЕсли;
 
КонецПроцедуры

Процедура СписокЗначенийПередНачаломДобавления(Элемент, Отказ, Копирование)
 
 Отказ = Истина;
 
КонецПроцедуры

Процедура СписокЗначенийВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
 
 ТекущаяСтрока = ЭлементыФормы.СписокЗначений.ТекущиеДанные;
 Если ТекущаяСтрока <> Неопределено Тогда
  Закрыть(ТекущаяСтрока);
 КонецЕсли;
 
КонецПроцедуры

Процедура ЗакрытьФорму(Кнопка) //процедура действия кнопки закрыть
Закрыть();
КонецПроцедуры   


Все, форма создана )

Использовать ее для выбора значения, можно с помощью кода:

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

Пользователь увидит окно выбора значения:

dialog
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 29926
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
ZIP-архив Чтение 1
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать инициализированный объект или
Посмотреть все результаты поиска похожих
Комментарии
escritor
04.02.2010 15:33Комментарий: 1
escritor
Спасибо большое за ваши примеры! Когда подробно расписано, да еще и с картинками, все просто получается. Побольше бы так оформленных примеров, для начинающих программистов это очень полезно!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!