Загрузка банковских выписок, неверный вид операции
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)попробуйте так сделать: создать договор эквайринга с банком: справочник Виды оплат, открыть из документа "Операция по платежной карте". В нем указываете контрагента (банк) и договор. Можно задать и процент комиссии банка, тогда сумма комиссии будет рассчитываться при загрузке.
в настройках загрузки посмотрите в бух по этой организации - посмотрите как документы из файла в документ в 1С преображается
настройка - во что загружать тот или иной вид строки из файл
Банк и касса – Банковские выписки. в блоках "Выгрузка" и "Загрузка" установите или снимите флажки по параметрам выгрузки и загрузки
настройка - во что загружать тот или иной вид строки из файл
Банк и касса – Банковские выписки. в блоках "Выгрузка" и "Загрузка" установите или снимите флажки по параметрам выгрузки и загрузки
привожу координаты и принцип по которому происходит загрузка выписок.
В общем модуле ЗагрузкаВыпискиПоБанковскомуСчету есть функция ХозяйственнаяОперация() в которой перебираются правила из таблицы ПравилаОпределенияХозяйственныхОпераций.
Таблица ПравилаОпределенияХозяйственныхОпераций состоит из предопределенных элементов между которыми в модулях ранее создано соответствие. Например по зарплате строка выглядит так:
Имя - "ЗаработнаяПлата" (строка)
ПоступилоСписано - "Списано" (строка)
ОсновнойВидОперации - Перечисление заработной платы работнику (перечисление)
ОсновнаяСтатьяДДС - Оплата труда (справочник)
В конечном счете из функции ВыполнитьПравилоОпределенияХозяйственнойОперации делается вызов функции, допустим по списанию ХозяйственнаяОперацияСписано(). В том же общем модуле. А уже из этой функции идет вызов функций соответствующих именам правил. В частности для той же зарплаты вызывается ХозяйственнаяОперацияЗаработнаяПлата().
Вызываемые функции как правило обращаются к общему модулю БанковскиеПравила, где в частности проверяется на какой счет происходит оплата или с какого счета идет поступление, точнее по 5 первым цифрам счета.
Например для определения операции Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПоступленияОтПродажПоПлатежнымКартамИБанковскимКредитам из общего модуля ЗагрузкаВыпискиПоБанковскомуСчету вызывается функция ХозяйственнаяОперацияВыручкаРозничнойТорговлиЧерезПосредника () из которой идет обращение к функции из общего модуля БанковскиеПравила:
Функция ЭтоСчетНезавершенныхРасчетов(БалансовыйСчет) Экспорт
Возврат БалансовыйСчет = "30221" Или БалансовыйСчет = "30222" // незавершенные переводы и расчеты кредитной организации
Или БалансовыйСчет = "30232" Или БалансовыйСчет = "30233" // незавершенные расчеты с операторами услуг платежной инфраструктуры и операторами по переводу денежных средств
Или БалансовыйСчет = "30236" // Незавершенные переводы, поступившие от платежных систем и на корреспондентские счета
Или БалансовыйСчет = "47422" // Обязательства по прочим операциям
Или БалансовыйСчет = "47423" // Требования по прочим операциям
Или БалансовыйСчет = "40907"; // Расчеты клиентов по зачетам
КонецФункции
Какой вывод из всего этого следует - то, что настроки загрузки банковских выписок по сути дела заложены в модуль конфигурации и повлиять не этот процесс не представляется возможным. Те же статьи движения денежных средств, которые поставлены в соответствие видам операций в таблице ПравилаОпределенияХозяйственныхОпераций прописываются в модуле за счет предопределенных элементов.
В общем модуле ЗагрузкаВыпискиПоБанковскомуСчету есть функция ХозяйственнаяОперация() в которой перебираются правила из таблицы ПравилаОпределенияХозяйственныхОпераций.
Для Каждого Правило Из ПравилаОпределенияХозяйственныхОпераций Цикл
// Обязательные проверки, внешние по отношению к правилу (общие для всех правил)
Если Правило.ПоступилоСписано <> Параметры.Операция.ПоступилоСписано Тогда
Продолжить;
КонецЕсли;
РезультатОпределенияХозяйственнойОперации = ВыполнитьПравилоОпределенияХозяйственнойОперации(Параметры, Правило, Истина);
Если РезультатОпределенияХозяйственнойОперации.Определена Тогда
Возврат РезультатОпределенияХозяйственнойОперации.ХозяйственнаяОперация;
Иначе
ДежурноеПравило = Правило;
КонецЕсли;
КонецЦикла;
ПоказатьТаблица ПравилаОпределенияХозяйственныхОпераций состоит из предопределенных элементов между которыми в модулях ранее создано соответствие. Например по зарплате строка выглядит так:
Имя - "ЗаработнаяПлата" (строка)
ПоступилоСписано - "Списано" (строка)
ОсновнойВидОперации - Перечисление заработной платы работнику (перечисление)
ОсновнаяСтатьяДДС - Оплата труда (справочник)
В конечном счете из функции ВыполнитьПравилоОпределенияХозяйственнойОперации делается вызов функции, допустим по списанию ХозяйственнаяОперацияСписано(). В том же общем модуле. А уже из этой функции идет вызов функций соответствующих именам правил. В частности для той же зарплаты вызывается ХозяйственнаяОперацияЗаработнаяПлата().
Вызываемые функции как правило обращаются к общему модулю БанковскиеПравила, где в частности проверяется на какой счет происходит оплата или с какого счета идет поступление, точнее по 5 первым цифрам счета.
Например для определения операции Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПоступленияОтПродажПоПлатежнымКартамИБанковскимКредитам из общего модуля ЗагрузкаВыпискиПоБанковскомуСчету вызывается функция ХозяйственнаяОперацияВыручкаРозничнойТорговлиЧерезПосредника
Функция ЭтоСчетНезавершенныхРасчетов(БалансовыйСчет) Экспорт
Возврат БалансовыйСчет = "30221" Или БалансовыйСчет = "30222" // незавершенные переводы и расчеты кредитной организации
Или БалансовыйСчет = "30232" Или БалансовыйСчет = "30233" // незавершенные расчеты с операторами услуг платежной инфраструктуры и операторами по переводу денежных средств
Или БалансовыйСчет = "30236" // Незавершенные переводы, поступившие от платежных систем и на корреспондентские счета
Или БалансовыйСчет = "47422" // Обязательства по прочим операциям
Или БалансовыйСчет = "47423" // Требования по прочим операциям
Или БалансовыйСчет = "40907"; // Расчеты клиентов по зачетам
КонецФункции
Какой вывод из всего этого следует - то, что настроки загрузки банковских выписок по сути дела заложены в модуль конфигурации и повлиять не этот процесс не представляется возможным. Те же статьи движения денежных средств, которые поставлены в соответствие видам операций в таблице ПравилаОпределенияХозяйственныхОпераций прописываются в модуле за счет предопределенных элементов.
Если УчетДенежныхСредствКлиентСервер.БалансовыйСчет(СтрокаДокумента.ПолучательСчет) = "40802"// физические лица - индивидуальные предприниматели
И СтрДлина(СтрокаДокумента.ПлательщикИНН) = 12 И СтрДлина(СтрокаДокумента.ПолучательИНН) = 12
И СтрокаДокумента.ПлательщикИНН = СтрокаДокумента.ПолучательИНН Тогда// это поступление личных средства ИП на ведение предпринимательской деятельности
В общем модуле "ЗагрузкаВыпискиПоБанковскомуСчету" есть функция
Нужно закоментировать третье условие (Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации)) и грузиться будет как до обновления
Функция ЭтоНезавершенныеРасчетыЧерезТерминал(Операция)
Возврат БанковскиеПравила.ЭтоСчетНезавершенныхРасчетов3023Актив(Операция.БалансовыйСчет)
И (БанковскиеПравила.ЭтоБанковскийОрдер(Операция.ШифрОперации)
Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации));
КонецФункции
Нужно закоментировать третье условие (Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации)) и грузиться будет как до обновления
Попробуйте открыть переданный из банка файл и посмотреть, что стоит в его данных?
Есть ли там строчка с названием «Вид операции»? что там заполнено?
1С получает файл от Банка и построчно считывает из него информацию.
В выпущеном релиз 3.0.43.101 типовой конфигурации "Бухгалтерия предприятия", ред. 3.0
Изменен: ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету
Есть ли там строчка с названием «Вид операции»? что там заполнено?
1С получает файл от Банка и построчно считывает из него информацию.
В выпущеном релиз 3.0.43.101 типовой конфигурации "Бухгалтерия предприятия", ред. 3.0
Изменен: ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету
Причина этому стало изменение одной функции в модуле ЗагрузкаВыпискиПоБанковскомуСчету
Раньше было так
Теперь стало так
В первом случае функция возвращала значение ЛОЖЬ, а во втором случае и за добавленного кода
БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации)
стало возвращать ИСТИНА, что повлияло на правильность определения вида операций.
Конечно можно просто вернуть старый код и проблема будет решена, но лучше уточнить в ТП эти нововведения со стороны 1С верные или это все таки ошибка с их стороны?
Раньше было так
Функция ЭтоБанковскийОрдерНезавершенныхРасчетовАктив(Операция)
Возврат БанковскиеПравила.ЭтоСчетНезавершенныхРасчетов3023Актив(Операция.БалансовыйСчет)
И БанковскиеПравила.ЭтоБанковскийОрдер(Операция.ШифрОперации);
КонецФункции
Теперь стало так
Функция ЭтоНезавершенныеРасчетыЧерезТерминал(Операция)
Возврат БанковскиеПравила.ЭтоСчетНезавершенныхРасчетов3023Актив(Операция.БалансовыйСчет)
И (БанковскиеПравила.ЭтоБанковскийОрдер(Операция.ШифрОперации)
Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации));
КонецФункции
В первом случае функция возвращала значение ЛОЖЬ, а во втором случае и за добавленного кода
БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации)
стало возвращать ИСТИНА, что повлияло на правильность определения вида операций.
Конечно можно просто вернуть старый код и проблема будет решена, но лучше уточнить в ТП эти нововведения со стороны 1С верные или это все таки ошибка с их стороны?
У нас так с инкассацией проблема возникла, присваивалась документам вместо поступления по карте.
Как вариант, добавьте расширение "исправление" и добавьте туда из основной конфы общий модуль "ЗагрузкаВыпискиПоБанковскомуСчету"
Как вариант, добавьте расширение "исправление" и добавьте туда из основной конфы общий модуль "ЗагрузкаВыпискиПоБанковскомуСчету"
&ИзменениеИКонтроль("ЭтоНезавершенныеРасчетыЧерезТерминал")
Функция Расш1_ЭтоНезавершенныеРасчетыЧерезТерминал(Операция)
Возврат БанковскиеПравила.ЭтоСчетНезавершенныхРасчетов3023Актив(Операция.БалансовыйСчет)
И (БанковскиеПравила.ЭтоБанковскийОрдер(Операция.ШифрОперации)
#Удаление
Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации));
#КонецУдаления
#Вставка
);
#КонецВставки
КонецФункции
Показать
(27) Да, он указывается при создании расширения конфигурации. И автоматически подставляется системой, которую мы переносим в расширение. Мы, можно сказать "заменяем" функцию из основной конфигурации на функцию из расширения.
Покажи скриншот как сделал. возможно ты не перенёс а создал новый модуль в расширении.
Покажи скриншот как сделал. возможно ты не перенёс а создал новый модуль в расширении.
Добрый день! У нас такая же проблема после обновления в начале августа, операции по эквайрингу при выгрузке из банка вид операции ставит "Взнос наличными". Программист сделал запрос в 1С, получил такой же ответ : заполните договор, а решать проблему никто не хочет. Я ему объясняю что выгрузка из банка показывает все правильно, а в 1С заносит что попало. Вид операции "Поступление по платежным картам" потом выбираем вручную. Обновления никаких результатов не дает. Сижу ругаюсь на , веду переписку с 1С , ругаюсь с программистами, а толку никакого.
Помогло.
СПАСИБО!!!!
Сделал так:
СПАСИБО!!!!
Сделал так:
Функция ЭтоНезавершенныеРасчетыЧерезТерминал(Операция)
Возврат БанковскиеПравила.ЭтоСчетНезавершенныхРасчетов3023Актив(Операция.БалансовыйСчет)
И (БанковскиеПравила.ЭтоБанковскийОрдер(Операция.ШифрОперации));
\\ Или БанковскиеПравила.ЭтоПлатежноеПоручение(Операция.ШифрОперации));
КонецФункции
Решила эту проблему. При загрузке выписки формируется протокол загрузки, по которому видно, какие поля обработка "не распознает". Там и надо копать. Если "не видит" контрагента, значит, вероятнее всего он не заведен, или заведен неправильно, если договор или счет, значит тоже проверить нужно с фактическим платежом через банк-клиент и привести в соответствие. После этого вид операции подгружается верный. В моем случае плюс ко всему, не была настроена интеграция с 1С в личном кабинете банк-клиента (у Тинькофф банка). И не был заведен контрагент (местное обособленное подразделение Сбербанка). Межбанковские платежи - это как раз тот эквайринг, который идет транзитом через другие банки, и каждый из таких банков нужно прогрузить (или завести).
Для пущей проверки даже настроила директ банк, плюс стоит проверить настройки обмена с банком. Находятся в журнале банковских выписок - правый верхний угол, меню "Еще". Поставить применяемую вашим банком систему клиент-банка. ИМХО
Для пущей проверки даже настроила директ банк, плюс стоит проверить настройки обмена с банком. Находятся в журнале банковских выписок - правый верхний угол, меню "Еще". Поставить применяемую вашим банком систему клиент-банка. ИМХО
столкнулся с этим же, но не стал пилить обработки итд просто проанализировав понял:
В справочнике "виды оплат" было указано Сбербанк ....(кпп 6671****) с видом "платежная карта"
а в базе был дубль сбера Сбербанк ... (Кпп 7203****), так вот я открыл выписку в текстовом формате и глянул, что там фигурирует 7203, то есть просто в настройке "виды оплат" выбрал нужный банк.
Итог: эквайринг был настроен на другого контрагента. Сейчас открыл другие база и так во многих
В справочнике "виды оплат" было указано Сбербанк ....(кпп 6671****) с видом "платежная карта"
а в базе был дубль сбера Сбербанк ... (Кпп 7203****), так вот я открыл выписку в текстовом формате и глянул, что там фигурирует 7203, то есть просто в настройке "виды оплат" выбрал нужный банк.
Итог: эквайринг был настроен на другого контрагента. Сейчас открыл другие база и так во многих
БП релиз 3.0.147.30. Загружаются документы выписки из банка Сбер - не правильный заполняется вид операции Инкассация правильно Взнос наличными из кассы.
Анализ и решение:
Общий модуль ЗагрузкаВыпискиПоБанковскомуСчету - Функция ОсновнойВидОперацииПредопределенногоПравила - ПоступилоСписано = "Поступило", условие проверки использования инкассации, если нет, то заполняется вид операции ВзносНаличными
Константа ИспользоватьИнкассацию - изменение с Истина на Ложь
Анализ и решение:
Общий модуль ЗагрузкаВыпискиПоБанковскомуСчету - Функция ОсновнойВидОперацииПредопределенногоПравила - ПоступилоСписано = "Поступило", условие проверки использования инкассации, если нет, то заполняется вид операции ВзносНаличными
Константа ИспользоватьИнкассацию - изменение с Истина на Ложь
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот