1С Предприниматель 7.70.167 неверно импортирует документы из банка (ПредприятиеКлиент)

Новая тема
Показывать по 10 20 40 сообщений
1. стандартная обработка для импорта данных из клиент-банка неверно импортирует документы. А именно:
а) при отсутствии поля ДатаСписано платежки импортируются, не формируются документы СтрокаВыпискиБанкаРасход
б) при совпадении номеров документов, более ранние (по файлу обмена) заменяются на более поздние.

Проблема вот в чем. Банк присваивает документам на оплату комиссии за исходящие платежи тем же номером, что и документ, за который идет списание комиссии.
Таким образом, при платеже на 1000 рублей и комиссии в 20 рублей, при импорте "комиссионной" платежки, формируется платежное поручение (не проводится из-за п. "а"), затем импортируется клиентская платежка и замещает комиссионную.
2. При вынесении этой обработки во внешний файл .ert, обработка перестает работать, не может найти файл ВидыДокументов.

Что делать?
Покажусь странным, но пригласить специалиста еще никто не предлагал?
Что сделает специалист?
Специалист вам расскажет, что у наших банков нет единого формата обмена данными и все их программы решают эту задачу как бог послал. Поэтому при обмене с 1С в части того или иного банка постоянно возникают какие то нюансы, которые нужно попытаться разрулить шлифовкой алгоритма загрузки 1С. Пытаться напрячь банк по нормализации сведений в файле обмена почти нереально, поэтому работать приходится с той стороны, с которой мы хоть что то можем сделать. Вот и ваш специалист придет, откроет файл, который выносит программа "банк-клиент", уточнит проблемы формата, попробует придумать решения.
проблемы формата я уже озвучил.
а) отсутствие поля "ДатаСписано" в мемориальных ордерах (Исправляется одной строчкой в двух местах обработки)
б) Дублирование номеров входящих РАСХОДНЫХ документов. Эту проблему я решить не смог.
Потому и прошу помощи зала.
Сейчас разберемся. На 20 рублей банк должен делать мемориальный (банковский) ордер.
В файле, который формирует банк-клиент есть место:

СекцияДокумент=Банковский ордер
...

Далее система загружает этот документ как "Операция по расчетному счету", а не "Платежное поручение" потому что не найдет в таблице "Виды документов" описания ситуации "Банковский ордер".

Посмотрите в свой файл выгрузки, как ваш банк идентифицирует это движение?
Если они пишут туда "Платежное поручение", то с этим и будем бороться.
----8<---------
СекцияДокумент=Платежное поручение
Дата=03.09.2010
Номер=2
Сумма=20.00
ПлательщикСчет=40802810...
Плательщик=ИНН 78... Индивидуальный предприниматель Иванов И.И.
ДатаСписано=
ПлательщикИНН=78...
ПлательщикКПП=
Плательщик1=Индивидуальный предприниматель Иванов И.И.
ПлательщикРасчСчет=40802810...
ПлательщикБанк1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПлательщикБИК=044030855
ПлательщикКорсчет=30­101810900000000855
ПолучательСчет=70601810704002102016­>Получатель=ИНН 7725038124 ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ДатаПоступило=
ПолучательИНН=7725038124
П­олучательКПП=783502001
Получатель1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПолучательРасчСчет=70601810704002102016
Полу­чательБанк1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПолучательБИК=044030855
ПолучательКорсчет=30­101810900000000855
ВидПлатежа=ЭЛЕКТРОННО
ВидОплаты=17<­br>СтатусСоставителя=
ПоказательКБК=
ОКАТО=
Показат­ельОснования=
ПоказательПериода=
ПоказательНомера=
­ПоказательДаты=
ПоказательТипа=
СрокПлатежа=
Очеред­ность=
НазначениеПлатежа=Плата за проведение платежей
КонецДокумента
СекцияДокумент=Платежное поручение
Дата=03.09.2010
Номер=2
Сумма=640.00
ПлательщикСчет=40802810...
Плательщик=ИНН 78... Индивидуальный предприниматель Иванов И.И.
ДатаСписано=
ПлательщикИНН=78...
ПлательщикКПП=
Плательщик1=Индивидуальный предприниматель Иванов И.И.
ПлательщикРасчСчет=40802810...
ПлательщикБанк1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПлательщикБИК=044030855
ПлательщикКорсчет=30­101810900000000855
ПолучательСчет=70601810104002101002­>Получатель=ИНН 7725038124 ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ДатаПоступило=
ПолучательИНН=7725038124
П­олучательКПП=783502001
Получатель1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПолучательРасчСчет=70601810104002101002
Полу­чательБанк1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПолучательБИК=044030855
ПолучательКорсчет=30­101810900000000855
ВидПлатежа=ЭЛЕКТРОННО
ВидОплаты=17<­br>СтатусСоставителя=
ПоказательКБК=
ОКАТО=
Показат­ельОснования=
ПоказательПериода=
ПоказательНомера=
­ПоказательДаты=
ПоказательТипа=
СрокПлатежа=
Очеред­ность=
НазначениеПлатежа=Комиссия за ведение расчетных, текущих счетов в рублях
КонецДокумента
СекцияДокумент=Платежное поручение
Дата=03.09.2010
Номер=2
Сумма=7000.00
ПлательщикСчет=40802810...
Плательщик=ИНН 78... Индивидуальный предприниматель Иванов И.И.
ДатаСписано=03.09.2010
ПлательщикИНН=78...
ПлательщикКПП=
Плательщик1=Индивидуальный предприниматель Иванов И.И.
ПлательщикРасчСчет=40802810...
ПлательщикБанк1=ФАКБ "РОССИЙСКИЙ КАПИТАЛ" (ОАО) САНКТ-ПЕТЕРБУРГ
ПлательщикБИК=044030855
ПлательщикКорсчет=30­101810900000000855
ПолучательСчет=40817810...
Получатель=ИНН 78... ИВАНОВ ИВАН ИВАНЫЧ
ДатаПоступило=
ПолучательИНН=78...
ПолучательКПП=
Получатель1=ИВАНОВ ИВАН ИВАНЫЧ
ПолучательРасчСчет=40817810...
ПолучательБанк1=СЕВЕРО-ЗАПАДНЫЙ БАНК СБЕРБАНКА РФ Г. САНКТ-ПЕТЕРБУРГ
ПолучательБИК=044030653
ПолучательКорсчет=30­101810500000000653
ВидПлатежа=ЭЛЕКТРОННО
ВидОплаты=01<­br>СтатусСоставителя=
ПоказательКБК=
ОКАТО=
Показат­ельОснования=
ПоказательПериода=
ПоказательНомера=
­ПоказательДаты=
ПоказательТипа=
СрокПлатежа=03.09.2010
Очередность=6
НазначениеПлатежа=Перечисляется доход предпринимателя. НДС не облагается
КонецДокумента
--->8--------------

