![]() |
![]() |
![]() |
|
К вопросу о быстром исчезновении текста после ввода в поле | ☑ | ||
---|---|---|---|---|
0
Гена
гуру
07.06.25
✎
13:18
|
Ветка навеяна сообщением на партнёрском форуме:
"Тут с новым релизом БП 3.0 (3.0.176.38) прилетела фича - наименование банковского счета формируется автоматически и его нельзя изменить вручную. Что самое интересное, у этого поля на форме есть обработчик ПриИзменении. Но он даже не успевает отработать, наименование изменяется на автонаименование в процессе набора. Т.е. начинаю вводить буквы и буквально через секунду-другую все заменяется автонаименованием. Отладчик не перехватывает ничего, где-бы это менялось." И вспомнилась наша архивная ветка о подобной же проблеме в справочнике Контрагентов: Исчезает текст после ввода. Там же в конце упоминается, что такой же баг был в прошлом для платёжных поручений. Из анализа предложенного свежего патча EF_60023407 https://bugboard.v8.1c.ru/error/000176580 вырисовывается интересная картина: фирма 1С давно втихаря пользуется одной и той же конструкцией для обхода данной несомненно платформенной ошибки: Процедура ПредотвратитьСбросРедактируемогоЗначения(Форма) Экспорт
// Обход особенности платформы, когда затирается редактируемое значение // в текущем элементе при изменении формы. //@skip-warning Если НЕ ОбщегоНазначенияКлиентСервер.ЭтоВебКлиент() Тогда Если ТипЗнч(Форма.ТекущийЭлемент) = Тип("ПолеФормы") И Форма.ТекущийЭлемент.Вид = ВидПоляФормы.ПолеВвода Тогда Форма.ТекущийЭлемент.ОбновлениеТекстаРедактирования = ОбновлениеТекстаРедактирования.ПриИзмененииЗначения; КонецЕсли; КонецЕсли; КонецПроцедуры Она как раз прописана и доке ПлатежноеПоручение, и в справочнике Контрагенты и теперь вот предлагается для справочника БанковскиеСчета. Я к чему? Если у кого-нибудь после обновления платформы будет исчезать текст после ввода текста в какое-нибудь поле, то достаточно только будет в модуле формы задействовать данную процедуру. |
|||
1
Злопчинский
07.06.25
✎
14:16
|
Гена - Всехний Побеждатель!
|
|||
2
Злопчинский
08.06.25
✎
14:35
|
Это не оно?
|
|||
3
Гена
гуру
08.06.25
✎
15:26
|
(2) Да
|
|||
4
SleepyHead
гуру
09.06.25
✎
11:03
|
(3) Благодарю.
|
|||
5
Гена
гуру
09.06.25
✎
11:18
|
(4) Не стоит. Для общего загашника на будущее или конкретно помогло? Если в контрагентах, то у меня будет вопрос )
Разработчики записали в коде формы элемента справочника Контрагенты эту процедуру, но нигде она не используется. Такое впечатление, что они сами не знают в каком поле ввода принудительно задавать свойство Автообновления на "При изменении значения" ) |
|||
6
Волшебник
09.06.25
✎
11:42
|
(0) Программисты с лёгкостью решают проблемы, которые сами себе и создают.
|
|||
7
Eiffil123
09.06.25
✎
12:10
|
хз связано или нет - если в БП открыть оборотку по счету и быстро вводить счет, то он через несколько секунд очищается.
Правда там я связал это с появлением плашки "Подключите 1С:Финансовую отчетность 2.0" (которая нам не нужна, но тем не менее появляется назойливо) |
|||
8
Гена
гуру
09.06.25
✎
12:13
|
(7) Оно. Только теперь неплохо бы озвучивать платформу )
|
|||
9
Доминошник
09.06.25
✎
12:38
|
(7) Довольно давний глюк... Бесит страшно!
(8) Точно есть на 8.3.25.1394, кажется, что было и 8.3.24 |
|||
10
Гена
гуру
09.06.25
✎
12:54
|
(9) дык... давайте проверим.
ОборотноСальдоваяВедомостьПоСчету - Формы - ФормаОтчета - Модуль Занесите нашу процедуру. Осталось только найти где её впендюрить первой же строкой как ПредотвратитьСбросРедактируемогоЗначения(); Начните с Процедура СчетПриИзменении(Элемент) а там видно будет... Ещё один кандидат: Процедура УстановитьБаннер(ПоказатьПредыдущий = Ложь) Там как раз длительные операции задействованы. |
|||
11
maxab72
09.06.25
✎
12:49
|
(9) на 8.3.24 не наблюдаю, того, что указал (7). При наборе номера счета в БП все сохраняется, даже если номер счета не до конца набран.
|
|||
12
SleepyHead
гуру
09.06.25
✎
14:24
|
(5) Для общего загашника. Все равно очень полезно.
|
|||
13
Джордж1
09.06.25
✎
15:31
|
А проверьте еще один глючок...
Открываем, например БП, например Платежные поручения. В строке отбора контрагента наберите что-нибудь - главное чтобы в выпадающем списке было не меньше 10 позиций. И начинайте клавишей ВНИЗ выбирать нужный элемент У меня на 11 позиции пропадает фокус выбора строки и выбор не происходит |
|||
14
maxab72
09.06.25
✎
15:30
|
(13) у меня выводится 10 позиций, курсор доходит до 10-ой и останавливается. Дальше вниз не идет.
|
|||
15
Джордж1
09.06.25
✎
15:32
|
(14)А еще раз ВНИЗ нажмите?
|
|||
16
maxab72
09.06.25
✎
15:35
|
(15) нажал ВНИЗ 20 раз подряд (специально считал с закрытыми глазами для чистоты эксперимента, чтоб наблюдение не повлияло на результат по неопределенности Гейзенберга). Курсор стоит на последнем, 10-ом контрагенте и никуда не идет.
|
|||
17
Джордж1
09.06.25
✎
16:29
|
(16) ну вроде раньше так и было. а сейчас проверил - на 11 элементе курсор и фокус пропадает, но при дальнейшем нажатии ВНИЗ курсор снова появляется
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |