Имя: Пароль:
1C
 
Поставить ограничение на длину поля ввода
0 ic-kat
 
13.07.09
07:07
Есть свойство поля ввода: длина, но она либо устанавливается жестко, либо вообще не ставится.
а нужно, чтобы в зависимости от выполнения некоторых условий накладывалось определенное ограничение на длину.
например, если условие выполняется, то максимальная длина поля ввода = 50, если не выполняется, то 30. Есть такая возможность?
нашла свойство max длина, но она действует, если типа поля число, а у меня строка.
1 Нуф-Нуф
 
13.07.09
07:12
сделай два поля на форме и показывай их в зависимости от условий
2 ic-kat
 
13.07.09
07:18
все не так просто, условие меняется в зависимости от того, что вводится в поле ввода.
3 skunk
 
13.07.09
07:21
(2)если ты научилась отслеживать ввод в поле ввода, что мешает при соблюдении условий просто не давать вводить 31 символ?
4 ic-kat
 
13.07.09
07:23
нет, пока не придумала, как отследить... есть какие-то идеи?
5 Нуф-Нуф
 
13.07.09
07:26
приведи пример в каком случае 50 а в каком 30, может и задачу по другому решить можно
6 skunk
 
13.07.09
07:26
(5)ты тоже можешь перехватывать ввод?
7 ic-kat
 
13.07.09
07:27
это для отправки смс-ок, если латиница, то 50 символов, если хот один знак кириллицы, то ограничение 30.
8 ic-kat
 
13.07.09
07:29
(6) не могу. событие при_изменении поля ввода срабатывает только при переходе на другой элемент ((
а почему тоже? ты знаешь, как это можно сделать?
9 skunk
 
13.07.09
07:38
(8)ставлю дайм, что никто тут не сможет
10 skunk
 
13.07.09
07:39
а кто смогет, не станет заморачиваться...
11 ic-kat
 
13.07.09
07:47
(9) а если каким-то внештатными способами?
12 Shurjk
 
13.07.09
07:51
Обработчик автоподбор текста пробовала?
13 Shurjk
 
13.07.09
07:56
(9) А что такое дайм?
14 ic-kat
 
13.07.09
07:57
(12) пробовала, но он срабатывает только при паузе в наборе. и если не набираешь а вставляешь скопированный кусок текста, тоне реагирует
15 Shurjk
 
13.07.09
07:59
А может проще при окончании редактирования проверять текст, и обрезать его по условию при это выдавая соответствующее сообщение...
16 Rie
 
13.07.09
08:00
(14) А почему бы не по ОкончаниеВводаТекста не проверять длину?
17 Kolyasik
 
13.07.09
08:03
(0) Лев(30) Лев(50) НЕ?
18 ic-kat
 
13.07.09
08:05
(15), (16) это самое простое с точки зрения разработки, но смотрится корявенько.
было бы красившее, если бы на этапе ввода проверялось количество и еще лучше чтоб после ввода каждого символа показывалось в отдельном окне количество введенных. но походу это нереально.
19 Rie
 
13.07.09
08:09
(18) А так:

ЭлементыФормы.ПолеВвода1.ОграничениеТипа = Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(30));
20 Shurjk
 
13.07.09
08:09
(18) Гораздо корявей будет смотреться какая ниббудь прикрученная ВК... которая будет чего то отлавливать тормозить загружаться и долго не выгружаться, которую надо откуда то подгружать ее обязательно у кого то из клиентов не окажется и у него встанет работа из-за появившейся ошибки... И все ради чего - ради красоты которая по большему счету не нужна...
21 ic-kat
 
13.07.09
08:12
(20) заказчикам этого не объяснить (
(19) щас посмотрю, к чему это приведет...
22 skunk
 
13.07.09
08:23
Дайм (англ. dime) — это монета достоинством в 10 центов, или одну десятую доллара США. Дайм является самой маленькой (как по толщине, так и по диаметру) из всех монет, выпускаемых в настоящий момент в США.
23 skunk
 
13.07.09
08:35
вообще самое кошерное в данном случае рисовать свой активикс и размещать его на форме... а рулить стандартным тедитом 1С слишком геморойно
24 ic-kat
 
13.07.09
08:45
(19) оно работает как ограничитель, но иногда введенную строку затирает, не могу понять почему...
25 Dryad
 
13.07.09
08:52
(23)по использованию AxtivX в 1С, есть что почитать?
26 ic-kat
 
13.07.09
09:01
была мысля, что AxtivX надо задействовать... не знаю, как подступиться...
(25)что почитать можно по этой тематике? что посоветуете?
27 Dryad
 
13.07.09
09:05
(26)Сама спрашиваю)
Про сам активХ я читала, мне интересно как его в 1с использовать...
28 Rie
 
13.07.09
09:09
(27) В 8.1 - просто положить на форму. А дальше использовать как "родной" элемент управления.

Или что именно интересует?
29 Dryad
 
13.07.09
09:10
(28)что значит "просто положить"?
30 Rie
 
13.07.09
09:14
(29) Меню "Форма" - "Вставить ActiveX".

Если вопрос в том, как создать свой ActiveX - то это уже не вопрос по 1С.
На 1С создать ActiveX не получится. А в другой среде программирования - встречный вопрос: а что именно используешь?
31 ic-kat
 
13.07.09
09:15
(28) как положить понятно, а какой из них подойдет?
32 ic-kat
 
13.07.09
09:16
(30) а если в VB?
33 Rie
 
13.07.09
09:18
(31) Из распространённых - вряд ли какой подойдёт.
skunk в (23) правильно посоветовал свой рисовать.
34 skunk
 
13.07.09
09:19
(32)пиши на виби
35 ic-kat
 
14.07.09
14:50
и ничего писать не пришлось, есть в 1С подходящий ActiveX который и добавление
символа отсекает и меняет по условиям максимальное значение длины строки.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn