Имя: Пароль:
1C
1С v8
ПолеВвода и буфер обмена.
,
0 Serpom
 
12.05.22
06:34
На управляемой форме есть поле ввода (строка) длиной 10 символов. Можно ли как-то реализовать, чтобы при вставке из буфера обмена обрезались пробелы и уже в поле ввода вставлялась строка без пробелов?
1 SleepyHead
 
гуру
12.05.22
07:27
(0) А что мешает сделать это в ПриИзменении?
2 Serpom
 
12.05.22
07:49
(1) то что это событие возникает после изменения значения поля ввода, то есть при переходе на другой элемент управления. А мне надо убрать пробелы до вставки. ИзменениеТекстаРедактирования тоже не помогает, т.к. оно отрабатывает уже тоже после вставки из буфера.
3 SleepyHead
 
гуру
12.05.22
07:54
(2) https://helpf.pro/faq/view/705.html

вот тут примеры работы с буфером обмена из 1с.
4 SleepyHead
 
гуру
12.05.22
07:55
Костыльно, конечно, но можно попробовать при активизации поля поработать с буфером обмена - прочитать его содержимое, удалить пробелы, установить новое значение обратно в буфер.
5 Serpom
 
12.05.22
08:14
(4) Это я уже давно нашел. Я думал средствами 1С. Видимо действительно прийдется делать костыль :(
6 lEvGl
 
гуру
12.05.22
08:47
средствами 1с это обрабатывать строку по какому то событию, просто скопировать это не событие, ничего же не происходит, а когда начинает происходить, то и обрабатывать. в момент вставки - какая разница, что туда вставляют?
7 lEvGl
 
гуру
12.05.22
08:48
что бы выглядело красиво или что
8 Serpom
 
12.05.22
08:59
(6) разница в том, что могу вставить строку с пробелами. Надо чтобы было так - 1234567890, а при вставке из буфера с пробелом будет так - 123 456789.
9 lEvGl
 
гуру
12.05.22
09:09
(8) ну и пусть вставляют, дальше что происходит?
10 Serpom
 
12.05.22
09:16
(9) Происходит то, что когда ищем по этой строке нужную нам информацию, то мы ничего не найдем. Ибо 1234567890 и 123 456789 это две большие разницы.
11 Йохохо
 
12.05.22
09:19
к реквизиту что ли привязано? отвязать поле ввода от реквизита и приокончанииредактирования присваивать, а если нет ну сделайте 20 и форматируйте
12 НЕА123
 
12.05.22
09:19
(10)
попробовать маску.

можно  нормализованный вид (без пробелов) хранить в отдельном поле. как телефонный номер, например.
13 lEvGl
 
гуру
12.05.22
09:26
(10) ну, и что мешает перед поиском привести к нужному виду?
я к тому что преобразование не обязательно делать до вставки, можно после, при возникновении каких то событий. а то полезли в буфер, бинды какие то, хтмл окна.. логику программы изначально надо строить правильно, а не точечным методом потом лечить симптомы, что ведет к возникновению новых
14 RomaH
 
naïve
12.05.22
12:01
(0) добавить реквизит формы длиной 20
его на форму - и при изменении убирать пробелы и обрезать до 10 символов
а при записи уже писать в реквизит объекта