Преобразование номеров: различия между версиями
(Новая: '''Преобразование номеров''' — это специальная функция Такси-Мастер, позволяющая изменять номера те...) |
|||
| (не показано 12 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
'''Преобразование номеров''' — это специальная функция [[Такси-Мастер]], позволяющая изменять номера телефонов | '''Преобразование номеров''' — это специальная функция [[Такси-Мастер|Такси-Мастер]], позволяющая изменять номера телефонов на входе (при приеме входящих звонков) и на выходе. | ||
Функция нацелена на то, чтобы привести любой номер телефона к тому виду, который принят за стандарт и используется внутри | Функция нацелена на то, чтобы привести любой номер телефона к тому виду, который принят за стандарт и используется внутри базы данных. | ||
== Логическая модель == | == Логическая модель == | ||
| Строка 11: | Строка 10: | ||
Здесь: | Здесь: | ||
# | # {{code|N}} — количество знаков в номере телефона. Если в номере поступившего телефона знаков меньше или больше N, он не обрабатывается настоящим правилом. | ||
# | # {{code|S1}} — это подстрока номера телефона, по наличию которой программа принимает решение об обработке телефона. Если в ''левой части номера телефона'' встречается такая подстрока, она обрезается. | ||
# | # {{code|S2}} — строка, которая подставляется к оставшейся части. | ||
Например, если есть правило {{code|12;07;8}}, то при поступлении номера, в котором 12 знаков, и первые знаки — {{code|07}}, от него отрежутся эти знаки, и к левой части присоединится {{code|8}}: ''079090123456 → 89090123456''. | |||
Перед {{code|N}} может стоять знак {{code|-}} (минус), что означает, что нужно подставить {{code|S2}} не слева, а ''справа''. | |||
То есть, например, если есть правило {{code|-12;;#}}, то к номеру из 12 цифр ''справа'' подставится символ решетки: ''+79090123456 → +79090123456#''. | |||
=== Частный случай правила: второй параметр отсутствует === | === Частный случай правила: второй параметр отсутствует === | ||
| Строка 22: | Строка 24: | ||
N;;S2 | N;;S2 | ||
В этом случае подстрока | В этом случае подстрока {{code|S1}} — пустая, то есть, фактически, от номера телефона не будет отрезано ничего, однако, при этом к нему будет подставлена подстрока {{code|S2}}. | ||
Правило сработает в случае, когда в номере телефона | Правило сработает в случае, когда в номере телефона {{code|N}} цифр. | ||
Например, если есть правило | Например, если есть правило {{code|7;;8495}}, то к входящему номеру, состоящему из 7 цифр, будет подставлен код Москвы: ''7123456 → 84957123456''. | ||
=== Частный случай правила: третий параметр отсутствует === | === Частный случай правила: третий параметр отсутствует === | ||
| Строка 32: | Строка 34: | ||
N;S1; | N;S1; | ||
В этом случае, если брать за пример предыдущий, от поступившего номера телефона будет отрезана подстрока | В этом случае, если брать за пример предыдущий, от поступившего номера телефона будет отрезана подстрока {{code|S1}}, но при этом ничего не добавится слева, поскольку {{code|S2}} в данном случае — пустая строка. | ||
Правило сработает в случае, когда в номере телефона | Правило сработает в случае, когда в номере телефона {{code|N}} цифр, и первые цифры совпадают с цифрами, указанными в {{code|S1}}. | ||
Например, если есть правило {{code|11;8495;}}, то от входящего номера, который начинается на {{code|8495}} и имеет 11 цифр, будет отрезан код Москвы (8495): ''84957123456 → 7123456''. | |||
== Ссылки == | |||
* [[Фильтр сотовых телефонов]] — если вам нужно маршрутизировать звонки (например, сотовые — через одну линию, городские — через другую). | |||
[[Категория:Клиентская часть]] | [[Категория:Клиентская часть]] | ||
[[Категория:Специальные функции]] | [[Категория:Специальные функции]] | ||
[[Категория:Параметры ТМ]] | |||
Текущая версия от 15:58, 31 января 2022
Преобразование номеров — это специальная функция Такси-Мастер, позволяющая изменять номера телефонов на входе (при приеме входящих звонков) и на выходе.
Функция нацелена на то, чтобы привести любой номер телефона к тому виду, который принят за стандарт и используется внутри базы данных.
Логическая модель
Правила записываются в следующем виде:
N;S1;S2
Здесь:
- N — количество знаков в номере телефона. Если в номере поступившего телефона знаков меньше или больше N, он не обрабатывается настоящим правилом.
- S1 — это подстрока номера телефона, по наличию которой программа принимает решение об обработке телефона. Если в левой части номера телефона встречается такая подстрока, она обрезается.
- S2 — строка, которая подставляется к оставшейся части.
Например, если есть правило 12;07;8, то при поступлении номера, в котором 12 знаков, и первые знаки — 07, от него отрежутся эти знаки, и к левой части присоединится 8: 079090123456 → 89090123456.
Перед N может стоять знак - (минус), что означает, что нужно подставить S2 не слева, а справа. То есть, например, если есть правило -12;;#, то к номеру из 12 цифр справа подставится символ решетки: +79090123456 → +79090123456#.
Частный случай правила: второй параметр отсутствует
Правило может быть записано так:
N;;S2
В этом случае подстрока S1 — пустая, то есть, фактически, от номера телефона не будет отрезано ничего, однако, при этом к нему будет подставлена подстрока S2. Правило сработает в случае, когда в номере телефона N цифр.
Например, если есть правило 7;;8495, то к входящему номеру, состоящему из 7 цифр, будет подставлен код Москвы: 7123456 → 84957123456.
Частный случай правила: третий параметр отсутствует
Правило может быть записано так:
N;S1;
В этом случае, если брать за пример предыдущий, от поступившего номера телефона будет отрезана подстрока S1, но при этом ничего не добавится слева, поскольку S2 в данном случае — пустая строка. Правило сработает в случае, когда в номере телефона N цифр, и первые цифры совпадают с цифрами, указанными в S1.
Например, если есть правило 11;8495;, то от входящего номера, который начинается на 8495 и имеет 11 цифр, будет отрезан код Москвы (8495): 84957123456 → 7123456.
Ссылки
- Фильтр сотовых телефонов — если вам нужно маршрутизировать звонки (например, сотовые — через одну линию, городские — через другую).