Справочники и Данные · 11 мин
Чем открыть DBF файл из 1С: подробная инструкция
Как открыть DBF файл из 1С: штатные средства платформы, Excel, LibreOffice, специальные просмотрщики. Кодировки, ошибки, восстановление и конвертация DBF.
Формат DBF остаётся одним из самых распространённых способов обмена данными с 1С: в нём выгружаются прайсы поставщиков, выписки из старых конфигураций, справочники номенклатуры и данные из сторонних учётных систем. При этом двойной клик по такому файлу часто заканчивается вопросом — Windows не знает, какой программой его открыть, а Excel показывает «кракозябры» вместо русского текста.
Проблема в том, что DBF — это не офисный документ, а файл базы данных с табличной структурой и собственной кодировкой. Файлы, созданные 1С, обычно используют кодировку Windows-1251 или CP866 (DOS), и программа-просмотрщик должна уметь её определять. Ниже разобраны рабочие способы: от штатных средств самой 1С до бесплатных утилит, с указанием ограничений каждого варианта.
Что такое DBF и почему его сложно открыть
DBF (DataBase File) — формат табличных файлов, уходящий корнями к СУБД dBase. Каждый файл содержит одну таблицу: заголовок с описанием полей (имя, тип, длина) и записи фиксированной длины. 1С:Предприятие 7.7 хранило в DBF собственные данные, а 1С 8.x использует формат в основном для обмена: выгрузок, загрузок, интеграций с банк-клиентами и торговым оборудованием.
У формата есть особенности, которые мешают «просто открыть» файл. Во-первых, кодировка текста не всегда записана в заголовке, поэтому программа может неверно интерпретировать русские буквы. Во-вторых, рядом с основным файлом могут лежать служебные файлы — например, индексы CDX/MDX или файл memo-полей DBT/FPT, без которых часть данных не прочитается. В-третьих, стандартный DBF ограничивает длину имён полей 10 символами, из-за чего названия колонок выглядят обрезанными — это норма формата, а не повреждение.
Способ 1. Открыть DBF средствами самой 1С
Если файл нужно не просто посмотреть, а загрузить в базу, надёжнее всего работать через 1С. В типовых конфигурациях (например, «Управление торговлей», «Бухгалтерия») есть универсальные обработки загрузки табличных данных, которые принимают DBF. Путь обычно выглядит так: раздел «НСИ и администрирование» или «Покупки» → обработка загрузки данных → указание файла → сопоставление колонок полям справочника.
Для нетиповых задач используется объект XBase во встроенном языке. Он позволяет открыть файл, перебрать записи, прочитать значения полей и записать их в справочники или документы. Это стандартный механизм платформы, он не требует внешних компонентов и корректно работает с кодировками, если указать её явно.
ДБФ = Новый XBase;
ДБФ.Кодировка = КодировкаXBase.ANSI;
ДБФ.ОткрытьФайл("C:\Обмен\price.dbf");
Пока ДБФ.Следующая() Цикл
Сообщить(ДБФ.NAME + " — " + ДБФ.PRICE);
КонецЦикла;
ДБФ.ЗакрытьФайл();Если при чтении русский текст превращается в нечитаемые символы, смените кодировку: вместо ANSI укажите OEM (это CP866, характерна для старых выгрузок из 1С 7.7 и DOS-программ). Проверить правильность проще всего на одном известном значении — например, на названии товара, которое точно есть в файле.
Способ 2. Открыть DBF в Excel
Microsoft Excel умеет открывать DBF напрямую: «Файл → Открыть», в фильтре типов выбрать «Все файлы» или «Файлы dBASE». Современные версии Excel при этом могут не спросить кодировку и показать русский текст с ошибками. В этом случае надёжнее открывать файл через мастер импорта: «Данные → Получить данные → Из файла», либо сначала переименовать копию файла и открыть её как текстовый источник с явным указанием кодировки 1251 (Кириллица Windows).
Важное ограничение: Excel при сохранении обратно в DBF может потерять типы полей, обрезать длинные строки и изменить структуру. Поэтому правило простое — Excel годится для просмотра и анализа, но не для редактирования файла, который потом вернётся в 1С или другую учётную систему. Перед любыми экспериментами сделайте копию исходника.
Способ 3. LibreOffice Calc и специальные просмотрщики
Бесплатный LibreOffice Calc открывает DBF штатно и при открытии предлагает выбрать кодировку — это самый быстрый способ посмотреть файл без 1С. Если текст отображается неверно, закройте файл без сохранения и откройте заново, выбрав другую кодировку: Cyrillic Windows (1251) или Cyrillic DOS/OS2 (866).
Для регулярной работы удобнее специализированные утилиты класса DBF Viewer: они показывают структуру полей, умеют фильтровать записи, конвертировать в CSV/XLSX и восстанавливать повреждённые заголовки. При выборе такой программы скачивайте её только с официального сайта разработчика — бесплатные просмотрщики с «софтовых сборников» нередко содержат рекламные модули.
Сравнение инструментов
Когда данные нужно загрузить в базу или выгрузить из неё. Требует доступа к конфигурации, зато сохраняет структуру и кодировку.
Быстрый просмотр и анализ. Риск порчи кодировки при открытии и потери структуры при сохранении.
Бесплатный просмотр с выбором кодировки. Не подходит для записи изменений обратно в учётную систему.
Просмотр структуры, фильтрация, конвертация, работа с большими файлами. Требует установки сторонней программы.
Как определить кодировку и исправить «кракозябры»
Подавляющее большинство проблем с открытием DBF из 1С — это неверная кодировка. Признак простой: вместо русских букв видны символы вроде «РўРѕРІР°СЂ» (файл в UTF-8 прочитан как 1251), «Џа®ўар» или наборы латиницы с умляутами (CP866 прочитана как 1251).
Порядок действий: откройте файл в программе, которая позволяет явно выбрать кодировку (LibreOffice, DBF Viewer, XBase в 1С), и последовательно переберите три варианта — Windows-1251, CP866 (OEM), UTF-8. Правильный вариант определяется по читаемости любого заведомо русского значения. Менять кодировку нужно при открытии, а не перекодировать файл «вслепую» конвертерами: повторное перекодирование необратимо портит данные.
- 1Сделайте копию DBF-файла и работайте только с ней
- 2Откройте файл в LibreOffice Calc или DBF Viewer
- 3При запросе кодировки выберите Cyrillic Windows (1251)
- 4Если текст нечитаем — закройте без сохранения и откройте снова с Cyrillic DOS (866)
- 5Проверьте читаемость на известном значении из файла
- 6Запомните подошедшую кодировку и указывайте её при загрузке в 1С
Файл не открывается: повреждение и смежные проблемы
Если программы сообщают «не является файлом DBF» или показывают пустую таблицу, возможны несколько причин. Файл может быть обрезан при копировании из почты или архива — проверьте его размер и сравните с исходным, если есть возможность. Заголовок мог повредиться при аварийной записи: тогда помогут утилиты восстановления DBF или чтение через XBase с игнорированием ошибок структуры.
Отдельный случай — когда DBF является частью многотабличного набора (например, выгрузка из 1С 7.7 с индексами и memo-файлами). Убедитесь, что рядом лежат сопутствующие файлы с тем же именем: CDX, MDX, DBT, FPT. Отсутствие memo-файла даёт пустые значения в длинных текстовых полях, хотя сама таблица открывается нормально.
Как проверить результат
Русские названия отображаются корректно
Символы-«кракозябры» — неверная кодировка
Число строк совпадает с ожидаемым объёмом выгрузки
Записей заметно меньше — файл обрезан или повреждён
Числа — числами, даты — датами
Всё стало текстом — структура потеряна при пересохранении
Поля с описаниями заполнены
Поля пустые — отсутствует memo-файл (DBT/FPT)
Конвертация DBF в другие форматы
Если DBF нужен только как источник для анализа, удобно один раз конвертировать его в XLSX или CSV и дальше работать в привычном инструменте. LibreOffice Calc сохраняет открытый DBF в оба формата, DBF-просмотрщики обычно имеют функцию экспорта, а 1С через XBase позволяет выгрузить данные в табличный документ и сохранить его в Excel.
При конвертации в CSV обязательно сохраняйте файл в кодировке UTF-8 — так его без проблем откроют и Excel, и веб-сервисы. Учтите, что CSV не хранит типы данных: даты и числа с ведущими нулями (например, коды и артикулы) при повторном открытии могут отобразиться неверно, поэтому для загрузки обратно в 1С лучше использовать XLSX или исходный DBF.
Как выбрать действие
Что важно запомнить
DBF из 1С открывается самой 1С (XBase, обработки загрузки), LibreOffice Calc, Excel и DBF-просмотрщиками. Главная причина проблем — кодировка: перебирайте 1251 и 866 при открытии. Работайте только с копией файла и не сохраняйте DBF из офисных программ поверх оригинала, если он вернётся в учётную систему.
Частые вопросы
Почему Excel показывает иероглифы вместо русского текста в DBF?
Excel не всегда запрашивает кодировку при открытии DBF и применяет системную по умолчанию. Откройте файл через импорт данных с явным указанием кодировки 1251 (Кириллица Windows) или используйте LibreOffice Calc, где выбор кодировки предлагается при каждом открытии.
Можно ли открыть DBF без установки программ?
Существуют онлайн-просмотрщики DBF, но загружать в них учётные данные (прайсы, контрагентов, персональные данные) небезопасно — файл уходит на чужой сервер. Для конфиденциальных выгрузок используйте локальные инструменты: LibreOffice, 1С или десктопный просмотрщик.
Чем отличаются кодировки ANSI и OEM при чтении DBF в 1С?
ANSI соответствует Windows-1251 — её используют выгрузки из Windows-программ и 1С 8.x. OEM — это CP866, кодировка DOS, характерная для файлов из 1С 7.7 и старых DOS-приложений. Если при ANSI текст нечитаем, переключитесь на OEM.
Рядом с DBF лежат файлы CDX, DBT, FPT — они нужны?
Да, это связанные файлы: CDX/MDX — индексы, DBT/FPT — содержимое memo-полей (длинных текстов). Копируйте и храните их вместе с основным DBF. Без memo-файла таблица откроется, но длинные текстовые поля будут пустыми.
Как загрузить DBF-прайс поставщика в 1С?
В типовых конфигурациях есть обработки загрузки данных из табличных файлов: укажите DBF-файл, сопоставьте его колонки полям справочника номенклатуры и выполните загрузку. Если колонки не совпадают по именам из-за ограничения в 10 символов, сопоставляйте их вручную по содержимому.
Файл открывается, но записей меньше, чем должно быть. Что делать?
Скорее всего, файл обрезан при копировании или выгрузка завершилась с ошибкой. Проверьте размер файла, запросите выгрузку повторно и убедитесь, что копирование завершилось полностью. Если исходник недоступен, попробуйте утилиты восстановления DBF на копии файла.