Имя: Пароль:
1C
1С v8
Вид сравнения
0 botanik
 
21.03.12
12:58
Добрый день товарищи.
Код:
Процедура НомНачалоВыбора(Элемент, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   //
   Запрос = Новый Запрос();
   Запрос.Текст = ("ВЫБРАТЬ
   |    Номенклатура.Код
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.ЭтоГруппа = ЛОЖЬ
   |    И Номенклатура.Родитель = &Родитель");
   Запрос.УстановитьПараметр("Родитель",Справочники.Номенклатура.КоврыНеВРаботе);
   Результат = Запрос.Выполнить().Выгрузить();
   СпсокЗначений = Новый СписокЗначений;
   СпсокЗначений.ЗагрузитьЗначения(Результат.ВыгрузитьКолонку("Код"));
   //
   ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
   ФормаВыбора.НачальноеЗначениеВыбора = Элемент.Значение;
   ФормаВыбора.ЗакрыватьПриВыборе      = Истина;
   //
   ФормаВыбора.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.НеВСписке;
   ФормаВыбора.СправочникСписок.Отбор.Код.Установить(СпсокЗначений);
   //ФормаВыбора.Отбор.Код.Использование = Ложь;
   ЗначениеНом = ФормаВыбора.ОткрытьМодально();
   Если ЗначениеЗаполнено(ЗначениеНом) Тогда
       Элемент.Значение = ЗначениеНом;
   КонецЕсли;
КонецПроцедуры

Дело в том, что при:
ФормаВыбора.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.НеВСписке;
Устанавливается вид сравнения "Не в списке".
А втедущем действии:
ФормаВыбора.СправочникСписок.Отбор.Код.Установить(СпсокЗначений);
Вид сравнения опять становится "Равно".
Что не так я делаю?  
Заранее благодарю!!!!
1 Maxus43
 
21.03.12
13:00
Установить - на равенство.
  ФормаВыбора.СправочникСписок.Отбор.Код.ВидСравнения = ВидСравнения.НеВСписке;
ФормаВыбора.Отбор.Код.Значение = ТвойКОд;
   ФормаВыбора.Отбор.Код.Использование = Истина;
2 ZanderZ
 
21.03.12
13:01
Установить(<Значение>, <Использование>)
Параметры:

<Значение> (необязательный)

Тип: Произвольный.
Значение сравнения.
<Использование> (необязательный)

Тип: Булево.
Признак использования отбора по значению.
Значение по умолчанию: Истина
Описание:

Устанавливает значение отбора и флаг использования. При выполнении данного метода вид сравнения устанавливается в значение Равно.
3 botanik
 
21.03.12
13:06
Спасибо. Тема закрыта!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший