Фильтр телефонов: различия между версиями

Материал из TaxiMaster
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показано 17 промежуточных версий 4 участников)
Строка 1: Строка 1:
'''Фильтр сотовых телефонов''' — выражение, определяющее набор номеров сотовых телефонов.
'''Фильтр телефонов''' — выражение, определяющее набор номеров сотовых телефонов.
Фильтры задаются в окне «[[Фильтры сотовых телефонов]]».
Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.
Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.


== Окно «Фильтры сотовых телефонов» ==
== Окно «Фильтры телефонов» ==
Окно выглядит так:


{{картинка/по центру|Filters-for-phones.png|Окно «Фильтры сотовых телефонов»}}
{{картинка|Окно Фильтры телефонов в ТМ2.png}}


'''Фильтры сотовых телефонов''' — [[Окна Такси-Мастер|окно]], в котором содержатся [[Фильтр сотовых телефонов|фильтры сотовых телефонов]].
В окне "Фильтры телефонов", как и в [[Окна {{ТМ}}|других]], есть панель инструментов и таблица.
Окно открывается из [[Параметры Такси-Мастер|параметров Такси-Мастер]] {{button|Сервис}} → {{button|Параметры}} → {{branch|Средства связи}} → {{button|Фильтры}}.
В таблице отображается список фильтров телефонов.
 
Открывается окно «Фильтры телефонов» через главное меню:
 
{{картинка|Пункт Фильтры телефонов в главном меню.png}}


== Новый фильтр ==
== Новый фильтр ==
[[Изображение:New-filter-for-phones.png|thumb|Создание нового фильтра]]
[[Изображение:Фильтр телефона для SMPP.png|thumb|Создание нового фильтра]]
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку {{button|Добавить запись}}, либо клавишу {{key|Insert}}.
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку {{button|Добавить запись}}, либо клавишу {{key|Insert}}.
В открывшемся окне заполните все необходимые поля:
В открывшемся окне заполните все необходимые поля:


# В поле {{button|Наименование}} укажите характеризующее фильтр наименование.
# В поле {{button|Наименование}} укажите характеризующее фильтр наименование.
# В поле {{button|Приоритет}} укажите приоритет действия фильтра (чем меньше число, тем ниже приоритет).
# В поле {{button|Приоритет}} укажите приоритет действия фильтра (чем меньше число, тем выше приоритет).
# В поле {{button|ИД устройства}} укажите номер устройства (только для [[Модуль СМС|модуля СМС]], см. ниже).
# В поле {{button|ИД устройства}} укажите номер устройства (только для [[Модуль СМС|модуля СМС]], см. ниже).
# В поле {{button|Выражение}} укажите непосредственно выражение фильтра.
# В поле {{button|Выражение}} укажите непосредственно выражение фильтра.
Строка 34: Строка 36:
Будьте внимательны!
Будьте внимательны!
}}
}}
== Какое выражение выбрать? ==
Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных.
При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением.
Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка ''не происходит''.
Рассмотрим пример.
Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры {{code|8}}, то выражение также должно начинаться на {{code|8}}.
Если в международном формате, то есть {{code|+7}}, — то выражение должно начинаться с {{code|+7}}.
Для первого случая подходит фильтр {{code|89\d{9}$}}, для второго — {{code|\+79\d{9}$}}.
Обратите внимание на то, что во втором случае символу {{code|+}} предшествует {{коммент|обратная косая черта|Backslash}} — это диктуется синтаксисом регулярных выражений.
Помните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством [[Модули {{ТМ}}|модуля связи]], то на такой номер действуют [[правила преобразования номеров]].
С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных.
Рекомендуется хранить номера в федеральном формате.
Еще один момент — когда вы отправляете СМС через [[SMPP]]-сервер.
В этом случае [[#Пример выражения для SMPP|выражение имеет дополнительные параметры]].


=== Примеры выражений ===
=== Примеры выражений ===
Строка 41: Строка 61:
# {{code|8909\d{7}$}} — этому выражению соответствуют все номера, которые начинаются на {{code|8909}} (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.
# {{code|8909\d{7}$}} — этому выражению соответствуют все номера, которые начинаются на {{code|8909}} (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.


В связи с синтаксисом регулярных выражений знак {{code|+}}, с которого могут начинаться сотовые телефоны (например, {{code|+7909...}}), не может быть указан в таком виде, поскольку является спецсимволом.
По правилам синтаксиса регулярных выражений знак {{code|+}}, с которого могут начинаться сотовые телефоны (например, {{code|+7909...}}), не может быть указан в таком виде, поскольку является спецсимволом.
Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом:
Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом:
{{code|\+79\d{9}}}.
{{code|\+79\d{9}}}.


==== Пример выражения для [[SMPP]] ====
==== Пример выражения для [[SMPP]] ====
[[Изображение:Фильтр телефона для SMPP.png|thumb|Фильтр для SMPP в [[Такси-Мастер 1]] (ИД устройства — {{code|0}}, так как в [[Конфигуратор СМС-сервера|конфигураторе]] это устройство находится на вкладке {{tab|Устройство #1}})]]
[[Изображение:Фильтр телефона для SMPP.png|thumb|Фильтр для SMPP в Такси-Мастер (ИД устройства — {{code|0}}, так как в [[Конфигуратор СМС-сервера|конфигураторе]] это устройство находится на вкладке {{tab|Устройство #1}})]]
Провайдер СМС, с которым [[СМС-сервер]] работает по протоколу [[SMPP]], может накладывать ограничение на номера телефонов получателей СМС.
Провайдер СМС, с которым [[СМС-сервер]] работает по протоколу [[SMPP]], может накладывать ограничение на номера телефонов получателей СМС.
Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с {{code|7}} {{серым|(а не с {{code|8}}, как это принято)}}.
Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с {{code|7}} {{серым|(а не с {{code|8}}, как это принято)}}.
Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом:
Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом:


* {{field|Выражение}} — {{code|89\d{9}$}} (все номера, начинающиеся с 8, например, 89120123456).
* {{field|Выражение}} — {{code|89\d{9}$}} (все номера, начинающиеся с 89, например, 89120123456).
* В поле {{field|Параметры}} укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс {{code|7}}.
* В поле {{field|Параметры}} укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс {{code|7}}.


Строка 67: Строка 87:
Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.
Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.


==== Параметры фильтра для mail-гейта ====
{{Окна ТМ}}
Для mail-гейта существует несколько параметров:
 
# Параметр {{code|EMail}} содержит адрес получателя или его конечный фрагмент, например, {{code|sms.beemail.ru}} или {{code|gonzalo-fast@mail.ru}}. Это зависит от параметра {{code|EMailRecipient}}.
# Параметр {{code|EMailRecipient}} определяет, будет ли складываться адрес получателя из номера телефона и значения параметра {{code|EMail}}, или же адрес получателя будет целиком взят из параметра {{code|EMail}}.
#* Если параметр установлен в {{code|0}}, то номер телефона будет подставляться к значению {{code|EMail}} следующим способом: {{code|НОМЕР@EMail}}, где {{code|НОМЕР}} - номер телефона получателя (например, {{code|79097159561}}), а {{code|EMail}} - значение параметра {{code|EMail}} (например, {{code|sms.beemail.ru}}).
#* Если же параметр установлен в {{code|1}}, то сообщения отправляются на адрес, указанный параметром {{code|EMail}}, например, {{code|gonzalo-fast@mail.ru}}.
# Параметр {{code|Prefix}} определяет префикс номера телефона, на который отправляется сообщение.
#* Например, если Вы храните номера телефонов без указания кода оператора (например, {{code|79159561}} вместо {{code|89097159561}}), или mail-гейт накладывает какие-то требования к адресу получателя. Например, если Вы указали префикс {{code|7909}}, то ко всем номерам телефонов слева будут подставляться цифры {{code|7909}}.
# Параметр {{code|Sign}} указывает, сколько знаков с конца номера телефона нужно взять для того, чтобы собрать номер получателя. Этот параметр удобно использовать вместе с параметром {{code|Prefix}} для замены первых цифр телефонов.
#* Например, если значение параметра {{code|Prefix}} — {{code|7}}, а значение параметра {{code|Sign}} — {{code|10}}, то от номера {{code|89097159561}} будут отделены последние 10 цифр ({{code|9097159561}}), а затем к нему будет приставлен префикс {{code|7}}, и результат будет {{code|79097159561}}.
 
Рассмотрим пример использования.
Допустим, в справочниках постоянных клиентов, водителей и других хранятся номера в федеральном формате — они начинаются с {{code|8}}, затем содержат код оператора и номер абонента (например, {{code|89097159561}}).
Все водители подключены к оператору Билайн, который предоставляет возможность отправлять SMS-сообщения через mail-гейт в формате {{code|7ТЕЛЕФОН@sms.beemail.ru}}, где {{code|ТЕЛЕФОН}} — десять последних цифр номера телефона, то есть федеральный номер без {{code|8}}.
Настроим фильтр так, чтобы можно было отправлять сообщения через mail-гейт Билайн.
Для этого в поле {{field|Параметры}} введем следующее:
 
<pre>
EMail=sms.beemail.ru
EMailRecipient=0
Prefix=7906
Sign=7
</pre>


== Ссылки ==
== Ссылки ==
* {{code/url|http://ru.wikipedia.org/wiki/Регулярные_выражения}} — о регулярных выражениях на Википедии.
* {{code/url|http://ru.wikipedia.org/wiki/Регулярные_выражения}} — о регулярных выражениях на Википедии.
* {{code/url|http://taxidev.blogspot.com/2009/12/smpp.html}} — коротко о быстрой настройке отправки СМС через SMPP.


[[Категория:Клиентская часть]]
[[Категория:Клиентская часть]]
[[Категория:Модуль «Средства связи»]]
[[Категория:Модуль СМС]]
[[Категория:Модуль СМС]]
[[Категория:SMPP]]
[[Категория:SMPP]]

Текущая версия от 14:42, 24 декабря 2021

Фильтр телефонов — выражение, определяющее набор номеров сотовых телефонов. Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.

Окно «Фильтры телефонов»

Картинка
Окно Фильтры телефонов в ТМ2.png

В окне "Фильтры телефонов", как и в других, есть панель инструментов и таблица. В таблице отображается список фильтров телефонов.

Открывается окно «Фильтры телефонов» через главное меню:

Картинка
Пункт Фильтры телефонов в главном меню.png

Новый фильтр

Создание нового фильтра

Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку «Добавить запись», либо клавишу Insert. В открывшемся окне заполните все необходимые поля:

  1. В поле «Наименование» укажите характеризующее фильтр наименование.
  2. В поле «Приоритет» укажите приоритет действия фильтра (чем меньше число, тем выше приоритет).
  3. В поле «ИД устройства» укажите номер устройства (только для модуля СМС, см. ниже).
  4. В поле «Выражение» укажите непосредственно выражение фильтра.
  5. В поле «Параметры» укажите параметры работы фильтра (см. ниже).
  6. В поле «Описание» введите краткое описание фильтра.
  7. Нажмите «OK».

Создайте столько фильтров, сколько вам нужно. Перезапустите Такси-Мастер, чтобы измененные параметры вступили в силу.

Предупреждение!

В поле «ИД устройства» необходимо указывать порядковый номер устройства, начиная с нулевого. В то же время, в конфигураторе отчет идет с первого, а не с нулевого. Это значит, что, например, на вкладке «Устройство #4» в конфигураторе находится устройство, ИД которого — 3 (всегда на 1 меньше).

Будьте внимательны!

Какое выражение выбрать?

Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных. При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением. Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка не происходит.

Рассмотрим пример. Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры «8», то выражение также должно начинаться на «8». Если в международном формате, то есть «+7», — то выражение должно начинаться с «+7». Для первого случая подходит фильтр «89\d{9}$», для второго — «\+79\d{9}$». Обратите внимание на то, что во втором случае символу «+» предшествует обратная косая черта? — это диктуется синтаксисом регулярных выражений.

Помните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством модуля связи, то на такой номер действуют правила преобразования номеров. С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных. Рекомендуется хранить номера в федеральном формате.

Еще один момент — когда вы отправляете СМС через SMPP-сервер. В этом случае выражение имеет дополнительные параметры.

Примеры выражений

Чаще всего используются лишь несколько выражений:

  1. «89\d{9}$» — выражение, которому соответствуют все номера, начинающиеся на «89» и содержащие 11 цифр («89» и еще девять цифр), то есть все сотовые.
  2. «8909\d{7}$» — этому выражению соответствуют все номера, которые начинаются на «8909» (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.

По правилам синтаксиса регулярных выражений знак «+», с которого могут начинаться сотовые телефоны (например, «+7909...»), не может быть указан в таком виде, поскольку является спецсимволом. Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом: «\+79\d{9»}.

Пример выражения для SMPP

Фильтр для SMPP в Такси-Мастер (ИД устройства — «0», так как в конфигураторе это устройство находится на вкладке «Устройство #1»)

Провайдер СМС, с которым СМС-сервер работает по протоколу SMPP, может накладывать ограничение на номера телефонов получателей СМС. Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с «7» (а не с «8», как это принято). Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом:

  • «Выражение» — «89\d{9}$» (все номера, начинающиеся с 89, например, 89120123456).
  • В поле «Параметры» укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс «7».

В поле «Параметры» нужно указать следующее:

Prefix=7
Sign=10

После этого всем номерам, которые начинаются с «8» и содержат 11 знаков, вместо «8» будет подставляться «7».

Параметры

В карточке фильтра присутствует поле «Параметры». Это поле доступно только тогда, когда к Такси-Мастер подключен модуль СМС. Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.

Окна Такси-Мастер
Основные Заказы
Экипажи Клиенты
Водители Отчеты
Телефония СМС

Ссылки