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

Материал из TaxiMaster
Перейти к: навигация, поиск
(Окно {{window|Фильтры сотовых телефонов|{{PAGENAME}}}})
 
(не показано 18 промежуточных версий 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...}}), не может быть указан в таком виде, поскольку является спецсимволом.
Его нужно «закрывать» обратной косой чертой (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».

Параметры

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

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

Ссылки