forum.bitel.ru
http://forum.bitel.ru/

Не могу загрузить реестр из банка.
http://forum.bitel.ru/viewtopic.php?f=22&t=5713
Страница 2 из 3

Автор:  Phricker [ 20 июл 2011, 15:20 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Когда вы пишите всякие страшные вещи типа
payment.load.pattern.1=реестрБанка
payment.load.pattern.1.type=1
payment.load.pattern.1.encoding=Cp1251

они намного приятнее выглядят если их обрамлять с двух сторон вот такой вот записью [ code][ /CODE]

Эта кнопка есть выше окна в котором вы печатаете сообщение. На ней написано Code
И вся эта конструкция будет выглядеть вот так
Код:
payment.load.pattern.1=реестрБанка
payment.load.pattern.1.type=1
payment.load.pattern.1.encoding=Cp1251

И всем сразу становится понятно что вы приводите куски из конфигов, логов и т.п.

Автор:  Universe [ 20 июл 2011, 16:09 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Хорошо, поняла, буду использовать.
Можно ещё вопрос связанный с regexp?!
Как будет выглядеть если сумма написана через запятую "100,00"?
Так: ([\d\,]+) ?

Автор:  Phricker [ 20 июл 2011, 16:18 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

наверное )))

Автор:  skyb [ 20 июл 2011, 16:23 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Phricker писал(а):
наверное )))

:lol: :lol: :lol:

Автор:  Universe [ 20 июл 2011, 16:26 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Эх, пишет "неверный формат суммы 100,00".
Вот и пойми где именно он неверный. :(

Автор:  dimOn [ 20 июл 2011, 16:38 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

точка должна быть а не запятайа

Автор:  Universe [ 20 июл 2011, 16:40 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

dimOn писал(а):
точка должна быть а не запятайа


Где должна быть точка?
Мне реестр приходит с запятой "100,00".
Как мне внести эту сумму?

Автор:  Phricker [ 20 июл 2011, 16:49 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Кто виноват что вы доку не читаете?
Добавьте строку замены
Код:
payment.load.pattern.1.regexp=([а-яА-я \w]+);([а-яА-я \, \. \- \w]+);(\d+);([\d\,]+);;;;;([\d\/]+);([\d\.]+);(\d+)
payment.load.pattern.1.summa.replace=,=>.


Дока
Черным по белому писано
Цитата:
Дополнительно для каждого шаблона могут быть определены следующие необязательные параметры:
payment.load.pattern.<id>.summa.replace=<Строка замен>
Где:Строка замен - несколько записей вида {REGEXP что}=>{На что} разделённые вертикальной чертой.

Автор:  Phricker [ 20 июл 2011, 16:52 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Я почему попросил кусок оригинального реестра. Не потому что я такой злой и вредный (не без этого конечно), а чтобы вот таких вот ситуаций не возникало :facepalm:

Автор:  Universe [ 20 июл 2011, 16:57 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Phricker писал(а):
Кто виноват что вы доку не читаете?
Добавьте строку замены
Код:
payment.load.pattern.1.regexp=([а-яА-я \w]+);([а-яА-я \, \. \- \w]+);(\d+);([\d\,]+);;;;;([\d\/]+);([\d\.]+);(\d+)
payment.load.pattern.1.summa.replace=,=>.


Дока
Черным по белому писано
Цитата:
Дополнительно для каждого шаблона могут быть определены следующие необязательные параметры:
payment.load.pattern.<id>.summa.replace=<Строка замен>
Где:Строка замен - несколько записей вида {REGEXP что}=>{На что} разделённые вертикальной чертой.



Читала я это, но вчера. :D

Автор:  skyb [ 20 июл 2011, 17:03 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Universe писал(а):
Читала я это, но вчера. :D

что будет то завтра ....оу )))))))))

Автор:  snark [ 20 июл 2011, 17:21 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Так, а ну прекратили терроризировать даму! Быстро! Решительно!

Автор:  skyb [ 20 июл 2011, 17:23 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

snark писал(а):
Так, а ну прекратили терроризировать даму! Быстро! Решительно!

прости snark что я тебя терроризировал :-D

Автор:  Phricker [ 20 июл 2011, 17:24 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

skyb писал(а):
snark писал(а):
Так, а ну прекратили терроризировать даму! Быстро! Решительно!

прости snark что я тебя терроризировал :-D

:lol: приносим свои извинения

Автор:  snark [ 20 июл 2011, 19:25 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

"Вот уроды …"(с)

Автор:  Universe [ 20 июл 2011, 20:10 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Phricker писал(а):
skyb писал(а):
snark писал(а):
Так, а ну прекратили терроризировать даму! Быстро! Решительно!

прости snark что я тебя терроризировал :-D

:lol: приносим свои извинения


Нормально всё, я не обиделась, наоборот у вас тут очень даже весело.

А терроризировать меня не нужно - меня можно учить! (Даже учить читать доки!) :wink:

Автор:  skyb [ 21 июл 2011, 03:15 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Universe писал(а):
Phricker писал(а):
skyb писал(а):
snark писал(а):
Так, а ну прекратили терроризировать даму! Быстро! Решительно!

прости snark что я тебя терроризировал :-D

:lol: приносим свои извинения

А терроризировать меня не нужно

Эти 2 поста были тому самому snar'ку который написал этот пост, а не вам ;)
Universe писал(а):
- меня можно учить! (Даже учить читать доки!) :wink:

Заметьте - не я это предложил ;)

Автор:  Phricker [ 21 июл 2011, 11:04 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

skyb писал(а):
Заметьте - не я это предложил ;)

Потому что тем кто предложил читать доки был я ;)

Автор:  Universe [ 21 июл 2011, 11:48 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Может дадите док какой полезный по regexp, так как суммы с запятой у меня так и не загружаются.
При добавлении строки
Код:
payment.load.pattern.2.regexp=([\d\.]+)
payment.load.pattern.2.sum.replace=,=>.

сумма к зачислению получается 0.00 вместо 100.00

Автор:  Phricker [ 21 июл 2011, 11:55 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Вся дока в wiki и в мануале по БГ :) По примерам учился

Кусок реестра (2-3 строки) в студию.
Конфиг описывающий формат файла - в студию

Автор:  Phricker [ 21 июл 2011, 12:22 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Подождите что то я не понял. У вас встречаются строки то с суммой 100.00 то с суммой 100,00?????? О.о

Автор:  Universe [ 21 июл 2011, 13:27 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Разные реестры есть. В одних сумма 100.00 - эти проходят все без проблем.
Другие с суммами 100,00.
Код:
#SUMMA   SCHET   DAT   
100,00   000149   17.07.2011

Через табуляторы.
Код:
payment.load.pattern.2=от Мастеров
payment.load.pattern.2.type=1
payment.load.pattern.2.encoding=Cp1251
payment.load.pattern.2.payment_type=6
payment.load.pattern.2.position_sum=1
payment.load.pattern.2.regexp=([\d\.]+)   (\d+)   ([\d\.]+)
payment.load.pattern.2.sum.replace=,=>.
payment.load.pattern.2.search.1.type=contract
payment.load.pattern.2.search.1.pos=2
payment.load.pattern.2.search.1.regime=1
payment.load.pattern.2.position_date=3
payment.load.pattern.2.date_format=dd.MM.yyyy


Такой вариант вносит сумму 0.00

Автор:  Phricker [ 21 июл 2011, 13:31 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

фак мой моск. в доке же табуляторы описаны как \t если мне память не изменяет. почитайте доку с примерами
([\d\,]+)\t(\d+)\t([\d\.]+)
Почему sum.replace??
Я же вроде писал
Цитата:
payment.load.pattern.1.summa.replace=,=>.

Автор:  Universe [ 21 июл 2011, 13:51 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Phricker писал(а):
фак мой моск. в доке же табуляторы описаны как \t если мне память не изменяет. почитайте доку с примерами
([\d\,]+)\t(\d+)\t([\d\,]+)
Почему sum.replace??
Я же вроде писал
Цитата:
payment.load.pattern.1.summa.replace=,=>.


Про табуляторы, честно, в инете нашла в примере, видимо кто-то вроде меня писал.
А sum и так работает.

Ладно, пожалейте свой мозг, сама доделаю, ещё поищу информацию.

Автор:  Phricker [ 21 июл 2011, 13:53 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Да ладно не принимайте на свой счет )))) Я так на бухов реагирую обычно )))
Здесь очень много примеров самых разных

И да мой косяк
Код:
([\d\,]+)\t(\d+)\t([\d\.]+)
в последней позиции точка должна быть. я написал запятую

Автор:  Universe [ 21 июл 2011, 13:55 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Надо к названию темы дописать: "Не читать!" :)

Автор:  snark [ 21 июл 2011, 13:57 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

IMHO для денег должна быть какая нить такая регулярка:
Код:
\d+\.\d{2}

Под нее попадет любая строка, где:
Код:
целая часть состоит из 1-ой и более цифр
точка
дробная часть состоит из 2-х цифр

Автор:  Universe [ 21 июл 2011, 13:59 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Phricker писал(а):
Да ладно не принимайте на свой счет )))) Я так на бухов реагирую обычно )))
Здесь очень много примеров самых разных

И да мой косяк
Код:
([\d\,]+)\t(\d+)\t([\d\.]+)
в последней позиции точка должна быть. я написал запятую

Писала я так, ещё вчера. Может, конечно ещё где ошибка была, щас попробую.

Автор:  Universe [ 21 июл 2011, 14:08 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

Вы не поверите, работает и так
Код:
([\d\,]+)\t(\d+)\t([\d\.]+)

и так
Код:
\d+\.\d{2}
:shock:

Всё, ушла пить кофе.

Автор:  Phricker [ 21 июл 2011, 14:08 ]
Заголовок сообщения:  Re: Не могу загрузить реестр из банка.

1ое
Вы на 101% уверены что там табуляторы а не куча пробелов???
Потому что сохранив через Excel в текстовый файл с табуляторами файл с такими данными
Код:
100,00   000562489   17.07.2011

я его загрузил без проблем со следующей конфигурацией
Код:
payment.load.pattern.2=от Мастеров
payment.load.pattern.2.type=1
payment.load.pattern.2.encoding=Cp1251
payment.load.pattern.2.payment_type=1
payment.load.pattern.2.position_sum=1
payment.load.pattern.2.regexp=([\d\,]+)\t(\d+)\t([\d\.]+)
payment.load.pattern.2.summa.replace=,=>.
payment.load.pattern.2.search.1.type=contract
payment.load.pattern.2.search.1.pos=2
payment.load.pattern.2.search.1.regime=1
payment.load.pattern.2.position_date=3
payment.load.pattern.2.date_format=dd.MM.yyyy


и 2ое

Строка
Код:
payment.load.pattern.2.sum.replace=,=>.

выдает ошибку
Цитата:
(1) 100,00 000562489 17.07.2011 => неверный формат суммы 100,00

Так что я не знаю как оно у вас работает

Страница 2 из 3 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/