При работе в программе 1С:Предприятие 8.3 Бухгалтерия государственного учреждения, редакция 2.0 бухгалтеры часто сталкиваются с ситуацией, когда при формировании ведомости на выплату физическим лицам система отказывается выгружать файл для банка. Причиной становится отсутствие отчества у одного или нескольких контрагентов. Это особенно актуально при расчетах с иностранными гражданами или лицами, чьи документы, удостоверяющие личность, не содержат отчества.
Проблема заключается в том, что формат обмена данными с банком (обычно это XML-файл или текстовый реестр) содержит жесткие правила валидации, где поле Отчество помечено как обязательное. Рассмотрим подробнее, как обойти эту ошибку и успешно отправить реестр в банк.
Проанализируем самый простой способ, который часто помогает «обмануть» систему валидации, не внося изменений в код программы. Если программа требует заполнения поля, мы можем заполнить его символом, который визуально незаметен, но для системы считается данными.
Контрагенты или Физические лица.Отчество попробуем ввести «неразрывный пробел». Для этого зажмите клавишу Alt и на цифровой клавиатуре (справа) введите комбинацию 255.Важно: Обычный пробел (нажатие клавиши Space) система 1С часто игнорирует при выгрузке, считая строку пустой. Именно Alt+255 создает символ, который воспринимается парсерами как значащий, что позволяет пройти проверку ПустаяСтрока().
Если реестр большой и из-за одного человека блокируется вся выплата, разберем методику временного изменения данных. Этот способ подходит, если банк лояльно относится к структуре файла, но 1С блокирует выгрузку на этапе формирования.
Выгрузить данные в файл.<Patronymic></Patronymic> или отсутствие тега вообще).Этот метод позволяет обойти внутреннюю проверку 1С, передав банку корректный файл без лишних данных.
Выясним причину, почему ведомость (реестр) выдает ошибку, а индивидуальный платеж — нет. В пакетных реестрах на выплату зарплаты или прочих перечислений контроль полей ФИО значительно строже, так как банк обрабатывает их автоматически. Для единичных случаев эффективнее использовать другой механизм.
Рассмотрим порядок действий:
Платежное поручение.Получатель выберем нашего контрагента. В назначении платежа укажем все необходимые реквизиты.Директ-Банк или файл обмена, контроль наличия отчества обычно менее жесткий, так как данные передаются в поле «Получатель» одной строкой, а не разбиваются на Фамилию, Имя и Отчество.Проанализируем ситуацию, если выгрузка типовая, но формат банка устарел. В 1С:БГУ 2.0 настройки обмена хранятся в специальных справочниках. Посмотрим на алгоритм проверки:
Если вы обладаете правами администратора или программиста, можно найти текст ошибки в конфигураторе. Скорее всего, в модуле обработки выгрузки присутствует подобная проверка:
Если ПустаяСтрока(СведенияОПолучателе.Отчество) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не указано отчество у контрагента!");
Отказ = Истина;
КонецЕсли;
Для решения проблемы на системном уровне необходимо:
Настройки обмена с банками.Patronymic.Согласно ГК РФ ст. 19, гражданин приобретает и осуществляет права и обязанности под своим именем, включающим фамилию и собственно имя, а также отчество, если иное не вытекает из закона или национального обычая. Если у иностранного гражданина в паспорте нет отчества, банк обязан принять платеж.
Рекомендуем выполнить следующие шаги для долгосрочного решения:
Мы разобрали несколько вариантов решения проблемы. Самым быстрым и рабочим «здесь и сейчас» является использование неразрывного пробела (Alt+255) или ручная правка файла. Однако для корректного ведения учета в будущем лучше согласовать с банком формат передачи таких данных или использовать индивидуальные платежные поручения, которые проходят банковские фильтры гораздо проще, чем реестры.