Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Переопределение ввода по строке в управляемой форме

Переопределение ввода по строке в управляемой форме
Я
   mazikovrv
 
09.08.20 - 10:22
Задача.
УНФ. При вводе строки в форме по должности, чтобы выдавался ограниченный список выбора.
Разместил в менеджере справочник ОбработкаПолученияДанныхВыбора(

В конечном итоге.
Когда пользователь набирает начальные буквы, выходит предопределненый список согласно запроса, а после него система добавляет итоги своего поиска, с подсветкой, и с тем что исключалось из запроса.

Как ограничить список только определенной выборкой?


Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)

ДанныеВыбора  = Новый СписокЗначений;

Запрос = Новый Запрос;

Запрос.Текст = "
|ВЫБРАТЬ
|    Должности.Ссылка КАК Ссылка,
|    Должности.Наименование КАК Наименование
|ИЗ
|    Справочник.Должности КАК Должности
|ГДЕ
|    Должности.Наименование ПОДОБНО &Наименование + ""%""
|    И НЕ Должности.Наименование ПОДОБНО ""%(%""
|    И НЕ Должности.Наименование ПОДОБНО ""%к.%""
|    И НЕ Должности.ПометкаУдаления
|{ГДЕ
|    Должности.Наименование}
|";
Запрос.УстановитьПараметр("Наименование", Параметры.СтрокаПоиска);

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
     ДанныеВыбора.Добавить(Выборка.Ссылка,Выборка.Наименование);    
КонецЦикла;

СтандартнаяОбработка = Ложь;    
    
  
КонецПроцедуры
   youalex
 
1 - 09.08.20 - 10:33
параметры выбора
   mazikovrv
 
2 - 09.08.20 - 11:09
Переделал на жесткий отбор

 |ВЫБРАТЬ
 |    Должности.Ссылка КАК Ссылка,
 |    Должности.Наименование КАК Наименование
 |ИЗ
 |    Справочник.Должности КАК Должности
 |ГДЕ
 |    Должности.Наименование ПОДОБНО &Наименование
 |    И НЕ Должности.ПометкаУдаления
 |";
 
 Запрос.УстановитьПараметр("Наименование", "Повар");

Набираю Ме
Выдает 
1 строка Повар
2 Менеджер
Менеджер с подсветкой "Ме"
   MishaD
 
3 - 09.08.20 - 11:50
(2) Ну так иди в отладку, и смотри, что вызывается после "ОбработкаПолученияДанныхВыбора"
   mazikovrv
 
4 - 09.08.20 - 12:43
В отладчике я первым делом посмотрел.
С данным вопросом разобрался. Код правильный. То что высвечивается, остатки проиндексированных значений полнотекстового поиска. Осталось найти где их вычистить.
   acht
 
5 - 09.08.20 - 12:52
(4) В элементе поставь ИсторияВыбораПриВводе = Не использовать
   mazikovrv
 
6 - 09.08.20 - 18:15
(5) Благодарю за наводку. Переключил программно. Заработало.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.