Загружаем из клиент банка документы. До какой то даты всё грузилось отлично. А тут вместо документов поступления на РС создаёт документ списания. Никто не сталкивался с такой проблемой?
Данная проблема только по одному банку. По ВТБ. По всем остальным грузит нормально. Если я выбираю вид поступления как "Оплату от покупателя". То программа мне формирует документы "Списания с РС". А если я выбираю поступления от эквайринга. То программа формирует документы эквайринга. Но при этом документы списания от этого же банка формируются нормально. Проблема только в документах поступления.
Врядли, ошибка появилась в пятницу - до этого все было нормально
вот текст письма
"дравствуйте, при загрузке данных из файла банк-клиента происходит ошибка:
вместо документов Поступления Денежных Средств формируются документы Списания денежных средств.
Проблемы только с счетами ВТБ,
до 04.04.2014 таких ошибок не было.
Во вложении файл выгрузки и скрин ошибки.
На скрине слева в списке входящих платежей отображаются списания.
Версия платформы 1с 8.2.19.90
Конфигурация УТ 11.1.2.10
ОC Windows xp sp 3"
Сообщаем, что результате плановой доработки системы Банк-Клиент Онлайн в файл экспорта выписки было добавлено поле "Дата поступило".
Для уточнения более подробной информации о настройках загрузки файла в программу 1С рекомендуем Вам обратиться к специалистам технической поддержки данной программы.
(7) tagrbb8877,аналогичная ситуация и действительно только с банком ВТБ.
Допилил обмен с банком. Там где идет контроль поля "Поступило" добавил условие ИмяДокумента="Поступление денежных средств".
(9) Lex8880, в модуле менеджера обработки находим 12 пункт контроля. Вот его я и подрихтовал.
// 12) ДатаСписано и ДатаПоступило, ДатаПроведения
// Преобразуем в дату из строки, если не пустая.
//Если НЕ ПустаяСТрока(СтрокаДокумента.ДатаСписано) Тогда
Если НЕ ПустаяСТрока(СтрокаДокумента.ДатаСписано)и СтрокаДокумента.ИмяДокумента="Списание безналичных денежных средств" Тогда //добавил контроль по виду документа
Результат = ПолучитьДатуИзСтроки(СтрокаДокумента.Списано, СтрокаДокумента.ДатаСписано);
Если НЕ ЗначениеЗаполнено(Результат) Тогда
СтрокаДокумента.Списано = Дата("00010101");
Иначе
СтрокаДокумента.ДатаПроведения = СтрокаДокумента.Списано;
КонецЕсли;
Иначе
СтрокаДокумента.Списано = Дата("00010101");
КонецЕсли;
// Преобразуем в дату из строки, если не пустая.
//Если НЕ ПустаяСТрока(СтрокаДокумента.ДатаПоступило) Тогда
Если НЕ ПустаяСТрока(СтрокаДокумента.ДатаПоступило) и СтрокаДокумента.ИмяДокумента="Поступление безналичных денежных средств" Тогда //добавил контроль по виду документа
Результат = ПолучитьДатуИзСтроки(СтрокаДокумента.Поступило, СтрокаДокумента.ДатаПоступило);
Если НЕ ЗначениеЗаполнено(Результат) Тогда
СтрокаДокумента.Поступило = Дата("00010101");
Иначе
СтрокаДокумента.ДатаПроведения = СтрокаДокумента.Поступило;
КонецЕсли;
Иначе
СтрокаДокумента.Поступило = Дата("00010101");
КонецЕсли;
Показать
это работает естественно только для двух видов банковских выписок. Если из банка что-то еще принимается то уже надо по другому фильтр писать.
Этот текст в модуле менеджера при сохранении во внешнюю обработку он пропадает. Т.к. у внешней обработки нет такого понятия.
Я подправил вот так
Было
ИначеЕсли ЗначениеЗаполнено(СтрокаСекции.Списано) Тогда
ИмяДокумента = "СписаниеБезналичныхДенежныхСредств";
ИначеЕсли ....
Стало
ИначеЕсли ЗначениеЗаполнено(СтрокаСекции.Списано) Тогда
ИмяДокумента = "СписаниеБезналичныхДенежныхСредств";
Если ЗначениеЗаполнено(СтрокаСекции.Поступило) И (СтрокаСекции.СуммаСписано = 0) Тогда
ИмяДокумента = "ПоступлениеБезналичныхДенежныхСредств";
КонецЕсли;
ИначеЕсли ....
"Нарушен Стандарт обмена данными с программами типа "Клиент банка"
Согласно формату обмена в секции платежного документа
ДатаСписано дд.мм.гггг Указывается при списании средств с Р/С клиента банка
ДатаПоступило дд.мм.гггг Указывается при поступлении средств на Р/С клиента банка
В Вашем же файле одновременно заполняются и ДатаСписано и ДатаПоступило.
Рекомендуем Вам обратится с вопросами к банку, который предлагает файлы противоречащие формату