|
Как проверить на соответствие маске не через запрос, встроенными средствами? |
☑ |
0
Гений 1С
гуру
02.12.22
✎
15:57
|
А то пришлось по-быстрому так написать:
&НаСервере
Функция ПроверитьНаМаску(С, Маска)
З = Новый Запрос(
"ВЫБРАТЬ 1 ГДЕ
| ВЫБОР
| КОГДА &С ПОДОБНО &Маска
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ ");
З.УстановитьПараметр("С", С);
З.УстановитьПараметр("Маска", Маска);
Выборка = З.Выполнить().Выбрать();
Возврат Выборка.Следующий()
КонецФункции
&НаСервере
Процедура дор_ПриЗаписиНаСервереПеред(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//Тут важно брать не из объекта формы, а из объекта базы
Для Каждого Строка ИЗ ТекущийОбъект.КонтактнаяИнформация Цикл
Если Строка.Тип = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон") Тогда
Если Не ПроверитьНаМаску(Строка.Представление, "+7([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]") Тогда
Сообщить("Телефон: " + Строка.Представление + " не соответствует формату +7(999)999-99-99, исправьте перед записью !");
Отказ = истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
|
|
1
vicof
02.12.22
✎
16:07
|
Можно маску задать в поле и не писать код.
|
|
2
Волшебник
модератор
02.12.22
✎
16:08
|
Лучше маску не задавать вообще, а то бывают всякие "добавочные"
|
|
3
Гений 1С
гуру
02.12.22
✎
16:10
|
(1) спасибо, КЭП. Я в курсе. Но маска не работает в УТ 11.4
|
|
4
программистище
02.12.22
✎
16:10
|
Сейчас популярны нейросети, стоит посмотреть в эту сторону, а то как то простенько код смотрится в 22 году
|
|
5
vicof
02.12.22
✎
16:11
|
Ждем, когда в платформу добавят регулярки.
|
|
6
Гений 1С
гуру
02.12.22
✎
16:12
|
(5) DLL-ки может еще? ггг
|
|
7
vicof
02.12.22
✎
16:13
|
(3) Расширение поля формы для поля ввода (Form field extension for a text box)
Маска (Mask)
......
Использование в версии:
Доступен, начиная с версии 8.2.
Что-то я тут ни слова про УТ не вижу.
|
|
8
программистище
02.12.22
✎
16:14
|
(7) Гению видней, не понимаешь
|
|
9
Волшебник
модератор
02.12.22
✎
16:16
|
А ведь ещё бывают иностранные номера, без +7. Маски — прошлый век. Сейчас надо принимать как есть и распознавать нейросетями. Правильно говорит (4)
|
|
10
KJlag
02.12.22
✎
16:17
|
(9) Получается ждем нейросеть от Гения?
|
|
11
vicof
02.12.22
✎
16:19
|
Пора вообще от телефонов отказываться, прошлый век.
|
|
12
Гений 1С
гуру
02.12.22
✎
16:29
|
(11) предлагаешь телепатию?
|
|
13
kittystark
02.12.22
✎
21:20
|
надо Илона ибн Как Тебе Такое, призвать
см. регулярки
|
|
14
kittystark
02.12.22
✎
21:30
|
(\+7)?\(?\d{3}\)?\d{3}\-?\d{2}\-?\d{2}
|
|
15
NorthWind
03.12.22
✎
10:29
|
(0) для этого лет 60 назад придумали регэкспы
|
|
16
TormozIT
гуру
03.12.22
✎
11:29
|
Ну если прям очень надо без внешних компонент, то через схему XML можно https://infostart.ru/1c/articles/464971/
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший