Вход | Регистрация

1С:Предприятие ::

Метки: 

автоподбор 8.3

Я
   Pandoch
 
25.12.17 - 09:46
Доброе время суток, мистяне. Меня озадачило 8.3. Есть управляемая форма, там поле на форме и при выборе значения нужно задавать определенные отборы замысловатые. В событие "НачалоВыбора" я прописала самостоятельно открытие формы выбора нужной с нужными отборами и все работает. Но многие пользователи любят вводом в поле строки поиска искать нужный элемент справочника, без открытия формы выбора. В этом случае в НачалоВыбора не заходит отладка и отборы не работают - можно выбрать что угодно.

Я прописала событие Автоподбор на это поле, чтобы самостоятельно менять ДанныеВыбора и в модуле формы этого справочника (значения которого нужно выбирать) я прописала собитие "ОбработкаДанныхВыбора" - там формирую запросом нужные данные выбора по отборам.

Вроде этого должно быть достаточно? НО - все события ОК отрабатывают, но когда я на форме ввожу текст - он затирается! не могу понять из-за чего это происходит.

Вот тексты процедур:
Это в форме, где поле находится, значение которого выбираем

&НаКлиенте
Процедура МероприятиеАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
    
        СтандартнаяОбработка = ложь;
        КодПодразделения = Объект.Подразделение;
        Спис = ВыборПодразделения(КодПодразделения);
        
        ПараметрыОтбора = Новый Структура;
        ПараметрыОтбора.Вставить("Отдел", Спис);
        ПараметрыОтбора.Вставить("Год", дата(Год(ТекущаяДата()),1,1));
        ПараметрыОтбора.Вставить("СтрокаПоиска", Текст);
        ДанныеВыбора = ПолучитьДанныеВыбора(Тип("СправочникСсылка.Мероприятия"), ПараметрыОтбора);
КонецПроцедуры


А это в модуле менеджера справочника:

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


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