|
Какую маску задать, чтоб пробелы не вводить? Или есть другой способ? | ☑ | ||
---|---|---|---|---|
0
Антиквар
08.02.12
✎
12:22
|
Всем привет!
Пользователи копируют из одной программы коды и вставляют их в 1С в поле ввода. Но нужно, чтобы при этом пробелы из вставляемой строки удалялись. ПриИзменении() не подходит, т.к. в этом случае пробелы удалятся только после ввода, а поскольку само поле ввода ограниченной фиксированной длины, то из-за пробелов вводимая строка обрезается. Выход вижу в наложении маски. Если маску указать "9999", то при копировании например строки "123 45" пробел благополучно удаляется ещё до ввода в поле ввода и мы получаем "12345". Но в строке могут быть и буквы. И вот аткой маски не нашел. По описанию подходит маска "N", но почему то она позволяет ввести пробелы. |
|||
1
kosts
08.02.12
✎
12:25
|
(0) Есть событие "окончание ввода текста", оно подойдет
|
|||
2
Антиквар
08.02.12
✎
12:31
|
(1) Могу конечно попробовать, но оно "Вызывается после ввода текста при сходе с элемента управления"
А при вводе последние символы уже обрежутся. Например поле ввода фиксированной длины 5 символов. Мы копируем в него строку "123 45", в итоге на выходе получаем "123 4", и там уже бестолку пробелы убирать |
|||
3
del123
08.02.12
✎
12:36
|
Как вариант сохранять в поле с бОльшей длинной и при изменении записывать куда надо после удаления лишних пробелов
|
|||
4
FIXXXL
08.02.12
✎
12:38
|
Поле кода сделай недоступным, поле ввода - просто на форме, при изменении поля ввода пиши-формать в код как угодно
|
|||
5
kosts
08.02.12
✎
12:41
|
(2) Вариант - своя кнопка вставить, берешь из буфера и как нужно так и вставляешь...
|
|||
6
kosts
08.02.12
✎
12:43
|
+ к (5) Если вставляешь в табличную часть, то вообще замечательно можно вставить из Excel сразу много строк...
|
|||
7
Stim
08.02.12
✎
12:45
|
все просто - при вводе нового элемента вместо поля код - поле ввода. тип строка, длина 100. после изменения - обработка и перенос в реквизит КОД.
Но лучше все же автоматизировать процесс и выгружать из сторонней программы в автоматическом режиме. |
|||
8
Антиквар
08.02.12
✎
13:03
|
(3) так наверное и придется делать. Потому как расширить поле ввода не могу, поскольку поле ввода - это реквизит регистра, который в нужном отборе прямо на форме для редактирования.
(4) как я написал уже выше, редактируется сам регистр, т.е. в таб.поле придется добавить колонку дял ввода. (7) из сторонней программы будет выгружаться, но когда ещё... там нет выгрузок, свой формат данных, вобщем другая история :) |
|||
9
Антиквар
08.02.12
✎
13:04
|
ну т.е. маски подходящей нет, так что ли ? :)
чтобы не только цифры, но и буквы можно было писать, но кроме пробелов |
|||
10
kosts
08.02.12
✎
13:19
|
Сделай кнопку "вставить из буфера" рядом с реквизитом.
и все... |
|||
11
Антиквар
08.02.12
✎
13:32
|
(10) не понял, слишком умно :) Этот код для вставки из HTML-документа?
а если копирование будет из ворда, или в моем случае чаще всего из сторонней программы, то какой код писать... Для каждой программы, из которой копируем, свой код получается? |
|||
12
kosts
08.02.12
✎
13:40
|
(11) Это типичная для 1С вставка из буфера обмена.
|
|||
13
Антиквар
08.02.12
✎
17:28
|
(12) никогда не делал такое.
Дак программный код зависит от того, откуда копируешь, или не важно, главное чтоб в буфере обмена что-то было? Просто по Вашему коду вроде как привязка к источнику идет, откуда копируется. |
|||
14
kosts
08.02.12
✎
18:47
|
(13) Это вставка из буфера обмена, того который в виндовс, тот в который попадает текст, если его скопировать в ворде или блокноте. Если в коде что-то не понятно, не думай, используй как есть, это рабочий код. Просто у 1С нет своего метода вставки из буфера, по этому такие хм извращения, через поле HTML...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |