forum.bitel.ru http://forum.bitel.ru/ |
|
Инициализация интерфейса дилера http://forum.bitel.ru/viewtopic.php?f=8&t=2289 |
Страница 1 из 1 |
Автор: | jack7 [ 06 май 2009, 17:02 ] |
Заголовок сообщения: | Инициализация интерфейса дилера |
часть конфига модуля карт Цитата: ###
### Удаленные платежи ### #(режим поиска - по номеру договора) findmode.1.class=FindKernel findmode.1.mode=contract findmode.1.title=Номер договора dealer.allow.contract.1.regexp=\d+ #(режим поиска - по адресу) findmode.2.class=FindKernel findmode.2.mode=address findmode.2.title=Адрес findmode.2.pid=38 #(режим поиска - по ФИО) findmode.3.class=FindKernel findmode.3.mode=text_param findmode.3.title=IP-адрес findmode.3.pid=45 запрос Код: https://ip:8443/bgbilling/idealer?mid=11&action=Init&find_modes= ответ Код: − <data status="ok"> <find_modes/> </data> запрос Код: https://ip:8443/bgbilling/idealer?mid=11&action=Init&find_modes=&address_list= ответ Код: <data status="ok">
<find_modes/> − <address_list> + <cities> <item id="0" title="----------"/> <item id="1" title="г. Город"/> </cities> + <streets> <item id="0" title="----------"/> <item id="31" title="б-р. Луначарского"/> <item id="81" title="Березовая"/> <item id="8" title="Восточная"/> </streets> </address_list> </data> Проблема в том что не выводтся режимы поиска и соответственно не работает поиск по номеру договора, в чем может быть дело? ps надеюсь номер договора не является cid из базы |
Автор: | Amir [ 06 май 2009, 17:46 ] |
Заголовок сообщения: | |
Может быть режимы поиска у дилера в менеджере дилеров не стоят, или http сессия таже, что до того как изменили типы поиска? cid мы обычно называем кодом договора. |
Автор: | jack7 [ 07 май 2009, 12:47 ] |
Заголовок сообщения: | |
режимы поиска установил после этого появились режимы Код: − <data status="ok"> − <find_modes> − <mode class="FindKernel" id="1" name="kernel_contract" title="Номер договора"> <param name="contract_title"/> </mode> − <mode class="FindKernel" id="2" name="kernel_address" title="Адрес"> <param name="address_street"/> <param name="address_house"/> <param name="address_frac"/> <param name="address_flat"/> <param name="address_room"/> </mode> − <mode class="FindKernel" id="3" name="kernel_text_param" title="IP-адрес"> <param name="param"/> </mode> </find_modes> </data> запрос Код: https://ip:8443/bgbilling/idealer?mid=11&action=ContractFind&contract_title_1=65171 все равно ошибка номер 8 Код: <data error_code="8" status="error">Договор не найден</data> выборка из базы Код: select id,date1,title from contract where title='65171' ответ Код: "id","date1","title"
39,"2009-01-11","65171" |
Автор: | Amir [ 07 май 2009, 13:18 ] |
Заголовок сообщения: | |
А версия какая? |
Автор: | jack7 [ 07 май 2009, 13:28 ] |
Заголовок сообщения: | |
Код: card вер. 4.5 сборка 90 от 14.04.2009 12:47:18
|
Автор: | jack7 [ 08 май 2009, 11:11 ] |
Заголовок сообщения: | |
если напрямую (по ссылке через браузер) провести платеж по cid, то он проходит запрос Код: https://ip:8443/bgbilling/idealer?mid=11&&action=PaymentAdd&cid=39&summ=10&trans=08052009-1103&comment=test ответ Код: <data status="ok">
− <payments> <payment cid="39" comment="Оплата по дог. 65171 через Дилер ()" contract="65171" contract_comment="Иванов Иван Иванович" date="08.05.2009 11.06.22" id="2" status="1" summ="10.00" trans="08052009-1106"/> </payments> <contract balance="14.00" comment="Иванов Иван Иванович" firm_id="" id="39" title="65171"/> </data> но так как web-интерфейс дилера сначал делает поиск, то платеж провести через него не получается |
Автор: | jack7 [ 12 май 2009, 09:58 ] |
Заголовок сообщения: | |
up |
Автор: | restart [ 13 май 2009, 14:15 ] |
Заголовок сообщения: | |
Может быть Вы установили фильтры поиска (Модули-Карточки-Менеджер дилеров), которые не удовлетворяют искомому договору? Если фильтры поиска установлены, то ищет только по ним, если не установлены - ищет все договора. |
Автор: | jack7 [ 13 май 2009, 22:07 ] |
Заголовок сообщения: | |
фильтры у меня пустые - дело оказалось в другом Код: dealer.allow.contract.1.regexp=\d+
этот параметр подразумевает что договор представляет из себя набор целых чисел, от одного и более - у меня договор 5 чисел (телефон) в любом случае после удаления этого параметра их конфига, все заработало всем спасибо |
Автор: | restart [ 14 май 2009, 12:42 ] |
Заголовок сообщения: | |
jack7 писал(а): Код: dealer.allow.contract.1.regexp=\d+ Так это ж как раз и относится к фильтрам? У Вас регесп был не совсем корректный. Там система поиска так работает, что регексп должен быть сгруппирован скобочками, т.е. правильно было бы Код: dealer.allow.contract.1.regexp=(\d+) и через символ "|" можно указывать иные договора. Т.е. правильно делать регексп вида Код: dealer.allow.contract.1.regexp=(выражение1)|(выражение2)| ... |(выражениеN)
Поэтому у Вас и не находил договора. Попробуйте вариант со скобочками. |
Автор: | jack7 [ 14 май 2009, 13:41 ] |
Заголовок сообщения: | |
конфиг Код: #(режим поиска - по номеру договора)
findmode.1.class=FindKernel findmode.1.mode=contract findmode.1.title=Номер договора dealer.allow.contract.1.regexp=(\d+) ответ Цитата: <data error_code="8" status="error">Договор не найден</data>
также пробовал (\w+) (\S+) результат отрицательный после комментирования строки с dealer.allow.contract.1.regexp, поиск проходит удачно |
Автор: | restart [ 14 май 2009, 15:23 ] |
Заголовок сообщения: | |
Очень странно, кстати, потому что эта строчка относится именно к фильтрам. Т.е. фактически был определен фильтр с таким regexp, и его надо явно выбирать в настройках самого дилера, если есть желание его использовать. Я так понимаю, у Вас версия биллинга 4.5? В 4.6 дилерский интерфейс и сама система поиска была переработана, там точно все ищется корректно. В 4.5 же само API поиска было иное, возможно с этим связано. |
Автор: | RiZ [ 26 июн 2009, 17:16 ] |
Заголовок сообщения: | Re: Инициализация интерфейса дилера |
Добрый день! Дано: Клиентская машина Windows 2003 server, IE, Mozilla Периодически наблюдаются подобные проблемы. jack7 писал(а): Код: https://ip:8443/bgbilling/idealer?mid=11&action=Init&find_modes= ответ Код: − <data status="ok"> <find_modes/> </data> запрос Код: https://ip:8443/bgbilling/idealer?mid=11&action=Init&find_modes=&address_list= ответ Код: <data status="ok"> <find_modes/> − <address_list> + <cities> <item id="0" title="----------"/> <item id="1" title="г. Город"/> </cities> + <streets> <item id="0" title="----------"/> <item id="31" title="б-р. Луначарского"/> <item id="81" title="Березовая"/> <item id="8" title="Восточная"/> </streets> </address_list> </data> Проблема в том что не выводтся режимы поиска и соответственно не работает поиск по номеру договора, в чем может быть дело? ps надеюсь номер договора не является cid из базы А при поиске выходит ошибка Код: <?xml version="1.0" encoding="windows-1251" ?>
<data error_code="8" status="error">Договор не найден</data> При том на каких то машинах все проходит на О.К., на каких то вообще не работает, на каких то работает через раз, при том мазилла работает стабильнее осла. Тоже самое в web-кабинете дилера: во вкладке поиска платежа поле ввода договора то отображается, то нет. Как это вылечить ? |
Автор: | Администратор [ 01 июл 2009, 12:57 ] |
Заголовок сообщения: | |
Цитата: При том на каких то машинах все проходит на О.К., на каких то вообще не работает, на каких то работает через раз, при том мазилла работает стабильнее осла.
Тоже самое в web-кабинете дилера: во вкладке поиска платежа поле ввода договора то отображается, то нет. Как это вылечить ? Нужно сначала как-то воспроизвести. Если бы вы нашли машину, где ошибка более-менее регулярно всплывает и дали нам доступ, было бы проще.. |
Автор: | Kazrarr [ 27 авг 2009, 18:53 ] |
Заголовок сообщения: | |
restart писал(а): jack7 писал(а): Код: dealer.allow.contract.1.regexp=\d+ Так это ж как раз и относится к фильтрам? У Вас регесп был не совсем корректный. Там система поиска так работает, что регексп должен быть сгруппирован скобочками, т.е. правильно было бы Код: dealer.allow.contract.1.regexp=(\d+) и через символ "|" можно указывать иные договора. Т.е. правильно делать регексп вида Код: dealer.allow.contract.1.regexp=(выражение1)|(выражение2)| ... |(выражениеN) Поэтому у Вас и не находил договора. Попробуйте вариант со скобочками. у меня это выглядило так: dealer.allow.contract.1.regexp=\d\d\d\d/\d\d не находил исправил: dealer.allow.contract.1.regexp=(\d\d\d\d/\d\d) все равно не находит, закомментил и сразу же нашел.. BGB 4.6 |
Автор: | Администратор [ 28 авг 2009, 10:46 ] |
Заголовок сообщения: | |
http://www.bgbilling.ru/v4.6/doc/ch06s10s01.html Цитата: При установки regexp фильтра используется MySQL REGEXP.
http://dev.mysql.com/doc/refman/5.0/en/regexp.html \d -> [0-9] |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |