![]() |
![]() |
|
УФ - ОбработкаПолученияДанныхВыбора - как передать параметры? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
04.04.13
✎
11:31
|
ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры
есть метод ПолучитьДанныеВыбора но он вызывается только через сервер т.е. если надо передать параметры в обработку получения данных менеджера справочника надо из двух клиентских процедур АвтоПодбор и ОкончаниеВвода вызвать серверную процедуру внутри которой вызвать метод ПолучитьДанныеВыбора ? только так?? |
|||
1
RomaH
naïve
04.04.13
✎
11:32
|
и при этом еще и отказаться от стандартной обработки?
а просто передать параметры и "стандартно" обработать никак? |
|||
2
kiruha
04.04.13
✎
11:33
|
Через реквизиты формы
|
|||
3
RomaH
naïve
04.04.13
✎
13:15
|
ничего не понимаю
переопределяю выбор контрагентов что бы возврщало мой список, а не стандартный - стандартную обработку ставлю в Ложь Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Текст = Параметры.СтрокаПоиска; Если ПустаяСтрока(Текст) Тогда ДанныеВыбора = Новый СписокЗначений; Возврат; КонецЕсли; // заменим спецсимволы Текст = СОКРЛП(Текст); Текст = РаботаСДиалогамиКлиентСервер.СформироватьСтрокуДляПоискаВЗапросе(Текст); КатегорияВнереализации = Неопределено; Параметры.Свойство("КатегорияВнереализации",КатегорияВнереализации); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Текст","%" + Текст + "%"); Запрос.УстановитьПараметр("КатегорияВнереализации",КатегорияВнереализации); Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.ПометкаУдаления, | Контрагенты.Код, | Контрагенты.Наименование |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | (Контрагенты.Наименование ПОДОБНО &Текст | ИЛИ Контрагенты.НаименованиеПолное ПОДОБНО &Текст) | И НЕ Контрагенты.НельзяВыбрать | И ВЫБОР | КОГДА &КатегорияВнереализации <> ЗНАЧЕНИЕ(Перечисление.КатегорииВнереализации.ПенсионерИнвалидЖД) | ТОГДА НЕ Контрагенты.ТолькоДляПенсионеров | ИНАЧЕ ИСТИНА | КОНЕЦ"; Результат = Запрос.Выполнить().Выбрать(); ДанныеВыбора = Новый СписокЗначений; Пока Результат.Следующий() Цикл ДанныеВыбора.Добавить(Результат.Ссылка,,Результат.ПометкаУдаления); КонецЦикла; КонецПроцедуры так? |
|||
4
RomaH
naïve
04.04.13
✎
13:16
|
дальше - надо передать параметры в ОбработкаПолученияДанныхВыбора
для этого вызываю метод &НаСервере Функция ПолучитьСписокКонрагентов(Элемент,Текст) ПараметрыВыбора = Новый Структура; ПараметрыВыбора.Вставить("Отбор",Новый Структура); ПараметрыВыбора.Вставить("СтрокаПоиска",Текст); ПараметрыВыбора.Вставить("ВыборГруппИЭлементов",ИспользованиеГруппИЭлементов.Элементы); Если Элемент = "ДанныеПациентаПоВнереализацииОрганизацияВнереализации" Тогда ПараметрыВыбора.Вставить("КатегорияВнереализации",ДанныеПациентаПоВнереализации.КатегорияВнереализации); КонецЕсли; ДанныеВыбора = Справочники.Контрагенты.ПолучитьДанныеВыбора(ПараметрыВыбора); Возврат ДанныеВыбора; КонецФункции |
|||
5
RomaH
naïve
04.04.13
✎
13:17
|
но так как СтандартнаяОбработка = Ложь
возвращается пустой список что не так? |
|||
6
RomaH
naïve
04.04.13
✎
13:18
|
и не понял примечания к методу ПолучитьДанныеВыбора
что значит: Примечание: Если в модуле менеджера в методе указано два параметра, то будет вызван метод ПолучитьДанныеВыбора глобального контекста. Выполнение метода приводит к вызову события ОбработкаПолученияДанныхВыбора. что за параметры в модуле менеджера? менеджера чего? |
|||
7
RomaH
naïve
04.04.13
✎
13:29
|
хм, все оказывается проще
но как тут быть? это я столкнулся с тем, что спиок формируется на 54 элемента, а платформа, похоже, сама обрезает списки больше 50 элементов и возвращает пустой вопрос - как в случае получения спсика больше 50 - возвращать стандартное (ну или не стандартное) сообщенеи патформы о то что надо уточнить поиск? |
|||
8
RomaH
naïve
04.04.13
✎
13:44
|
(2) может ты что дельное скзал ... уточни - что за форму ты имеешь в виду?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |