Отбор при вводе строки в управляемом приложении 1с 8.3 #792620


#0 by JinAir
Здравствуйте, уважаемые форумчане. столкнулся с проблемой при реализации отбора при вводе в строку. Сам смысл задачи: "Сотрудник" является реквизитом табличной части "Сотрудники", при задании Организации в соответствующем реквизите формы при вводе должен формироваться список сотрудников, работающих только в данной организации. Вот код собственно: Работает криво само по себе, но в отладчике всё так как должно быть (запрос отрабатывает, данные передаются). Для примера: в одной организации работает двое женщин с фамилией "Волкова", а во второй один мужчина с фамилией "Волков". начинаю вводить и кроме двух женщин, ещё этот мужик в списке почему-то.
#1 by МимохожийОднако
Так в чём проблема?
#2 by Web00001
>>начинаю вводить и кроме двух женщин, ещё этот мужик в списке почему-то Значит в списке который возвращает запрос, этот мужик еще есть почему-то. Для начала надо отладить запрос и убедиться, что он возвращает нужные данные. Потом, может можно как то закешировать список сотрудников, что бы не дергать базу каждый раз?
#3 by МимохожийОднако
Отладь запрос в консоли, а потом вставь в свой код
#4 by JinAir
проблема как и говорил не в запросе, это я давно отладил. вот пруфы
#5 by МимохожийОднако
По большому счету, я бы вообще не стал менять и отключать стандартные механизмы автоподобора. Этот механизм и так работает нормально.
#6 by Vladal
предлагаю «что бы» добавить в матофильтр.
#7 by h-sp
попробуйте
#8 by Web00001
+Ну и и еще у меня вот такой вот код работает:
#9 by Web00001
+ То есть вот так выглядит весь код
#10 by JinAir
а ВариантыНазваний это что у вас?
#11 by JinAir
почему у вас: он же без этого по стандартному алгоритму ищет и на:
#12 by RomanYS
Непонятно почему ошибку не выдает: "...АвтоПодбор ... Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере. "
#13 by RomanYS
"КадроваяИсторияСотрудниковСрезПоследних.Сотрудник.Наименование КАК Сотрудник" возвращает строку, а не ссылку
#14 by JinAir
точно, спасибо ошибся
#15 by Web00001
ВариантыНазваний - закэшированные значения в массиве, что бы не ходить к базе каждый раз. Это работающий код.
#16 by JinAir
У меня ругается, когда делаю как вы. {Документ.ИЦК_ПриказОПоощрении.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ЗагрузитьЗначения)         Элемент.СписокВыбора.ЗагрузитьЗначения(ПолучитьДанныеВыбораСотрудников(Текст, Объект.Организация)); по причине: Несоответствие типов (параметр номер '1') в интернете прочитал, что так надо делать для события НачалоВыбораИзСписка
#17 by JinAir
простите. можете скинуть полный код вашей программы
#18 by Web00001
Это по той причине, что Элемент.СписокВыбора это список значений и в ЗагрузитьЗначения, он ожидает массив а у тебя функция возвращает, список значений ЗЫ можно говорить мне ты, я не расстроюсь.
#19 by JinAir
Сделал всё как у тебя вместо структуры в функции на сервере объявил массив, всё туда аккуратненько добавляю. Вызывается при автоподборе: Элемент.СписокВыбора.ЗагрузитьЗначения(ПолучитьДанныеВыбораСотрудников(Текст, Объект.Организация)); и через отладчик даже смотришь, что в массиве столько же элементов сколько и должно выводиться. вот только теперь при написании: Стандартнаяобработка = Ложь; - вообще ничего не ищет, а при Стандартнаяобработка = Истина; - ищет всё
#20 by TeMochkiN
А почему нужно в регистре сведений эту информацию брать? Разве в карточке сотрудника нет реквизита Организация? И почему бы не использовать параметры выбора у колонки при изменении организации?
#21 by Web00001
это у тебя точно к событию автоподбор привязано? при вводе текста это событие срабатывает?
#22 by JinAir
срабатывает, скрины кидал же с отладчика
#23 by Web00001
Сложно сказать, где проблема. Надо смотреть глазами. У меня текстовое поле и там нет стандартной обработки автоподбора текста. Поэтому и проблемы с ее включениемвыключением, тоже нет.
#24 by h-sp
поставь все-таки правильно СтандартнаяОбработка = Истина; у тебя же стандартная обработка.
#25 by TeMochkiN
так вы не можете пояснить, почему не подходят параметры выбора для вашей задачи? Организация то одна на весь документ, как я понял. Вот при выборе организации устанавливали бы параметры выбора у поля сотрудник.
#26 by TeMochkiN
даже не параметры выбора, а связи параметров выбора.
#27 by TeMochkiN
оно ж на автоподбор тоже влияет
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С