Имя: Пароль:
1C
1С v8
БП2.0 Пропадают выписки при загрузке из клиент-банка
0 Alainnew
 
19.09.11
15:31
Добрый день.

Кто-нибудь встречался с такой проблемой?
При загрузке данных из клиент-банка (интернет банк) в типовую БП2.0 переписываются (изменяются) или удаляются некоторые старые выписки. Посмотрел код обработки: выписки синхронизируются по номеру платёжки и дате платёжки. Но в нашем случае даты платёжек разные, а в номерах совпадает только часть номера.
Вообще, странно: загрузка банка - такое обычное дело. Типовой механизм, должно всё работать. А тут документы - пропадают...
1 НуВотКак
 
19.09.11
15:37
чегож тут страного, может банк у тебя хреновую выгрузку написал, может ты формат не тот задал
2 Alainnew
 
19.09.11
15:42
Какой формат я мог не так задать и как его можно задать правильно?
3 miki
 
19.09.11
15:47
(2)Банк передает три последние цифры, а уникальность номеров в пределах года?
4 Alainnew
 
19.09.11
16:03
Номера платёжек формируют контрагенты и, вероятно, уникальности тут нет никакой.
На сколько я понял, банк выгружает все последние цифры из номера платёжки. Но точно не знаю.

Как я могу проверить, что выгружает банк? Посмотреть файл выгрузки из кл.-банка?
Если действительно банк обрезает номера платёжек, то что делать, общаться с банком? Или можно подключить какие-нить правила?
5 miki
 
19.09.11
16:05
(4)что-то я перестал понимать какие доки у тебя затираются... Твои или чужие?
6 Alainnew
 
19.09.11
16:11
Контрагенты платят через банк, в платежах указывают номера платёжных поручений.
При загрузке банка обработкой "КлиентБанк", на основании данных из банка (о поступивших платежах) создаются документы "Поступление на р/с".
Я посмотрел код обработки: в коде прописано, что при документ "Поступление на р/с" ищется по номеру платёжки (входящий номер) и дате платёжки. Контрагент не анализируется вообще. Это довольно странный принцип, если учитывать, что номера платёжек в принципе могут совпадать.
Т.о. при загрузке платёжек у меня в базе затираются документы "поступление на р/с", созданные ранее при такой же загрузке.
7 Alainnew
 
19.09.11
16:12
Документы мои. Номера платёжек - чужие, они приходят от контрагента. По-моему, так во всех банках.
Ранее использовали загрузку платёжек в 1С7:Бух, там документы синхронизируются ещё и по плательщику
8 miki
 
19.09.11
16:25
(7)ну так допиши?.. добавляй в кастрированный № от банка код клиента, как вариант.
9 Alainnew
 
19.09.11
16:33
Да вопрос был проще: типовая загрузка банка в типовой БП2.0 работает криво или мы чё-то не так настроили?
10 hhhh
 
19.09.11
16:46
(9) расчетные счета контрагентов должны быть у вас. Контрагент определяется по расчетному счету. ТО есть ваша задача - избегать случайных связей.
11 Alainnew
 
19.09.11
17:08
Нашёл косяк.
Расчётные счета клиентов не всегда заполняются. Клиентам не платят, от них получают деньги. Поэтому расчётные счета клиентов - лишняя (не обязательная) информация в базе.
Если расчётный счёт в базе не найден - обработка ищет только по номеру платёжки и дате платежа.

Суть косяка:
При загрузке перебираются существующие документы и номера входящих (реквизит НомерВходящегоДокумента) обрезаются по длине искомого номера.
Проще на примере. Загружается документ по платёжке "63". В базе есть документ "Поступление на р/с" с номером платёжки "863". Программа ищет выбирает документы с номерами обрезанными на длину СтрДлина("63"), получаем Прав("863", СтрДлина("63"))="63". Т.о. программа цепляет документ с номером платёжки (номером входящего) "863" и переписывает его данными из новой платёжки "63".