Имя: Пароль:
1C
1С v8
Ограничение автоподбора
0 denis200
 
02.08.11
01:11
Требуется чтобы при автоподборе(при вводе текста) вводились бы не все значения, а значения ограниченные определёнными условиями.
Например есть реквизит игрок. У этого реквизита есть реквизит страна.
Я хочу чтобы при автоподборе дополнялись бы не всеми игроками а игроками из определённых стран.
Как это сделать?
1 GROOVY
 
02.08.11
01:31
В модуле менеджера справочника есть событие "ОбработкаПолученияДанныхВыбора". Кури его.
2 denis200
 
02.08.11
02:21
&НаКлиенте
Процедура ИгрокиИгрокАвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка)
   ДанныеВыбора = ПолучитьСписокИгроков();
КонецПроцедуры

&НаСервере
Функция ПолучитьСписокИгроков()
   Сп = Новый СписокЗначений();
   Выборка = Справочники.Игроки.Выбрать();
   Пока Выборка.Следующий() Цикл
       Если Выборка.Страна = Справочники.команды.НайтиПоНаименованию("Россия")
           Или Выборка.Страна = Справочники.команды.НайтиПоНаименованию(Объект.Соперник) Тогда
           Сп.Добавить(Выборка.Ссылка);
       КонецЕсли;
   КонецЦикла;
   Возврат Сп;
КонецФункции


-------------------
Что не так?
Список получает как надо. Почему не ограничивает автозаполнение?
3 Garkin
 
02.08.11
02:44
В первой процедуре попробуй:
   СтандартнаяОбработка=Ложь;
4 denis200
 
02.08.11
02:47
(3) Тогда будет просто список подставляться и игнорироваться какие буквы набраны первыми.