Вот кусок файла обмена.
Банк присылает свои мемориалы как платежные поручения. Ок. Вид оплаты 17 (1С этого не знает), ок.
Три документа с номером 2 и датой 03.09.2010, ок. Загружаем это в базу, получаем совсем не ок, описанный в стартовом посте.

Для проведения работ по коррекции обработки (понятно, что банк я ни о чем не упрошу), пришлось вынести обработку во внешний файл.
Ошибки невозможности открытия таблицы ВидыДокументов решил, поместив код инициализации в  процедуру ПриОткрытии() (об этом прочитал на форуме mista.ru) - иначе что-то не инициализировалось.
"Ну вот, значит с причиной проблемы определились
Я бы внес точечное изменение, которое решило бы проблему и не стал бы общаться с банком, нервы дороже. Главное, не забывать о изменении при очередных обновлениях и все будет работать как положено.
В процедуру ЗагрузитьТаблицуДокументов() добавляем:
Процедура ЗагрузитьТаблицуДокументов()
    ЗагрДокументы.УдалитьВсе();

    ТаблицаДокументов.ВыбратьСтроки();
    Пока ТаблицаДокументов.ПолучитьСтроку()=1 Цикл
         Если (ТаблицаДокументов.СекцияДокумент="Платежное поручение") И (ТаблицаДокументов.ВидОплаты="17") Тогда
              ТаблицаДокументов.СекцияДокумент="Банковский ордер";
              ТаблицаДокументов.Номер="м"+ТаблицаДокументов.Номер;
         КонецЕсли;

    Документ=ЗагрузитьПлатежныйДокумент();
    Если ПустоеЗначение(Документ)=1 Тогда
...

так пойдет?"
Не опробовав на деле - сразу вопрос: двоящиеся ордера перезаписываться будут, или нормально записываться?
В этом коде не вижу обработки одинакового номера. :(

проверил - создаются непроводимые "ДвиженияПоРасчетномуСчету", на основании которых не сделать выписку.
Обошел так:
В начале загрузки установил переменную "тек_номер" в 1.
В предложенном варианте не стал менять тип документа, а стал добавлять к номеру "м"+номер+тек_номер.
Стало загружаться, проводиться, при повторной загрузке - опять непроводимые документы создаются, но уже ни на что не влияют (кроме размера ИБ, что не важно).

Думаю, проблема решена. Спасибо!
В этом коде я меняю дубликат номера на "м"+Номер
то есть, платежка будет иметь номер "87", а мемориальный ордер, ей соответствующий, номер "м87"
Читают тему
(гостей: 1)

Быстрый переход