Фильтр телефонов — различия между версиями
(→Параметры) |
(→Примеры выражений) |
||
Строка 65: | Строка 65: | ||
# {{code|8909\d{7}$}} — этому выражению соответствуют все номера, которые начинаются на {{code|8909}} (оператор МТС Приволжского района), за которыми следуют 7 любых цифр. | # {{code|8909\d{7}$}} — этому выражению соответствуют все номера, которые начинаются на {{code|8909}} (оператор МТС Приволжского района), за которыми следуют 7 любых цифр. | ||
− | + | По правилам синтаксиса регулярных выражений знак {{code|+}}, с которого могут начинаться сотовые телефоны (например, {{code|+7909...}}), не может быть указан в таком виде, поскольку является спецсимволом. | |
Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: | Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: | ||
{{code|\+79\d{9}}}. | {{code|\+79\d{9}}}. |
Версия 15:24, 26 ноября 2010
- Обратите внимание на следующую страницу документации: Окно «Фильтры телефонов» для устройств связи
Фильтр сотовых телефонов — выражение, определяющее набор номеров сотовых телефонов. Фильтры задаются в окне «Фильтры сотовых телефонов». Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.
Содержание
Окно «Фильтры сотовых телефонов»
В Такси-Мастер 2 окно «Фильтры телефонов» выглядит так:
В этом окне, как и в других, есть панель инструментов и таблица. В таблице отображается список фильтров телефонов.
Открывается окно «Фильтры телефонов» через главное меню:
Новый фильтр
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку Добавить запись , либо клавишу Insert. В открывшемся окне заполните все необходимые поля:
- В поле Наименование укажите характеризующее фильтр наименование.
- В поле Приоритет укажите приоритет действия фильтра (чем меньше число, тем ниже приоритет).
- В поле ИД устройства укажите номер устройства (только для модуля СМС, см. ниже).
- В поле Выражение укажите непосредственно выражение фильтра.
- В поле Параметры укажите параметры работы фильтра (см. ниже).
- В поле Описание введите краткое описание фильтра.
- Нажмите OK .
Создайте столько фильтров, сколько вам нужно. Перезапустите Такси-Мастер, чтобы измененные параметры вступили в силу.
В поле ИД устройства необходимо указывать порядковый номер устройства, начиная с нулевого. В то же время, в конфигураторе отчет идет с первого, а не с нулевого. Это значит, что, например, на вкладке Устройство #4 в конфигураторе находится устройство, ИД которого — 3 (всегда на 1 меньше).
Будьте внимательны!
Какое выражение выбрать?
Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных. При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением. Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка не происходит.
Рассмотрим пример. Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры обратная косая черта? — это диктуется синтаксисом регулярных выражений.
8 , то выражение также должно начинаться на 8 . Если в международном формате, то есть +7 , — то выражение должно начинаться с +7 . Для первого случая подходит фильтр 89\d{9}$ , для второго — \+79\d{9}$ . Обратите внимание на то, что во втором случае символу + предшествуетПомните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством модуля связи, то на такой номер действуют правила преобразования номеров. С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных. Рекомендуется хранить номера в федеральном формате.
Еще один момент — когда вы отправляете СМС через SMPP-сервер. В этом случае выражение имеет дополнительные параметры.
Примеры выражений
Чаще всего используются лишь несколько выражений:
- 89\d{9}$ — выражение, которому соответствуют все номера, начинающиеся на 89 и содержащие 11 цифр ( 89 и еще девять цифр), то есть все сотовые.
- 8909\d{7}$ — этому выражению соответствуют все номера, которые начинаются на 8909 (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.
По правилам синтаксиса регулярных выражений знак
+ , с которого могут начинаться сотовые телефоны (например, +7909... ), не может быть указан в таком виде, поскольку является спецсимволом. Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: \+79\d{9 }.Пример выражения для SMPP
Провайдер СМС, с которым СМС-сервер работает по протоколу SMPP, может накладывать ограничение на номера телефонов получателей СМС. Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с 7 (а не с . Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом: 8 , как это принято)
- Выражение — 89\d{9}$ (все номера, начинающиеся с 8, например, 89120123456).
- В поле Параметры укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс 7 .
В поле Параметры нужно указать следующее:
Prefix=7 Sign=10
После этого всем номерам, которые начинаются с
8 и содержат 11 знаков, вместо 8 будет подставляться 7 .Параметры
В карточке фильтра присутствует поле Параметры . Это поле доступно только тогда, когда к Такси-Мастер подключен модуль СМС. Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.
Ссылки
- http://ru.wikipedia.org/wiki/Регулярные_выражения — о регулярных выражениях на Википедии.
- http://taxidev.blogspot.com/2009/12/smpp.html — коротко о быстрой настройке отправки СМС через SMPP.