Книга знаний

1С:Предприятие

Поле редактирования списка в форме

Как быстро и просто создать поле редактирования списка в форме.Автор статьи: Гений 1С
Последняя редакция №1 от 21.08.07
URL: http://kb.mista.ru/article.php?id=583

Ключевые слова: список,форма


В 77 часто использовалось поле списка и кнопочки для его редактирования - подбор одного элемента, подбор нескольких элементов, очистка всего списка.

В 80 можно использовать типовое поле редактирования списка, но нужно применить небольшую хитрость.

Разместите на форме поле ввода любого типа с названием "Список", без привязки к данным.
Создать у формы реквизит "Построитель" типа "ПостроительОтчета".

Далее при открытии формы использовать код:

     Построитель.Текст = "Выбрать Выразить(Неопределено как Справочник.Номенклатура) как Номенклатура";
     Построитель.ЗаполнитьНастройки();
     Построитель.Отбор.Добавить("Номенклатура");
     Построитель.Отбор.Номенклатура.ВидСравнения = ВидСравнения.ВСписке;
     
     ЭлементыФормы.список.Данные = обПутьДанныхКТекущемуОбъекту(ЭтотОбъект) + ".Построитель.Отбор.Номенклатура.Значение";


Пример приведен для списка, заполняемого элементами справочника Номенклатура.
Функция обПутьДанныхКТекущемуОбъекту определяет, является ли объект отчетом, обработкой, или внешней обработкой:


Функция обПутьДанныхКТекущемуОбъекту(Объект) Экспорт
    МД=Объект.Метаданные();
    Если Метаданные.Отчеты.Найти(МД)<>Неопределено Тогда
        Возврат "ОтчетОбъект";
    ИначеЕсли Метаданные.Обработки.Найти(МД)=Неопределено Тогда
        Возврат "ОбработкаОбъект";
    КонецЕсли;
    Если Найти(МД.ПолноеИмя(), "ВнешняяОбработка.")=1 Тогда
        Возврат "ОбработкаОбъект";
    КонецЕсли;
    Если Найти(МД.ПолноеИмя(), "ВнешнийОтчет.")=1 Тогда
        Возврат "ОтчетОбъект";
    КонецЕсли;
    Возврат Неопределено;
    
КонецФункции


Для формы справочника или документа нужно использовать другие пути.

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика