Работа с файлами в 1С:Предприятие — неотъемлемая часть многих бизнес-процессов: от загрузки прайсов до выгрузки отчетности. Однако даже опытные пользователи иногда сталкиваются с проблемами, когда система не распознает файл из-за неправильно указанного формата. Ошибки в расширениях (.xlsx вместо .xls) или неверный тип данных в коде могут привести к сбоям обмена, потере времени на поиск причины и даже к искажению информации.

В этой статье разберем, как корректно указывать форматы файлов в разных сценариях работы с 1С 8.3 и 8.2: от ручного импорта через интерфейс до программной обработки в модулях. Особое внимание уделим типичным ошибкам, которые допускают пользователи и разработчики, а также нюансам работы с популярными форматами — Excel, XML, JSON и другими.

Материал будет полезен как бухгалтерам и кадровикам, которые ежедневно работают с выгрузками, так и программистам , пишущим обработки для интеграции с внешними системами. Все примеры актуальны для последних версий платформы, но мы также отметим особенности для устаревших релизов.

Почему важно правильно указывать формат файла в 1С

Несоответствие между реальным форматом файла и тем, что указано в коде или интерфейсе , может привести к следующим проблемам:

  • 🔴 Ошибки при загрузке: система выдает сообщение «Неверный формат файла» или «Файл поврежден», хотя на самом деле проблема в расширении.
  • 📉 Потеря данных: при неверном указании типа (например, CSV вместо XLSX) числа могут преобразовываться в текст, даты — сбиваться, а формулы — пропадать.
  • ⚙️ Сбои в обмене: если формат не совпадает с ожидаемым в конфигурации обмена (например, CommerceML вместо EnterpriseData), интеграция с сайтом или ERP-системой прервется.
  • Замедление работы: может пытаться обработать файл неоптимальным способом (например, TXT как DBF), что увеличивает время выполнения операций.

Особенно критично правильно указывать форматы при автоматическом обмене — например, при выгрузке данных в ФНС, ПФР или банки. Ошибка в расширении может привести к отказу в приеме отчетности, штрафам или необходимости переделывать выгрузку.

📊 Как часто вы сталкиваетесь с ошибками форматов файлов в 1С?
Постоянно
Иногда
Рядом
Никогда

Стандартные форматы файлов в 1С и их расширения

Платформа 1С:Предприятие поддерживает работу с десятками форматов, но наиболее востребованы следующие:

Категория Формат Расширение Типичное использование
Табличные данные Excel (бинарный) .xls Устаревший формат для обмена прайсами, отчетами
Табличные данные Excel (Open XML) .xlsx, .xlsm Современный формат для выгрузки/загрузки данных
Текстовые данные CSV .csv Обмен с веб-сервисами, банками, CRM
XML-данные CommerceML .xml Обмен с интернет-магазинами (1С-Битрикс, Shop-Script)
Архивы ZIP .zip Пакетирование файлов для выгрузки в ГИС Меркурий, ЕГАИС

Важно понимать, что расширение файла и его реальный формат могут не совпадать. Например, файл с расширением .xlsx на самом деле может быть сохранен в формате CSV (если пользователь просто переименовал его). при загрузке ориентируется именно на внутреннюю структуру, а не на расширение.

💡

Чтобы проверить реальный формат файла, откройте его в блокноте. Если в начале видны символы PK — это ZIP-архив, если <?xmlXML, а бессмысленный набор знаков может указывать на бинарный XLS или DBF.

Как указать формат файла при ручной загрузке в 1С

При импорте файлов через интерфейс (например, в обработках «Загрузка данных из табличного документа» или «Универсальный обмен») формат обычно выбирается из выпадающего списка. Однако здесь есть несколько нюансов:

  1. Соответствие расширения и типа: Если вы выбираете тип «Excel», а файл имеет расширение .csv, система может выдавать ошибку. Всегда проверяйте, чтобы расширение совпадало с выбранным форматом.
  2. Кодировка: Для CSV и TXT важно указать правильную кодировку (обычно UTF-8 или Windows-1251). Несоответствие приведет к «кракозябрам» в данных.
  3. Версия Excel: В обработках загрузки часто есть отдельные пункты для Excel 97-2003 (.xls) и Excel 2007 и новее (.xlsx). Выбор неверного варианта может привести к потере форматирования.

Пример пути в интерфейсе для загрузки Excel-файла:

Перейдите в Файл → Открыть → Выбрать файл, затем в окне импорта укажите:

  • 📄 Тип файла: «Книга Excel (.xlsx)»
  • 📏 Лист: название листа (если не указано, берется первый)
  • 🔢 Диапазон: например, A1:D100 (если нужно ограничить область)

Убедиться, что расширение файла соответствует его содержимому|

Проверить кодировку (для CSV/TXT)|

Выбрать правильный тип файла в обработке|

Указать корректный лист и диапазон (для Excel)|

Сохранить резервную копию исходного файла

-->

Программное указание формата файла в коде 1С

В модулях формат файла указывается при работе с объектами ТабличныйДокумент, ТекстовыйДокумент, XMLЧтение/XMLЗапись и другими. Рассмотрим ключевые методы:

1. Чтение и запись Excel-файлов

Для работы с Excel используется объект ТабличныйДокумент. Пример загрузки файла с указанием формата:

ТабДок = Новый ТабличныйДокумент();

ТабДок.Прочитать("C:\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);

Допустимые значения для параметра ТипФайлаТабличногоДокумента:

  • 📊 .XLS — для старых файлов Excel 97-2003
  • 📊 .XLSX — для современных файлов
  • 📊 .ODS — для OpenDocument Spreadsheet

2. Работа с XML и JSON

Для XML формат указывается неявно — через объекты XMLЧтение и XMLЗапись. Пример:

ЧтениеXML = Новый ЧтениеXML;

ЧтениеXML.ОткрытьФайл("C:\Data.xml");

Для JSON (начиная с версии 8.3.13) используется объект ЧтениеJSON:

ЧтениеJSON = Новый ЧтениеJSON;

ЧтениеJSON.ОткрытьФайл("C:\Data.json");

Особенности работы с JSON в 1С 8.2

В версиях ниже 8.3.13 нет встроенной поддержки JSON. Для работы с этим форматом требуется подключать внешние библиотеки (например, 1C+JSON) или использовать HTTP-Сервисы для преобразования данных.

3. Экспорт и импорт в CSV/TXT

Для текстовых файлов формат указывается через параметры объекта ТекстовыйДокумент или ЗаписьТекста. Пример записи в CSV:

ЗаписьТекста = Новый ЗаписьТекста;

ЗаписьТекста.Открыть("C:\Export.csv", "UTF-8"); // Указание кодировки

ЗаписьТекста.ЗаписатьСтроку("Наименование;Цена;Количество");

💡

При работе с CSV в 1С обязательно указывайте кодировку и разделитель (точка с запятой или запятая). По умолчанию система может использовать системную кодировку, что приведет к ошибкам при обмене с внешними системами.

Типичные ошибки при указании форматов и как их избежать

Даже опытные пользователи и разработчики допускают ошибки при работе с файлами в . Вот наиболее распространенные из них:

⚠️ Внимание: Если вы работаете с файлами для государственных систем (например, ЕГАИС или Меркурий), всегда сверяйте актуальные требования к форматам на официальных ресурсах. Правила могут меняться чаще, чем обновляется документация в .

1. Путаница между XLS и XLSX

Многие пользователи считают, что .xls и .xlsx — это одно и то же. На самом деле:

  • 📉 .xls — устаревший бинарный формат (Excel 97-2003), ограничен до 65 536 строк.
  • 📈 .xlsx — современный Open XML-формат, поддерживает до 1 048 576 строк.

Если вы сохраняете большой отчет в .xls, данные могут обрезаться без предупреждения!

2. Неверная кодировка в CSV

При экспорте в CSV часто забывают указать кодировку, и файл сохраняется в ANSI (системной кодировке Windows). Это приводит к проблемам:

  • 🌍 Русские буквы отображаются как Ðайл при открытии в Excel с другой кодировкой.
  • 💥 Символы валют (€, £) или математические знаки (∑) теряются.

Решение: всегда явно указывайте кодировку UTF-8:

ЗаписьТекста.Открыть("export.csv", "UTF-8", Ложь);

3. Переименование файлов без изменения формата

Критическая ошибка: если переименовать файл из .csv в .xlsx, не конвертируя его реальный формат, 1С выдаст ошибку «Файл поврежден» или «Неверный формат». Это частая проблема при обмене с банками или контрагентами, которые присылают файлы с неверными расширениями.

Как проверить реальный формат:

  • 🔍 Откройте файл в блокноте — если видите таблицу с разделителями (; или ,), это CSV.
  • 🔍 Если файл начинается с PK — это ZIP-архив (возможно, XLSX или DOCX).

Форматы файлов для обмена с внешними системами

При интеграции с другими программами (сайтами, ERP, банками) требования к форматам могут сильно отличаться. Рассмотрим наиболее распространенные сценарии:

Система Требуемый формат Особенности
1С-Битрикс, Shop-Script .xml (CommerceML) Обязательна структура с тегами <Каталог>, <Товары>
Банки (СберБизнес, Тинькофф) .xlsx или .csv Строгие требования к названиям листов и столбцов
ЕГАИС, Меркурий .xml в ZIP-архиве Архив должен содержать файл с именем import.xml
Google Sheets .xlsx или .csv При экспорте в CSV разделитель — запятая (,)

Для CommerceML (обмен с интернет-магазинами) важно не только расширение, но и структура файла. Например, выгрузка товаров должна содержать обязательные теги:

<?xml version="1.0" encoding="windows-1251"?>

<КоммерческаяИнформация ВерсияСхемы="2.08" ДатаФормирования="2026-05-20">

<Каталог>

<Товары>

<Товар>

<Ид>123</Ид>

<Наименование>Товар 1</Наименование>

</Товар>

</Товары>

</Каталог>

</КоммерческаяИнформация>

⚠️ Внимание: При обмене с ЕГАИС или Меркурием проверяйте не только формат файла, но и его электронную подпись. Неподписанный или неправильно подписанный файл будет отклонен системой.

Как автоматизировать проверку форматов файлов

Чтобы избежать ошибок при массовой обработке файлов, можно добавить в код автоматические проверки. Вот несколько полезных приемов:

1. Проверка расширения файла

Используйте функцию Правой или СтрНайти, чтобы определить расширение:

Функция ПолучитьРасширениеФайла(ПутьКФайлу)

Если СтрНайти(ПутьКФайлу, ".") = 0 Тогда

Возврат "";

Иначе

Возврат Строка(Правой(ПутьКФайлу, СтрДлина(ПутьКФайлу) - СтрНайти(ПутьКФайлу, ".") - 1));

КонецЕсли;

КонецФункции

2. Проверка реального типа файла

Для более глубокой проверки можно читать первые байты файла (сигнатуру). Например, ZIP-файлы начинаются с PK:

Функция ЭтоZIPФайл(ПутьКФайлу)

ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу);

