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