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