Какую кодировку ставить в клиент-банке, чтобы 1С прочитала выписку без кракозябр
Содержание
Для загрузки выписки в 1С выбирайте кодировку Windows (кодовая страница 1251). Это вариант по умолчанию для формата обмена 1CClientBankExchange. Второй допустимый вариант — DOS (866). UTF-8 стандарт обмена с клиент-банком не предусматривает, и именно файлы в UTF-8 чаще всего дают кракозябры или сообщение Не удалось прочитать файл. Возможно, неверно указана кодировка.
Главное правило одно: кодировка в настройках клиент-банка, в первой строке файла и в настройках обмена в 1С должна совпадать. Если хотя бы одно звено отличается, 1С 8.3 либо не загрузит выписку, либо загрузит её с нечитаемыми наименованиями и назначениями платежа.
Откуда берутся кракозябры при загрузке выписки в 1С
Текстовый файл — это набор байтов. Одна и та же русская буква в разных кодировках записана разными байтами. Программа, которая читает файл, должна заранее знать, по какой таблице их расшифровывать.
Формат 1CClientBankExchange хранит эту подсказку прямо в файле, в служебной строке Кодировка=. 1С сверяет её со своей настройкой и читает файл по выбранной таблице. Проблемы начинаются в трёх ситуациях:
- 🔀 Клиент-банк сохраняет в одной кодировке, а 1С ждёт другую. Например, банк отдаёт DOS, а в 1С стоит Windows.
- 🧾 В заголовке файла написано одно, а байты — в другой кодировке. Так бывает, когда файл пересохранили в редакторе или его сформировал сторонний сервис.
- 🌐 Банк выгружает выписку в UTF-8. Многие интернет-банки по умолчанию сохраняют текст в UTF-8, а 1С читает такой файл по таблице 1251.
- ✂️ Файл повреждён при передаче. Почтовый клиент или мессенджер перекодировал вложение, архиватор с неверной кодовой страницей испортил имя или содержимое.
По виду кракозябр можно угадать, что произошло. Последовательности вида Счет — это UTF-8, прочитанный как Windows-1251. Символы псевдографики вроде ‘зҐв — DOS, прочитанный как Windows. Знаки вопроса ???? значат, что русские буквы потеряны при сохранении и восстановить их из этого файла нельзя.
Форматы выписок и кодировки, которые понимает 1С 8.3
Типовые конфигурации на 8.3 работают с банком двумя способами. От способа зависит, нужно ли вообще думать о кодировке.
Файл обмена 1CClientBankExchange
Это текстовый файл, чаще всего с именем kl_to_1c.txt (выписка из банка) и 1c_to_kl.txt (платёжки в банк). Файл начинается со строки 1CClientBankExchange, а дальше идут служебные поля:
1CClientBankExchange
ВерсияФормата=1.03
Кодировка=Windows
Отправитель=Бухгалтерия предприятия
Получатель=
ДатаСоздания=15.10.2026
В поле Кодировка допустимы два значения:
| Значение в файле | Кодовая страница | Где встречается |
|---|---|---|
Windows | 1251 (ANSI для русской Windows) | Почти все современные клиент-банки и интернет-банки |
DOS | 866 (OEM) | Старые программы банк-клиента, отдельные выгрузки из учётных систем |
Значения UTF-8 в этом поле стандарт не знает. Поэтому вопрос «UTF-8 или Windows-1251» для файлового обмена решается однозначно — Windows-1251.
Прямой обмен с банком (DirectBank)
При прямом обмене 1С сама связывается с сервером банка, без промежуточного файла. Документы ходят в формате XML, и кодировку задаёт протокол обмена. Пользователь её не выбирает и в настройках не увидит.
Выгрузки в других форматах
Некоторые интернет-банки предлагают несколько вариантов экспорта: «для 1С», Excel, PDF, собственный текстовый формат банка. Загрузить в типовую 1С обработкой «Клиент-Банк» можно только вариант «для 1С» (он же 1CClientBankExchange). Excel и PDF пригодны для просмотра и сверки, но не для загрузки.
Как выставить кодировку в 1С и в клиент-банке
Настройка делается с двух сторон. Начните с 1С, затем проверьте банк.
В 1С:Бухгалтерии 3.0
- Откройте
Банк и касса → Банковские выписки. - Нажмите кнопку загрузки выписки из файла. Откроется форма обмена с банком.
- Откройте настройки обмена для вашего банковского счёта (кнопка с шестерёнкой или команда настройки в форме обмена).
- Найдите поле кодировки и выберите
Windows, если банк не требует иного. - Проверьте путь к файлу выписки — он должен указывать на свежий файл, а не на прошлогодний в той же папке.
- Сохраните настройку и повторите загрузку.
Настройка хранится для каждого банковского счёта отдельно. Если у организации два счёта в разных банках, кодировку придётся выставить в каждой настройке.
В той же форме задаётся и путь к файлу для выгрузки платёжек в банк. Кодировка там общая для обоих направлений. Если сменили её ради выписки, проверьте, что банк по-прежнему принимает платёжные поручения из 1С.
В других конфигурациях на 8.3
В УТ 11, КА 2 и ERP обмен с банком тоже вызывается из списка банковских выписок раздела казначейства. Сам механизм тот же: в настройках обмена для банковского счёта есть выбор кодировки Windows или DOS. Отличаются только названия разделов верхнего меню.
В клиент-банке или интернет-банке
Ищите раздел экспорта выписки или настроек обмена с бухгалтерскими программами. Что проверить:
- 📤 формат экспорта — «1С:Предприятие», «1С 8» или «1CClientBankExchange»;
- 🔤 кодировка — Windows (CP1251), если есть выбор;
- 🗂 версия формата — подойдёт 1.02 или 1.03, актуальные релизы 1С читают обе.
Если интернет-банк не даёт выбрать кодировку, а файл приходит в UTF-8 — пишите в поддержку банка. Обычно у них есть переключатель на стороне сервера или отдельный вариант выгрузки «для 1С».
Если 1С пишет, что не удалось прочитать файл и возможно неверно указана кодировка
Сообщение Не удалось прочитать файл. Возможно, неверно указана кодировка 1С 8.3 выдаёт, когда содержимое файла не совпадает с ожидаемой таблицей символов. Решайте по порядку, от простого к сложному.
Шаг 1. Переключите кодировку в 1С
Самый быстрый тест. Поменяйте в настройках обмена Windows на DOS (или наоборот) и загрузите файл ещё раз. Если выписка прочиталась — оставьте рабочий вариант и поправьте ту же настройку в банке, чтобы не путаться.
Шаг 2. Узнайте реальную кодировку файла
Откройте файл в «Блокноте» Windows 10 или 11. В правом нижнем углу строки состояния видно кодировку: ANSI, UTF-8 или UTF-8 с BOM. ANSI на русской Windows — это 1251.
Затем посмотрите первые строки. Значение Кодировка= должно совпадать с тем, что показал «Блокнот»:
ANSI+Кодировка=Windows— всё правильно;UTF-8+Кодировка=Windows— файл надо перекодировать;- псевдографика вместо русских букв в «Блокноте» — файл, скорее всего, в DOS.
Шаг 3. Перекодируйте файл в Windows-1251
Работайте с копией файла, исходник от банка не трогайте. Он пригодится, если что-то пойдёт не так.
Вариант через «Блокнот»: Файл → Сохранить как, внизу окна в списке «Кодировка» выберите ANSI, сохраните под новым именем.
Вариант через Notepad++: меню Кодировки → Преобразовать в ANSI, затем сохранить. Пункт именно «Преобразовать», а не «Кодировать в» — второй меняет только способ отображения, а не байты.
Вариант через PowerShell — удобно, если файлов много:
$src = 'C:\Bank\kl_to_1c.txt'
$dst = 'C:\Bank\kl_to_1c_1251.txt'
$text = Get-Content -Path $src -Encoding UTF8 -Raw
[System.IO.File]::WriteAllText($dst, $text, [System.Text.Encoding]::GetEncoding(1251))
На Linux то же делает iconv:
iconv -f UTF-8 -t CP1251 kl_to_1c.txt > kl_to_1c_1251.txt
После перекодировки убедитесь, что в заголовке стоит Кодировка=Windows, и загружайте новый файл.
Шаг 4. Проверьте, что файл вообще в формате 1С
Если первая строка не 1CClientBankExchange, перекодировка не поможет. Это выгрузка в другом формате: CSV, выписка для просмотра, файл другой программы. Нужно заново выгрузить из банка вариант «для 1С».
Кракозябры при прямом обмене с банком
При DirectBank файла нет, и выбрать кодировку негде. Если выписка пришла с нечитаемыми строками, причина почти всегда не в настройке пользователя:
- 🔄 Устаревший релиз конфигурации. Банки обновляют формат обмена, и старый релиз может неверно разбирать новые поля. Обновите конфигурацию до актуального релиза.
- 🏦 Сбой на стороне банка. Запросите ту же выписку файлом «для 1С» из интернет-банка. Если в файле всё читается, а через DirectBank нет — пишите в поддержку банка, приложив пример.
- 📝 Кракозябры только в одном поле. Например, только в назначении платежа от конкретного плательщика. Так плательщик отправил данные — это видно и в интернет-банке. Исправлять нечего, разнесите платёж вручную.
Чтобы не гадать, откройте эту же выписку в интернет-банке. Совпадает испорченный текст — проблема в исходных данных. В банке всё чисто, а в 1С нет — проблема в обмене.
Кодировка файла платёжек, который 1С выгружает в банк
Обратное направление ломается так же. 1С формирует файл 1c_to_kl.txt в той кодировке, что указана в настройке обмена, и пишет её в заголовок. Если банк ждёт Windows, а получил DOS, он либо отклонит файл целиком, либо примет платёжки с нечитаемым назначением платежа.
Что сделать, если банк ругается на файл из 1С:
- Откройте выгруженный файл в «Блокноте» и посмотрите строку
Кодировка=и кодировку в строке состояния. - Сверьте их с требованием банка — обычно оно указано в справке интернет-банка в разделе импорта платёжных поручений.
- Поменяйте кодировку в настройке обмена для этого банковского счёта и выгрузите платёжки заново.
Не правьте выгруженный файл платёжек вручную перед отправкой в банк. Ошибка в одной цифре реквизита уводит деньги не тому получателю, а в журнале 1С останется прежний текст платёжки.
Сводная таблица: формат, кодировка, что делать
| Что у вас | Кодировка | Настройка в 1С | Действие при кракозябрах |
|---|---|---|---|
| Клиент-банк с выгрузкой «для 1С» | Windows-1251 | Windows | Сверить настройку банка и 1С |
| Старый банк-клиент под DOS | CP866 | DOS | Переключить кодировку в 1С |
| Интернет-банк отдаёт UTF-8 | UTF-8 | Windows после перекодировки | Перекодировать копию в ANSI или попросить банк сменить выгрузку |
| UTF-8 с BOM | UTF-8 | Windows после перекодировки | Как выше; BOM уйдёт при сохранении в ANSI |
| Прямой обмен DirectBank | задаёт протокол | не настраивается | Обновить релиз, обратиться в банк |
| Выгрузка Excel, PDF, CSV | любая | не загружается | Выгрузить файл в формате «для 1С» |
Ошибки, из-за которых проблема возвращается
Кодировку исправили, а через неделю кракозябры снова. Обычно виновато одно из этого:
- Файл пересылают по почте или в мессенджере. Часть программ перекодирует текстовые вложения. Передавайте выписку в ZIP-архиве или кладите в общую папку.
- Файл открывают и сохраняют в редакторе «для проверки». Редактор может молча сохранить его в UTF-8. Смотреть можно, сохранять — нет.
- Банк обновил интернет-банк. После обновления настройки экспорта иногда сбрасываются на значения по умолчанию. Проверьте кодировку экспорта заново.
- Перекодировали уже перекодированный файл. Двойное преобразование превращает текст в мусор. Всегда начинайте с исходного файла банка.
- Несколько счетов — одна настройка. Исправили кодировку для одного банковского счёта, а выписку грузите по другому. Настройка обмена у каждого счёта своя.