Имя: Пароль:
1C
1С v8
Не корректно работает условие отбора
0 vanyshan
 
13.03.13
11:43
Всем привет.
В табличной части документа накладываю отбор по полю номенклатура в обработчике события "НачалоВыбора".

Процедура ПродукцияМатериалНачалоВыбора(Элемент, СтандартнаяОбработка)
   
Если Не ДоговорКонтрагента.Пустая()Тогда
       СтандартнаяОбработка=Ложь;

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

КонецПроцедуры

Открываю регистр и смотрю последние записи по этому договору - вижу две позиции номенклатуры, а в документе в поле при выборе номенклатуры почему их три. В чем может быть ошибка запроса?
1 Maxus43
 
13.03.13
11:45
ВидСравнения.ВСпискеПоИерархии;

не?
2 Maxus43
 
13.03.13
11:47
надо ВидСравнения.ВСписке;
3 vanyshan
 
13.03.13
11:50
Да, так будет правильнее, но это мою проблему не решает.
4 Defender aka LINN
 
13.03.13
11:51
(3) О_о
5 Maxus43
 
13.03.13
11:51
(3) чудес не бывает, период не тот значит. В консоли запросов сделай, там увидишь косяк
6 vanyshan
 
13.03.13
12:00
???
7 Defender aka LINN
 
13.03.13
12:06
(6) Тебе сказали уже, в чем дело
8 vanyshan
 
13.03.13
12:12
Этот период почему то объединяет все записи номенклатуры по всем регистрам, а мне надо только по последнему.
Нет консоли запросов, есть консоль отчетов, но в ней не видно ошибки.
9 vanyshan
 
13.03.13
12:13
У меня обычное приложение.
10 Maxus43
 
13.03.13
12:15
я не понимаю проблемы. Есть запрос, что он возвращает ты видишь? точно то же самое будет в отборе. Других вариантов нет