Администратор писал(а):
Цитата:
ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchCall в случае неудачного поиска вываливает весь список договоров из биллинга.
Как я понимаю, в этом случае ему передаётся пустой номер звонящего?
Вы ведь используете предобработку номера? Добавьте в конце правило, что при пустом номере создавалась какая-нибудь не встречающаяся строка.
Бррр, вообще ничего не понял. Какой пустой номер? Т.е. еще до поиска в биллинге в црм уже есть результат этого поиска, и на основании этого результата в биллинг передается пустой номер? Наверно нет, передается непустой номер. А возвращается весь список договоров. Или я неправ?
Предобработка нехитрая:
#messageType.1.search.1.stringExpressionNumberPreprocess=if( numberFrom.trim().length() == 10){ numberFrom = "96".concat( numberFrom.trim().substring(1))}; return numberFrom;
messageType.1.search.1.stringExpressionNumberPreprocess=if( numberFrom.trim().length() == 10){ numberFrom = numberFrom.trim().substring(1)}; return numberFrom;
И так и так пробовал. Выкрутасы с трим, это уже от отчаяния, т.к. твердо убежден, что поиск не всегда срабатывает (думал может пробелы где-то затесались). Берешь номер из сообщения, копипастишь его в поиск по телефону в биллинг, и опля, он оказца найден, а црм не нашел. Тут еще поясню и, может быть подниму нашу проблему. Мы не в РФ и формат номеров телефона у нас своеобразный. Внутри страны используется вида: 0 КОД ХХХХХХ (где КОД - это код оператора). Для звонков из зарубежья формат другой +996 КОД ХХХХХХ. Как видите, ни один из форматов не укладывается в российский стандарт 11 цифр, который (почему-то) обязателен и ненастраиваем в биллинге. Я поднимал эту тему в форуме биллинга, меня послали). Поэтому в биллинге мы храним телефоны в ущербном виде 96 КОД ХХХХХХ. На астериск входящие звонки приходят с двух транков: с одного с ведущим нулем, с другого без ХХХ ХХХХХХ (так сложилось). Вот и приходится изгаляться. В таблице сообщений в колонке От->На номера остаются в непредобработаном виде. Результаты этой самой предобработки для поиска в логи не пишутся (наверно только в дебаге? я не пробовал). Предобработки номера для сохранения в биллинг тоже нет. В результате добиться приемлемого сохранения телефона в биллинг я так и не смог. В общем, с телефонами в црм - куда ни кинь, всюду клин.) Может подскажете как сохранить в биллинг в виде 96 КОД ХХХХХХ номера двух видов: КОД ХХХХХХ и 0 КОД ХХХХХХ? А еще лучше и трех +996 КОД ХХХХХХ. А лучше любого.