Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Тайны платформы 8.3.7 в плане отбора

Тайны платформы 8.3.7 в плане отбора
Я
   strange2007
 
05.02.16 - 15:19
Доброго времени суток. Уже создал микро конфу, в которой пытаюсь побороть глюк, но пока даже не знаю куда рыть. Может кто сходу решил проблему глюка:
Есть форма выбора справочника. Над списком есть обычное текстовое поле, которое при набирании символов вызывает обработчик "ИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)".

Там есть код отбора для списка
    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НачинаетсяС;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = Текст;

Так вот при введении любого символа всё стирается. Если код установки отбора коментирую и ставлю что угодно (например, сообщить), то всё нормально, текст не стирается. Стоит отбор перенести на кнопку. Т.е. текст вводишь, нажимаешь на кнопку и тоже всё нормально. Но если делать посимвольный отбор, то всё стирается хоть тресни.

Уважаемые специалисты по ЦФ, подскажите куда глянуть по этой волшебной фиче от платформы 8.3.7.

Спасибо.
 
 
   Cyberhawk
 
1 - 05.02.16 - 15:22
Попробуй добавлять не в отбор списка, а в пользовательский отбор компоновщика настроек этого списка
   Cyberhawk
 
2 - 05.02.16 - 15:24
Обработчик события "АвтоПодбор" у поля есть?
   strange2007
 
3 - 05.02.16 - 15:25
Пока нашёл решение. В общем после изменения отбора, я закидываю текст обратно в реквизит. Но тогда курсор в текстовом поле становится в начало строки. Что ещё можно попробовать? Но отбор нужен сильно и сделать надо что-то.
   strange2007
 
4 - 05.02.16 - 15:25
(2) Да, есть. Но я ещё не понял зачем он нужен(((
   Cyberhawk
 
5 - 05.02.16 - 15:26
Ну стандартную обработку в ложь тогда выставляй, а то у тебя АвтоПодбор зовется следом
Либо свой код перенеси в обработчик события АвтоПодбор
   strange2007
 
6 - 05.02.16 - 15:27
(5) Выставлял и в Ложь и в Истина. Исчезает текст и всё тут. Если успеваю 2 символа ввести, то хорошо
   strange2007
 
7 - 05.02.16 - 15:27
(1) А это как? Как к нему добраться?
   strange2007
 
8 - 05.02.16 - 15:28
Нет, я всё понимаю, но как это связано с отбором списка? Почему именно отбор и именно список?
   strange2007
 
9 - 05.02.16 - 15:32
Уже в отбор просто текст подсовываю, даже не из текстового поля. Стирает и всё тут. Как такое возможно??????
   Fragster
 
10 - 05.02.16 - 15:34
ТекстРедактирования
   Fragster
 
11 - 05.02.16 - 15:35
отставить. Надо не делать серверный вызов в этом событии. Например сделать установку отбора через обработчик ожидания.
   strange2007
 
12 - 05.02.16 - 15:36
(11) Я через Оповещение попробовал. Всё тоже самое
   Fragster
 
13 - 05.02.16 - 15:37
кстати, в (10) тоже правда. нужно поставить свойство Обновление текста редактирования.
   Fragster
 
14 - 05.02.16 - 15:37
(12) оповещение <> обработка ожидания...
   Fragster
 
15 - 05.02.16 - 15:37
в (13) - у поля ввода
   Fragster
 
16 - 05.02.16 - 15:39
или присваивай своему реквизиту значение = Текст в обработчике события
   strange2007
 
17 - 05.02.16 - 15:40
(13) ЗАРАБОТАЛО!!!!!!!!!
Спасибо всем неравнодушным. Вот никогда бы не догадался до такой связи - "отбор в другом списке" и "отображение текста"
   Fragster
 
18 - 05.02.16 - 15:41
(17) не "отбор", а серверный вызов причина.
   strange2007
 
19 - 05.02.16 - 15:45
(18) т.е. как? на клиенте отбор сервер вызывает? А как это с текстом связано?
   Fragster
 
20 - 05.02.16 - 16:12
(19) при установке отбора вызывается сервер. на сервер уходят значения реквизитов. а пока ты из поля не вышел - значение реквизита не изменилось, т.е. на сервер уходит не то, что ты видишь. потом с сервера оно возвращается и записывается в поле, соответственно, стирая то, что ты туда навводил.

Подобный костыль можно увидеть в типовых и в БСП в Контактной информации, например - там, как раз, отправляется текст редактирования, потому что в реквизите значение еще не изменилось, а на сервер надо отправить то, что в поле ввода.
   strange2007
 
21 - 05.02.16 - 16:17
(20) "Не стыдно не уметь, стыдно не учиться" (с)
Спасибо, не знал этой тонкости.


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