Имя: Пароль:
1C
1С v8
ОбработкаВыбора
0 NordMad
 
13.03.17
17:24
Голову уже всю сломал с этими выборами из полей ввода. Есть поле ввода, типа справочник, нужно чтобы там можно было по мере ввода текста выводились в контексте элементы подходящие, заранее отфильтрованные в зависимости от выбранного реквизита. Это сделал приВВодеТЕкста. но при выборе из выпадающего списка поле остается пустым, значение выбранное не выбирается в общем. В обработчике ОбработкаВыбора есть Элемент - но куда там пихать это выбранное значение не понятно.. или нужно это дело делать не через обработку выбора?! подскажите
1 NordMad
 
13.03.17
17:44
(0) 8.3 УФ забыл добавить
2 RomanYS
 
13.03.17
17:47
событие АвтоПодбор
3 NordMad
 
13.03.17
17:52
(2) и оно есть. но при выборе из контекста не возвращается значение
4 RomanYS
 
13.03.17
17:56
(3) Или ты где-то(где не нужно было) отключил стандартную обработку, или выпадающий список ты сам показал.
5 NordMad
 
13.03.17
18:00
(4) ну вот в автоподборе выключил выпадающий список
6 NordMad
 
13.03.17
18:02
(4) НО! у меня ещё есть событие ПРиНачале выбора, там я тоже фильтр поставил, чтоб если пользователь будет не вводить текст а сразу полезет в список! там тоже отключена стандартная обработка!
7 NordMad
 
13.03.17
18:17
(4) как сделать чтобы выбранное значение возвращалось в поле ввода?
8 RomanYS
 
13.03.17
18:18
(7) давай код всех обработчиков
9 RomanYS
 
13.03.17
18:19
+(8) этого элемента
10 NordMad
 
13.03.17
18:25
&НаСервереБезКонтекста
Функция ParentCompanyАвтоПодборНаСервере(имя, компания)
        СЗ = новый СписокЗначений;
    запрос = новый Запрос;
    запрос.УстановитьПараметр("Наименование",имя);
    запрос.УстановитьПараметр("Компания",компания);
    запрос.Текст =
    "ВЫБРАТЬ
    |    ПокупателиКомпаний.Наименование КАК Наименование
    |ИЗ
    |    Справочник.ПокупателиКомпаний КАК ПокупателиКомпаний
    |ГДЕ
    |    ПокупателиКомпаний.Наименование ПОДОБНО &Наименование + ""%""
    |    И ПокупателиКомпаний.Владелец = &Компания";
    
    СЗ.ЗагрузитьЗначения(запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование"));
    Возврат СЗ;

КонецФункции

&НаКлиенте
Процедура ParentCompanyАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    СтандартнаяОбработка = ложь;
        ДанныеВыбора = ParentCompanyАвтоПодборНаСервере(текст,Объект.Владелец);
КонецПроцедуры
11 NordMad
 
13.03.17
18:25
оставил только вот это. убрал остальные
12 RomanYS
 
13.03.17
18:28
(10) в списке у тебя строки, тип поля "строка"?
13 NordMad
 
13.03.17
18:29
(12) да. неправильно задан список значений?
14 NordMad
 
13.03.17
18:32
(12) точно, спасибо. копирнул с другого места где у меня строка, и забыл поменять запрос! а ещё вопрос. получакется что когда я ввожу текст в поле - фильтр работает, а вот если нажимаю кнопку списка, то там вываливаюся все подряд названия... тот же запрос воткнуть на событие ПЕРЕдНАчаломВыбора?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший