|
автоподбор 8.3 | ☑ | ||
---|---|---|---|---|
0
Pandoch
25.12.17
✎
09:46
|
Доброе время суток, мистяне. Меня озадачило 8.3. Есть управляемая форма, там поле на форме и при выборе значения нужно задавать определенные отборы замысловатые. В событие "НачалоВыбора" я прописала самостоятельно открытие формы выбора нужной с нужными отборами и все работает. Но многие пользователи любят вводом в поле строки поиска искать нужный элемент справочника, без открытия формы выбора. В этом случае в НачалоВыбора не заходит отладка и отборы не работают - можно выбрать что угодно.
Я прописала событие Автоподбор на это поле, чтобы самостоятельно менять ДанныеВыбора и в модуле формы этого справочника (значения которого нужно выбирать) я прописала собитие "ОбработкаДанныхВыбора" - там формирую запросом нужные данные выбора по отборам. Вроде этого должно быть достаточно? НО - все события ОК отрабатывают, но когда я на форме ввожу текст - он затирается! не могу понять из-за чего это происходит. Вот тексты процедур: Это в форме, где поле находится, значение которого выбираем &НаКлиенте Процедура МероприятиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка) СтандартнаяОбработка = ложь; КодПодразделения = Объект.Подразделение; Спис = ВыборПодразделения(КодПодразделения); ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("Отдел", Спис); ПараметрыОтбора.Вставить("Год", дата(Год(ТекущаяДата()),1,1)); ПараметрыОтбора.Вставить("СтрокаПоиска", Текст); ДанныеВыбора = ПолучитьДанныеВыбора(Тип("СправочникСсылка.Мероприятия"), ПараметрыОтбора); КонецПроцедуры А это в модуле менеджера справочника: Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) СтандартнаяОбработка = ложь; Запрос = новый запрос("тут запрос"); Запрос.УстановитьПараметр("..устанавливаю параметры..."); Результат = Запрос.Выполнить().Выгрузить(); СписокЗначений = Новый СписокЗначений; Для Каждого стр Из Результат Цикл СписокЗначений.Добавить(стр.Ссылка); КонецЦикла; ДанныеВыбора = СписокЗначений; КонецЕсли; конецПроцедуры |
|||
1
Pandoch
25.12.17
✎
09:49
|
Если что - в отладку заходила, все события проходит нормально, запрос выполняется, Данные выбора заполняются.
|
|||
2
vicof
25.12.17
✎
10:02
|
||||
3
hhhh
25.12.17
✎
10:22
|
(1) событие называется ОкончаниеВводаТекста вообще-то. И в обычных формах и в управляемых.
|
|||
4
Pandoch
25.12.17
✎
10:41
|
(2) спасибо) почитала, про серверные вызовы дело говорят. У меня вызывается серверная процедура ВыборПодразделения(), и после этого ТекстРедактирования затирается. Поставила директиву НаСервереБезКонтекста у нее и все, не затирается и работает)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |