Существует возможность редактирования условия при помощи произвольных элементов управления. Для этого в объекте "Отбор" предусмотрена возможность связывания с данными.
Например, мы хотим дать пользователю возможность редактировать период отчета в отдельных полях ввода, а не только через табличное поле. Тогда нам необходимо связать поля ввода, в которых будет редактироваться параметры "ПериодС" и "ПериодПо" с отбором.
Следующий пример демонстрирует эту возможность:
ПостроительОтчета.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПродажиОбороты.Номенклатура.Представление,
| ПродажиОбороты.Контрагент КАК ПродажиКонтрагент,
| ПродажиОбороты.Контрагент.Представление,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.СуммаОборот КАК СуммаОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты({&ПериодНачало},{&ПериодКонец}) КАК ПродажиОбороты
|
|ИТОГИ СУММА(КоличествоОборот), СУММА(СуммаОборот) ПО
|ОБЩИЕ,
| Номенклатура КАК Номенклатура,
| ПродажиКонтрагент КАК ПродажиКонтрагент";
НовыйОтбор = ПостроительОтчета.Отбор.Добавить("ПериодНачало");
НовыйОтбор.Использование = Истина;
ЭлементыФормы.ПериодНачало.Данные = "ПостроительОтчета.Отбор.ПериодНачало.Значение";
НовыйОтбор = ПостроительОтчета.Отбор.Добавить("ПериодКонец");
НовыйОтбор.Использование = Истина;
ЭлементыФормы.ПериодКонец.Данные = "ПостроительОтчета.Отбор.ПериодКонец.Значение";
Важно: При связывании поля ввода со значением элемента отбора для не составных типов, необходимо сбросить свойство поля ввода "ВыбиратьТип" ("ChooseType").
Если необходимо, чтобы элементы отбора, связанные с полями ввода, не отображались в табличном поле редактирования отбора, то можно воспользоваться свойством расширения табличного поля для отбора "НастройкаОтбора" ("FilterSettings").
Пример:
ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодНачало", Ложь);
ФормаДополнительноОтбора.ЭлементыФормы.Отбор.НастройкаОтбора.Добавить("ПериодКонец", Ложь);