Обработчик "АвтоПодбор" поля ввода #641685


#0 by yc4
Господа специалисты, помогите разобраться! Описание ситуации: В управляемой форме есть реквизит "ПолеВводаПоиска" - Строка и "СписокНайденных" - ТаблицаЗначений. Оба расположены на форме. Вид строкового реквизита на форме - поле ввода. Для него определен обработчик "АвтоПодбор": Суть проблемы: После ввода символов в "ПолеВводаПоиска" и срабатывания обработчика АвтоПодбор текст в поле очищается. Если закомментировать строку "СписокНайденных.Очистить;" текст не пропадает. Вопрос: Как сделать, чтобы текст не пропадал?
#1 by Goggy
>>Если закомментировать строку "СписокНайденных.Очистить;" текст не пропадает. >>Как сделать, чтобы текст не пропадал? Такие высказывания у меня вызывают когнитивный диссонанс...
#2 by yc4
Кто-нибудь может что-то конструктивное ответить?
#3 by yc4
В каких ситуациях вы используете обработчик события "АвтоПодбор", помимо формирования собственного списка выбора?
#4 by Buster007
а теперь все сначала и на русском)
#5 by yc4
Хочу реализовать такой механизм: Пользователь вводит в поле текст. По мере ввода происходит поиск данных и они отображаются в таблице. Для этого использую обработчик АвтоПодбор в котором происходит поиск и отображение найденных данных по введенному фрагменту текста. Все работает, но текст в поле ввода всегда очищается. В этом проблема.
#6 by 5 Элемент
Скорее всего вот из-за этого В обработчике события АвтоПодбор нельзя использовать серверные методы формы с директивой компиляции НаСервере.
#7 by yc4
В моем примере в первом сообщении нет вызовов серверных процедур.
#8 by yc4
В ходе экспериментов обнаружил интересную вещь. Если сделать так, то будет постоянный вывод текущего времени (получится бесконечный цикл):
#9 by 5 Элемент
Уверен? включи показатели производительности и посмотри есть ли вызовы сервера. Иногда что-то не очевидно :)
#10 by regniws
ОбработкаПолученияДанных выбора для ссылочных типов конечно же знаем?
#11 by yc4
Ога. Только у меня строка -
#12 by yc4
В синтакс-помощнике черным по белому написано - "... нельзя использовать серверные методы формы с директивой компиляции НаСервере.", и не сказано про неявные вызовы сервера. Показатели производительности включены - нет вызова сервера.
#13 by yc4
Ну почему так все несправедливо!!!???? В обычном режиме все работает как надо. Поле ввода не очищается.
#14 by regniws
Зачем вообще СписокНайденных очищается?
#15 by yc4
Чтобы потом заполниться найденными значениями по введенной строке в поле ввода поиска
#16 by regniws
а ДанныеВыбора где заполняются?
#17 by yc4
ДанныеВыбора не заполняю. Мне не нужно заполнять стандартный список выбора. СписокНайденных - это таблица значений, которая заполняется при срабатывании обработчика АвтоПодбор.
#18 by regniws
какой-то бред. АвтоПодбор это событие, с помощью которого можно заполнить ДанныеВыбора, из которых пользователь выберет то, что ему выпало в этом списке ДанныеВыбора.
#19 by yc4
Спорить не буду. Все верно. Но это при стандартной обработке. Такое описано в букварях. Читать я умею и не стал бы обращаться за помощью в таком случае.
#20 by regniws
ну если вы используете процедуры и функции не по назначению, скажем так, платформа не всегда может однозначно отработать.
#21 by yc4
Очень жаль, что у нас вами такая платформа, если она по разному отрабатывает события в управляемом и обычном режиме.
#22 by regniws
у меня прекрасная платформа, которая прекрасно работает в сценариях, которые в ней предусмотрены. Обижаться на то, что моя машина не может вылезти из кучи снега, потому что рассчитана на быструю езду по автобанам - я бы не стал. Так же и тут. Есть сценарий - он реализован, отлажен и работает. Если используется какой-то хак - это уже не проблемы платформы. У меня есть похожий сценарий и у меня все работает, только я руками не заполняю таблицы, а устанавливаю отборы на демонический список, никаких очисток не происходит, все гуд.
#23 by yc4
Платформа - 8.2.17.143. Накидал пример: &НаКлиенте Отбор устанавливается. Текст в поле ввода очищается.
#24 by regniws
щас у себя проверю на 17ой
#25 by regniws
в тонком и веб у меня все норм.
#26 by regniws
у меня так:
#27 by regniws
В толстом тоже все норм
#28 by yc4
Проверяли мой пример? В этом примере обработчик ПриИзменении, а меня все-таки интересует АвтоПодбор
#29 by regniws
да, виноват, соседнюю процедуру скопировал, но сути не меняет &НаКлиенте Процедура Наименование1АвтоПодбор(Элемент, Текст, ДанныеВыбора, Ожидание, СтандартнаяОбработка) нет, конкретно твой не пробовал, но отличий на взгляд не вижу, надо искать другие отличия
#30 by regniws
щас скриншоты настройки поля скину
#31 by regniws
#32 by yc4
Отличий минимум: у меня нет обработчика ПриИзменении и положение заголовка Авто.
#33 by yc4
Ничего не понимаю... В другой базе запускаю похожую обработку и работает как надо.
#34 by yc4
Правда база файловая
#35 by regniws
я и в клиент-сервере и в файловой проверил, все ок, работает. Странно, действительно странно
#36 by yc4
тоже проверил на другой базе клиент-серверной. Там все ок. Похоже дело в конкретной базе. Буду с ней экспериментировать.
#37 by yc4
Режим совместимости случайно не включен? Когда в своей базе включаю режим совместимости 8.2.13, то все ок.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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