Если ДвоичныеДанные.Размер() > 2 Тогда

Возврат Ложь;

КонецЕсли;

Возврат Левые(ДвоичныеДанные.ПолучитьСтроку(2), 2) = "PK";

КонецФункции

3. Универсальная обработка для разных форматов

Можно создать обработку, которая автоматически определяет формат и выбирает соответствующий метод чтения:

Процедура ЗагрузитьФайл(ПутьКФайлу)

Расширение = ПолучитьРасширениеФайла(ПутьКФайлу);

Если Расширение = "xlsx" Тогда

ТабДок = Новый ТабличныйДокумент();

ТабДок.Прочитать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);

ИначеЕсли Расширение = "csv" Тогда

Текст = Новый ЧтениеТекста(ПутьКФайлу, "UTF-8");

// Обработка CSV

КонецЕсли;

КонецПроцедуры

💡

Автоматическая проверка форматов особенно полезна при обработке файлов от контрагентов, где нет гарантии, что расширение соответствует реальному содержимому.

FAQ: Частые вопросы о форматах файлов в 1С

Можно ли в 1С открыть файл .xlsb (бинарный Excel)?

Нет, платформа 1С:Предприятие не поддерживает формат .xlsb (Excel Binary Workbook). Вам нужно предварительно конвертировать его в .xlsx или .xls с помощью Excel или специализированных утилит.

Почему при загрузке CSV в 1С числа превращаются в даты?

Это происходит из-за автоматического преобразования данных. Например, значение 10-12 в CSV может быть интерпретировано как дата «10 декабря». Чтобы избежать этого:

  1. Используйте текстовый формат для ячеек с подобными данными (добавьте кавычки: "10-12").
  2. Настройте параметры импорта в обработке, отключив автоматическое определение типов.
Как загрузить в 1С файл .dbf?

Формат .dbf (база данных dBASE) поддерживается в через объект ЧтениеDBF. Пример кода:

ЧтениеDBF = Новый ЧтениеDBF;

ЧтениеDBF.ОткрытьФайл("C:\data.dbf");

Пока ЧтениеDBF.Прочитать() Цикл

Сообщить(ЧтениеDBF.Получить("ПОЛЕ1"));

КонецЦикла;

Обратите внимание, что DBF чувствителен к кодировке — часто требуется указывать CP866 или Windows-1251.

Какие форматы поддерживаются для выгрузки отчетности в ФНС?

Для сдачи отчетности через используются специализированные форматы:

  • 📄 .xml — для большинства деклараций (НДС, прибыль, НДФЛ).
  • 📄 .sig — файл электронной подписи (прикрепляется к XML).
  • 📄 .zip — архив с XML и SIG (для некоторых видов отчетности).

Точные требования зависят от вида отчетности и версии 1С:Отчетность. Всегда проверяйте актуальные инструкции на сайте nalog.ru.

Можно ли в 1С 8.2 работать с JSON?

В версии 8.2 нет встроенной поддержки JSON. Варианты решений:

  • 🔧 Использовать внешние компоненты (например, 1C+JSON или AddIn).
  • 🌐 Организовать обмен через HTTP-Сервисы, где преобразование JSON ↔ XML будет выполняться на стороне сервера.
  • 📦 Обновляться до 8.3.13+, где поддержка JSON реализована нативно.