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