Имя: Пароль:
1C
1С v8
Отбор в динамическом списке
0 kalisto
 
25.02.14
12:15
Добрый день. У меня есть конфигурация Турагенство, редакция 1.3.  Директор очень захотел, чтобы на форме списка документов заявок можно было указывать дату выезда и в списке происходил отбор документов по данному реквизиту. Добавила на форму реквизит ДатаВыездаОтбор (тип Дата). В событии ПриИзменении() написала след.:
&НаКлиенте
Процедура ДатаВыездаОтборПриИзменении(Элемент)
    ОтборПоДатеВыезда = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));    
    ОтборПоДатеВыезда.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДатаБронирования");
    ОтборПоДатеВыезда.ВидСравнения =  ВидСравненияКомпоновкиДанных.Равно;
    ОтборПоДатеВыезда.ПравоеЗначение = ДатаВыездаОтбор;
    ОтборПоДатеВыезда.Использование = Истина;
КонецПроцедуры

При выборе даты выезда на форме списка выводится ошибка
"Параметры отбора, сортировки, группировки или список отображаемых полей заданы неверно". Я только начала освоение восьмерки, трудновато разобраться без помощи опытных программеров. Возможно, я делаю совсем не так, прошу подсказать. Стандартной настройкой списка, к сожалению, не хотят пользоваться. Видимо, в силу своей лени или еще чего похуже.
1 Euguln
 
25.02.14
12:20
(0) ДатаБронирования в списке есть?
ОтборПоДатеВыезда = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); - это при создании делать.
При изменении менять значение поля отбора.
2 kalisto
 
25.02.14
12:31
ДатаБронирования есть. По Сути это и есть дата выезда.
3 Maxus43
 
25.02.14
12:31
(2) может она есть изначально и добавлять её не надо
4 kalisto
 
25.02.14
12:32
Программист просто не потрудился переименовать реквизит, когда что-то там переделывал.
5 kalisto
 
25.02.14
12:34
И как тогда будет выглядеть код?
6 Maxus43
 
25.02.14
12:35
ОтборПоДатеВыезда = Список.Отбор.Элементы.найти.....
Если ОтборПоДатеВыезда = Неопределено Тогда
//тогда нету

Просто проверь это
7 kalisto
 
25.02.14
12:36
Надо попробовать. Спасибо.
8 George Wheels
 
25.02.14
13:35
(0) Когда добавляешь какой-нибудь отбор, нужно сначала проверить существование такого отбора. Если будешь добавлять каждый раз новый отбор, то коллекция отборов будет только увеличиваться.