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

Материал из TaxiMaster
Перейти к: навигация, поиск
м
 
(не показаны 32 промежуточные версии 4 участников)
Строка 1: Строка 1:
'''Фильтр сотовых телефонов''' — выражение, определяющее набор номеров сотовых телефонов.
+
'''Фильтр телефонов''' — выражение, определяющее набор номеров сотовых телефонов.
Фильтры задаются в окне «[[Фильтры сотовых телефонов]]».
 
 
Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.
 
Синтаксис выражений, определяющих фильтры, совпадает с синтаксисом регулярных выражений.
 +
 +
== Окно «Фильтры телефонов» ==
 +
 +
{{картинка|Окно Фильтры телефонов в ТМ2.png}}
 +
 +
В окне "Фильтры телефонов", как и в [[Окна {{ТМ}}|других]], есть панель инструментов и таблица.
 +
В таблице отображается список фильтров телефонов.
 +
 +
Открывается окно «Фильтры телефонов» через главное меню:
 +
 +
{{картинка|Пункт Фильтры телефонов в главном меню.png}}
  
 
== Новый фильтр ==
 
== Новый фильтр ==
[[Изображение:New-filter-for-phones.png|thumb|Создание нового фильтра]].
+
[[Изображение:Фильтр телефона для SMPP.png|thumb|Создание нового фильтра]]
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку '''Добавить запись''', либо клавишу {{key|Insert}}.
+
Чтобы создать новый фильтр, откройте окно фильтров и нажмите кнопку {{button|Добавить запись}}, либо клавишу {{key|Insert}}.
 
В открывшемся окне заполните все необходимые поля:
 
В открывшемся окне заполните все необходимые поля:
  
# В поле '''Наименование''' укажите характеризующее фильтр наименование.
+
# В поле {{button|Наименование}} укажите характеризующее фильтр наименование.
# В поле '''Приоритет''' укажите приоритет действия фильтра (чем меньше число, тем ниже приоритет).
+
# В поле {{button|Приоритет}} укажите приоритет действия фильтра (чем меньше число, тем выше приоритет).
# В поле '''ИД устройства''' укажите номер устройства (только для [[Модуль СМС|модуля СМС]]).
+
# В поле {{button|ИД устройства}} укажите номер устройства (только для [[Модуль СМС|модуля СМС]], см. ниже).
# В поле '''Выражение''' укажите непосредственно выражение фильтра.
+
# В поле {{button|Выражение}} укажите непосредственно выражение фильтра.
# В поле '''Параметры''' укажите параметры работы фильтра (см. ниже).
+
# В поле {{button|Параметры}} укажите параметры работы фильтра (см. ниже).
# В поле '''Описание''' введите краткое описание фильтра.
+
# В поле {{button|Описание}} введите краткое описание фильтра.
# Нажмите '''OK'''.
+
# Нажмите {{button|OK}}.
  
 
Создайте столько фильтров, сколько вам нужно.
 
Создайте столько фильтров, сколько вам нужно.
 
{{commit settings}}
 
{{commit settings}}
 +
 +
{{предупреждение|
 +
В поле {{field|ИД устройства}} необходимо указывать порядковый номер устройства, начиная с нулевого.
 +
В то же время, в [[Конфигуратор СМС-сервера|конфигураторе]] отчет идет с первого, а не с нулевого.
 +
Это значит, что, например, на вкладке {{tab|Устройство #4}} в конфигураторе находится устройство, ИД которого — 3 (всегда на 1 меньше).
 +
 +
Будьте внимательны!
 +
}}
 +
 +
== Какое выражение выбрать? ==
 +
Выражение фильтра зависит от того, в каком виде номера хранятся в базе данных.
 +
При попытке отправить номер телефона берется, например, из карточки заказа (по сути, из базы данных) и сравнивается с выражением.
 +
Если номер, на который Такси-Мастер пытается отправить СМС, не подходит под выражение, он считается неподходящим, и отправка ''не происходит''.
 +
 +
Рассмотрим пример.
 +
Если в базе данных номера хранятся в федеральном формате, то есть начинаются с цифры {{code|8}}, то выражение также должно начинаться на {{code|8}}.
 +
Если в международном формате, то есть {{code|+7}}, — то выражение должно начинаться с {{code|+7}}.
 +
Для первого случая подходит фильтр {{code|89\d{9}$}}, для второго — {{code|\+79\d{9}$}}.
 +
Обратите внимание на то, что во втором случае символу {{code|+}} предшествует {{коммент|обратная косая черта|Backslash}} — это диктуется синтаксисом регулярных выражений.
 +
 +
Помните также о том, что если номера телефонов попадают в базу данных из устройства связи посредством [[Модули {{ТМ}}|модуля связи]], то на такой номер действуют [[правила преобразования номеров]].
 +
С их помощью вы можете приводить номер из любого вида к тому, который вам нужен для хранения в базе данных.
 +
Рекомендуется хранить номера в федеральном формате.
 +
 +
Еще один момент — когда вы отправляете СМС через [[SMPP]]-сервер.
 +
В этом случае [[#Пример выражения для SMPP|выражение имеет дополнительные параметры]].
  
 
=== Примеры выражений ===
 
=== Примеры выражений ===
 
Чаще всего используются лишь несколько выражений:
 
Чаще всего используются лишь несколько выражений:
  
# <tt>89\d{9}$</tt> — выражение, которому соответствуют все номера, начинающиеся на <tt>89</tt> и содержащие 11 цифр (<t>89</tt> и еще девять цифр), то есть все сотовые.
+
# {{code|89\d{9}$}} — выражение, которому соответствуют все номера, начинающиеся на {{code|89}} и содержащие 11 цифр ({{code|89}} и еще девять цифр), то есть все сотовые.
# <tt>8909\d{7}$</tt> — этому выражению соответствуют все номера, которые начинаются на <tt>8909</tt> (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.
+
# {{code|8909\d{7}$}} — этому выражению соответствуют все номера, которые начинаются на {{code|8909}} (оператор МТС Приволжского района), за которыми следуют 7 любых цифр.
 +
 
 +
По правилам синтаксиса регулярных выражений знак {{code|+}}, с которого могут начинаться сотовые телефоны (например, {{code|+7909...}}), не может быть указан в таком виде, поскольку является спецсимволом.
 +
Его нужно «закрывать» (escape) обратной косой чертой (backslash) таким образом:
 +
{{code|\+79\d{9}}}.
 +
 
 +
==== Пример выражения для [[SMPP]] ====
 +
[[Изображение:Фильтр телефона для SMPP.png|thumb|Фильтр для SMPP в Такси-Мастер (ИД устройства — {{code|0}}, так как в [[Конфигуратор СМС-сервера|конфигураторе]] это устройство находится на вкладке {{tab|Устройство #1}})]]
 +
Провайдер СМС, с которым [[СМС-сервер]] работает по протоколу [[SMPP]], может накладывать ограничение на номера телефонов получателей СМС.
 +
Чаще всего провайдер требует, чтобы номер был в международном формате — для России, к примеру, он начинается с {{code|7}} {{серым|(а не с {{code|8}}, как это принято)}}.
 +
Чтобы не исправлять все номера в базе данных, вы можете настроить фильтр следующим образом:
 +
 
 +
* {{field|Выражение}} — {{code|89\d{9}$}} (все номера, начинающиеся с 89, например, 89120123456).
 +
* В поле {{field|Параметры}} укажите параметры таким образом, чтобы бралась значащая часть номера (последние десять знаков), и к ней подставлялся префикс {{code|7}}.
 +
 
 +
В поле {{field|Параметры}} нужно указать следующее:
 +
<pre>
 +
Prefix=7
 +
Sign=10
 +
</pre>
 +
 
 +
После этого всем номерам, которые начинаются с {{code|8}} и содержат 11 знаков, вместо {{code|8}} будет подставляться {{code|7}}.
  
В связи с синтаксисом регулярных выражений знак <tt>+</tt>, с которого могут начинаться сотовые телефоны (например, <tt>+7909...</tt>), не может быть указан в таком виде, поскольку является спецсимволом.
+
=== Параметры ===
Его нужно «закрывать» обратной косой чертой (backslash) таким образом:
+
В карточке фильтра присутствует поле {{field|Параметры}}.
<tt>\+79\d{9}</tt>.
+
Это поле доступно только тогда, когда к [[Такси-Мастер]] подключен [[модуль СМС]].
 +
Его назначение — указать дополнительные параметры редактируемому фильтру, причем для разных типов устройств параметры различаются.
  
=== Параметры работы фильтра ===
+
{{Окна ТМ}}
{{в разработке}}
 
  
 
== Ссылки ==
 
== Ссылки ==
* <tt>http://ru.wikipedia.org/wiki/Регулярные_выражения</tt> — о регулярных выражениях на Википедии.
+
* {{code/url|http://ru.wikipedia.org/wiki/Регулярные_выражения}} — о регулярных выражениях на Википедии.
  
 
[[Категория:Клиентская часть]]
 
[[Категория:Клиентская часть]]
[[Категория:Модуль «Средства связи»]]
 
 
[[Категория:Модуль СМС]]
 
[[Категория:Модуль СМС]]
 +
[[Категория: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».

Параметры

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

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

Ссылки