|   |   | 
| 
 | Как программно заполнить табличное поле с данными Построитель.Отбор? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Vladal 22.06.15✎ 13:27 | 
        Во внешней обработке есть реквизит Построитель, на форму поместил табличное поле с данными Построитель.Отбор.
 В модуле объекта написал: Построитель.Текст = "ВЫБРАТЬ ..."; Построитель.ЗаполнитьНастройки(); На форме в поле отборов пользователь вручную добавляет нужный ему отбор, но надо бы эти поля добавить в табличное поле отбора. Как программно заполнить это табличное поле? Понимаю, что надо перебирать отбор построителя, есть ли какой пример? | |||
| 1
    
        Fragster гуру 22.06.15✎ 13:28 | 
        Построитель.Отбор.Добавить...     | |||
| 2
    
        DTXqueque 22.06.15✎ 13:29 | 
        В данных ТП добавить Построитель.Отбор     | |||
| 3
    
        Vladal 22.06.15✎ 13:32 | 
        Я в данных ТП и установил ПОстроитель.Отбор. Пользщователдь может в поле сам добавлять нужные ему отборы.
 НО надо добавить эти поля. чтобы пользователь просто уже выбирал правое значение фильтров. | |||
| 4
    
        DTXqueque 22.06.15✎ 13:33 | 
        Отбор (Filter)
 Отбор (Filter) Элементы коллекции: ЭлементОтбора Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы отбора. Возможно обращение к элементу отбора посредством оператора [...]. В качестве аргумента передается индекс элемента (нумерация с 0). Свойства: <Имя элемента отбора> (<Filter element name>) Методы: Добавить (Add) Индекс (IndexOf) Количество (Count) Найти (Find) Получить (Get) ПолучитьДоступныеПоля (GetAvailableFields) Сбросить (Reset) Сдвинуть (Move) Удалить (Delete) УстановитьДоступныеПоля (SetAvailableFields) Описание: Предназначен для хранения условий отбора. Представляет собой коллекцию элементов отбора. Используется для установки фильтрации данных в различных выборках, наборах записей, визуальных списках. Каждый из элементов может устанавливать одно условие. Весь объект представляет собой составное условие, состоящее из отдельных условий, описываемых элементами, соединяющимися по "И". Доступность: Сервер, толстый клиент, внешнее соединение | |||
| 5
    
        Vladal 22.06.15✎ 13:34 | 
        (4) и? какие из букв мне должны помочь?     | |||
| 6
    
        DTXqueque 22.06.15✎ 13:35 | 
        (5) Добавить (Add)     | |||
| 7
    
        Vladal 22.06.15✎ 13:38 | 
        (6) Возможно, я не понял ответ.
 Поля отбора построителя и так есть, задавал их в тексте запроса: |{ГДЕ | ВТ_Результат.Номенклатура., | ВТ_Результат.ДокументОприходования., | ВТ_Результат.Цена, | ВТ_Результат.СтавкаНДС.*, | ВТ_Результат.ЦенаДляПоследующейОбработки, Сейчас пользователь в поле отбора ручками жмёт ПКМ -> Добавить -> выбирает из списка полей нужное поле -> устанавливает нужное значение фильтра. А я хочу доступные поля отбора вывести в ТП, а пользователь будет проставлять только правое значение отбора. | |||
| 8
    
        Vladal 22.06.15✎ 13:39 | 
        *После точек в Номенклатура., и ДокументОприходования., должны быть звёздочки     | |||
| 9
    
        DTXqueque 22.06.15✎ 13:44 | 
        (7) Ну так и добавь нужные тебе отборы с помощью (6). А пользователь просто правые значеня будет клацать.     | |||
| 10
    
        Vladal 22.06.15✎ 13:47 | 
        (9) Если я правильно понял, получить список отборов в цикле?
 Для каждого ПолеОтбора из Построитель.Отбор Цикл НоваяСтрока = ЭлементыФормы.ОтборПостроителя Добавить(); НоваяСтрока.Имя = ПолеОтбора.Имя; ... КонецЦикла | |||
| 11
    
        Vladal 22.06.15✎ 13:55 | 
        Получилось!
 // Заполнение поле отбора Для каждого ПолеОтбора Из Построитель.ДоступныеПоля Цикл ЭлементыФормы.ОтборПостроителя.Значение.Добавить(ПолеОтбора.Имя, ПолеОтбора.Имя); КонецЦикла; | |||
| 12
    
        DTXqueque 22.06.15✎ 13:58 | 
        >ЭлементыФормы.ОтборПостроителя.Значение
 Мощно :) | |||
| 13
    
        Vladal 22.06.15✎ 13:59 | 
        (12) как правильно?     | |||
| 14
    
        hhhh 22.06.15✎ 14:00 | 
        ОтборПостроителя     | |||
| 15
    
        Vladal 22.06.15✎ 14:02 | 
        (14) нет, так он не давал. Я не определял реквизит с типом ПОстроитель.Отбор, просто на форму положил ТП и назначил его данные как ПОстроитель.Отбор.     | |||
| 16
    
        Зеленый пень 22.06.15✎ 14:03 | 
        (15) Загляни в реквизиты формы и найдешь там свой построитель. Или у тебя Построитель - реквизит основного реквизита формы :)     | |||
| 17
    
        hhhh 22.06.15✎ 14:03 | 
        (15) ну тогда ПОстроитель.Отбор.     | |||
| 18
    
        DTXqueque 22.06.15✎ 14:04 | 
        (13) >Во внешней обработке есть реквизит Построитель
 ЭлементыФормы.ОтборПостроителя.Значение -> Построитель.Отбор | |||
| 19
    
        Vladal 22.06.15✎ 14:06 | 
        (17) Так получилось более изящно. Спасибо!
 Для каждого ПолеОтбора Из Построитель.ДоступныеПоля Цикл Построитель.Отбор.Добавить(ПолеОтбора.Имя); КонецЦикла; | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |