BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 04:14

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Парсинг реестра Сбербанка
СообщениеДобавлено: 08 дек 2016, 07:23 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Возможно ли распарсить реестр Сбербанка (работаем с ним по протоколу osmp)? Реестр имеет вид:

Цитата:
30-11-2016;02-25-14;8636;8636999V;169197478961;2560;10,00;9,70;0,30
30-11-2016;10-52-00;8636;8636999V;169314818013;2560;10,00;9,70;0,30

=5;180,00;174,60;5,40;382870;01-12-2016

Если распарсить возможно, то непонятно, как "склеить" дату и время из двух соседних столбцов 30-11-2016;02-25-14; для опции time в mps.1.register.patternOrder, и какой нужно выставить mps.1.register.timeFormat для данного случая. Пробовал делать вот так, не получается:

Код:
#regexp записи
#mps.6.register.pattern=^(.+)[;\t](\d+)[;\t]([\d+: -TZ]+)[;\t] (\d+\.*\d*)[;\t] (\d+)$
mps.6.register.pattern=^(\*\;\*)[;](\d+)[;](\d*)[;](\d+)[;](\d+)[;](\d+\,*\d*)[;](\d+\,*\d*)[;](\d+\,*\d*)$
#Порядок значений в regexp
#mps.6.register.patternOrder=account:1, time:3, sum:4, transId:5
mps.6.register.patternOrder=account:5, time:1, sum:6, transId:4
#Формат времени
#mps.6.register.timeFormat=yyyy-MM-dd'T'HH:mm:ss'Z'
mps.6.register.timeFormat=dd-MM-yyyy';'HH-mm-ss


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Парсинг реестра Сбербанка
СообщениеДобавлено: 08 дек 2016, 12:33 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Распарсить для чего?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Парсинг реестра Сбербанка
СообщениеДобавлено: 08 дек 2016, 13:47 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Настройки парсинга реестра описаны в главе "Сверка платежей MPS" руководства. Стало быть - распарсить для сверки платежей.

Благодаря Kostiksnz, нашелся верный способ - дата 30-11-2016;02-25-14; парсится вот так (.+[;].+)[;] , а формат даты выставляется так: dd-MM-yyyy';'HH-mm-ss


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Парсинг реестра Сбербанка
СообщениеДобавлено: 09 дек 2016, 07:15 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Сразу не заметил (опция для суммы была выставлена неверно), а сейчас обнаружил, что если строка в реестре имеет платеж, десятичная часть которого разделена точкой, то при сверке такой платеж отображается корректно. Если разделитель запятая, то сумма платежа отображается нулями. Например:

- строки вида - 30-10-2016;02-25-14;169197478961;2560;10.00 парсятся без проблем с настройками модуля:
Цитата:
mps.6.register.pattern=^(.+[;].+)[;](\d+)[;](.+)[;](\d+\.*\d*)$
mps.6.register.patternOrder=account:3, time:1, sum:4, transId:2
mps.6.register.timeFormat=dd-MM-yyyy';'HH-mm-ss


- строки вида - 30-10-2016;02-25-14;169197478961;2560;10,00 парсятся, но сумма платежа отображается нулевой, настройки модуля (точка сменена на запятую):
Цитата:
mps.6.register.pattern=^(.+[;].+)[;](\d+)[;](.+)[;](\d+\,*\d*)$
mps.6.register.patternOrder=account:3, time:1, sum:4, transId:2
mps.6.register.timeFormat=dd-MM-yyyy';'HH-mm-ss


Реестр приходит с суммами, разделенными запятыми. Пробовал несколько разных регэкспов, корректность регэкспов проверял с помощью visual-regexp, добавлял в конфигурацию:
Код:
mps.6.osmp.sum.decimal.separator=,
mps.6.osmp.account.balance.decimal.separator=,

не работает.
Цитата:
Информация о версии:

Клиент: вер. 6.2.847 / 28.11.2016 20:54:00
os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_74
Сервер: вер. 6.2.1145 / 30.11.2016 17:54:18
os: Linux; java: Java HotSpot(TM) Client VM, v.1.8.0_74

assist: вер. 6.2.88 / 09.11.2016 15:23:35
bill: вер. 6.2.96 / 28.11.2016 20:59:02
card: вер. 6.2.39 / 26.05.2016 14:50:45
dba: вер. 6.2.163 / 02.02.2016 17:42:00
enaza: вер. 6.2.59 / 19.04.2016 21:47:47
gorod: вер. 6.2.164 / 01.03.2016 00:18:32
inet: вер. 6.2.702 / 28.11.2016 20:55:43
mps: вер. 6.2.221 / 04.10.2016 19:16:15
npay: вер. 6.2.197 / 04.10.2016 19:12:21
paylinks: вер. 6.2.31 / 02.02.2016 17:42:04
qiwi: вер. 6.2.48 / 14.07.2016 14:11:51
rentsoft: вер. 6.2.63 / 04.10.2016 19:16:26
reports: вер. 6.2.213 / 03.10.2016 16:59:27
rscm: вер. 6.2.178 / 04.10.2016 19:16:30
ru.bitel.bgbilling.plugins.cladr: вер. 6.2.119 / 02.02.2016 17:42:00
ru.bitel.bgbilling.plugins.dispatch: вер. 6.2.94 / 28.11.2016 20:56:09
trayinfo: вер. 6.2.170 / 02.02.2016 17:42:09
tv: вер. 6.2.238 / 30.11.2016 17:54:27
wellpay: вер. ?
wm: вер. 6.2.189 / 04.10.2016 19:16:46
yamoney: вер. 6.2.58 / 04.10.2016 19:16:49

Окружение:

Клиент:
os: Linux i386, 3.13-1-amd64
java: Java HotSpot(TM) Server VM, v.1.8.0_74
jre home: /opt/java/jdk1.8.0_74/jre
default tz: 09.12.2016 10:17 YAKT +0900 (Asia/Yakutsk)
user tz: 09.12.2016 10:17 YAKT +0900 (Asia/Yakutsk)
locale: ru_RU
Сервер:
os: Linux i386, 2.6.32-el-smp-alt27
java: Java HotSpot(TM) Client VM, v.1.8.0_74
jre home: /opt/java/jdk1.8.0_74/jre
default tz: 09.12.2016 10:17 YAKT +0900 (Asia/Yakutsk)
db time: master: 09.12.2016 10:17 YAKT
db charset: connection: cp1251(cp1251_general_ci), database: cp1251(cp1251_general_ci)
locale: en_US
uptime: Started: 01.12.2016 09:11:23 Uptime: 8 d 01:06:12


Вложения:
999(106).jpg
999(106).jpg [ 57.22 КБ | Просмотров: 4124 ]
999(105).jpg
999(105).jpg [ 61.52 КБ | Просмотров: 4124 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Парсинг реестра Сбербанка
СообщениеДобавлено: 09 дек 2016, 16:52 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
по сумме
1) обновиться до 7 версии
2) сделать внешний предобработчик реестров (заменять запятую на точку)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Парсинг реестра Сбербанка
СообщениеДобавлено: 09 дек 2016, 18:29 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Цитата:
1) обновиться до 7 версии

Вообще-то у меня оплачена 7 версия, но работаю на 6.2. Обновлять версию не планирую, только за ноябрь обновился внутри версии 6.2 5 раз, надо передохнуть (:
Цитата:
2) сделать внешний предобработчик реестров (заменять запятую на точку)

Предобработчик хорош, когда выгрузка автоматизирована. Приходили бы реестры по почте, как встарь, можно было бы все сделать вне биллинга и, самое главное, мимо бухгалтера. У Сбербанка же она происходит вручную, из личного кабинета СбербанкОнлайн. Загрузка реестра в предобработчик это лишнее действие для бухгалтера, он у нас один на все четыре стороны, посреди ключей, банк-клиентов и прочих "предобработчиков". Также Сбербанк отказывается поменять запятую на точку.

Придется делать велосипед без сверки в биллинге.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.160s | 34 Queries | GZIP : On ]