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

1С 8.x : Универсальная форма для выбора пользователем значения из списка значений

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

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

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

Код 1C v 8.х
 Процедура ОсновныеДействияФормыВыбрать(Кнопка)

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

КонецПроцедуры

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

Отказ = Истина;

КонецПроцедуры

Процедура СписокЗначенийВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

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

КонецПроцедуры

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


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

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

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

//ЭлементСписка - Выбранный элемент, Если пользователь ничего не выбрал, а нажал Закрыть,
//то ЭлементСписка = Неопределено и пусть отчет формируется по всем Видам расчетов
Если ЭлементСписка <> Неопределено Тогда
ВидРасчета=ЭлементСписка.Значение; //Пользователь Выбрал из списка Вид расчета, формируем отчет по нему.
иначе
СписокВидовРасчетов = ФормаРаботыСоСпискомЗначений.СписокЗначений; // Пользователь нажал кнопку Закрыть, формируем по всем Видам Расчетов
КонецЕсли;
//----------------------Далее уже ваш модуль обработки...------------------------------------//

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

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