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