Имя: Пароль:
1C
1С v8
Динамическая маска ввода телефона
0 triviumfan
 
26.12.17
09:48
Доброго дня, форумчане.

Подскажите/подтолкните, пожалуйста, как в 1с (а конкретнее - в обработке "РедактированиеКонтактнойИнформации") реализовать изменяемую маску?
Наткнулся на реализацию на JS (http://andr-04.github.io/inputmask-multi/ru.html).
Вижу, что там при изменении поля меняется маска. Имеется список кодов регионов (phones-ru.json). Каждый раз при изменении поля регуляркой ищется число вхождений и берётся соответствующая маска (mask). Но детально разобраться я не смог в виду начальных знаний js, соответственно и портировать не могу.

В 1с вообще такое возможно? Я смотрю у поля ввода вообще нет подходящего события кроме "АвтоПодборТекста", но этот обработчик ведь срабатывает с задержкой/ожиданием/запозданием, т.е. если быстро номер вводить, то динамически маску не поменять, кроме как после окончания ввода.
Вообще, хотелось бы "запилить" такую маску, а при окончании ввода разнести по необходимым полям (поле1-поле5) РС "КонтактнаяИнформация" для "корректного" хранения в БД (привет, противники нормализации ^^,).

Направьте на путь истинный, мистяне. :)
1 DrShad
 
26.12.17
10:01
запили тоже самое в поле документа HTML и результат пихай куда хочешь
2 triviumfan
 
26.12.17
10:52
(1) Там нет никаких ограничений? У меня обычные формы. И, боюсь, что я не смогу подключить этот плагин, кстати, он в добавок jquery использует. У вас, случаем, нет примеров?
3 George Wheels
 
26.12.17
11:14
В событии формы ОбработкаАктивизацииОбъектов подключи обработчик ожидания для отслеживания изменений в поле ввода.
4 DrShad
 
26.12.17
11:28
(2) ты же сам пример в ссылке указал
5 triviumfan
 
26.12.17
14:33
(3) "Обработчик ожидания с нулевой задержкой может устанавливаться только для однократного выполнения", - этим всё сказано)
(4) Я про реализацию в 1с, мне попробовать такую же страницу сверстать и "запихать" в полеhmtlдокумента? Разве нет никаких ограничений? Я просто никогда этого не делал, может есть любой пример (именно со встроенным скриптом)?
6 triviumfan
 
26.12.17
14:35
(3) Пока Истина Цикл ПодключитьОбработчикОжидания(ИмяОбработчика, 0.1, Истина) не предлагать:)
7 George Wheels
 
26.12.17
15:09
(6) Зачем цикл?
Определился, что активно поле ввода номера телефона - подключил обработчик. Закончил редактирование номера (вышел из этого поля) - отключил обработчик.
8 triviumfan
 
26.12.17
15:48
(7) как я определю, что пользователь вводит номер телефона в поле? подключить обработчик ожидания можно только однократно, либо ожидание > 1 секунды.
Кстати, ОбработкаАктивизацииОбъектов(<АктивныйОбъект>, <Источник>) это вообще не та степь.
"Описание:

Возникает в подчиненной форме, если в форме-владельце изменился активный объект или в форме-владельце был вызван метод ОповеститьОбАктивизацииОбъекта."