К статье
Практический материал

Справочники и Данные · 13 мин

Как открыть CSV-файл в 1С: все рабочие способы

Как открыть CSV-файл в 1С: стандартные механизмы, универсальные обработки, чтение через Excel и программный способ. Разбор кодировок, разделителей и ошибок.

Формат CSV — один из самых распространённых способов обмена данными между учётными системами, банковскими клиентами, сайтами и табличными редакторами. Пользователь 1С сталкивается с такими файлами при загрузке прайсов поставщиков, выгрузках из банка, номенклатуре от контрагентов и списках контактов. При этом встроенного пункта «Открыть CSV» в типовых конфигурациях 1С обычно нет, что и вызывает вопрос: как именно прочитать такой файл.

На практике существует четыре рабочих пути: открыть файл через внешнюю обработку загрузки данных, воспользоваться типовой обработкой «Загрузка данных из табличного документа», сначала открыть CSV в Excel и пересохранить в понятный 1С формат, либо прочитать файл программно средствами встроенного языка. Выбор зависит от того, нужно просто посмотреть содержимое или загрузить данные в справочники и документы.

Важно понимать: «открыть» и «загрузить» — разные задачи. Просмотр содержимого не меняет базу и безопасен, а загрузка создаёт или изменяет объекты учёта, поэтому требует резервной копии и проверки соответствия колонок полям 1С. Ниже разобраны оба сценария с конкретными шагами.

Что такое CSV и почему 1С не открывает его напрямую

CSV (Comma-Separated Values) — текстовый файл, где каждая строка соответствует записи, а значения внутри строки отделены разделителем. Чаще всего это запятая или точка с запятой, реже — табуляция. Файл не содержит форматирования, типов данных и формул: только текст. Именно поэтому CSV легко формируется любой системой и одинаково читается везде.

1С работает не с «плоским» текстом, а с объектами: справочниками, документами, регистрами. Платформа умеет читать текстовые файлы программно и умеет открывать табличные документы (MXL), но не интерпретирует CSV как самостоятельный тип данных. Поэтому для работы с ним нужен промежуточный шаг: обработка, конвертация или код.

Дополнительная сложность — отсутствие стандарта на разделитель и кодировку. Российские программы и Excel в русской локали чаще сохраняют CSV с точкой с запятой и кодировкой Windows-1251, а зарубежные сервисы — с запятой и UTF-8. Если не учесть это при открытии, данные «сольются» в одну колонку или превратятся в нечитаемые символы.

Способ 1. Открыть CSV через Excel для просмотра и подготовки

Если задача — просто посмотреть содержимое файла или подготовить его к загрузке, самый быстрый путь — открыть CSV в Excel, а затем сохранить как XLSX. Файл XLSX уже напрямую открывается в 1С как табличный документ (Файл → Открыть) и принимается типовыми обработками загрузки.

Порядок действий: откройте Excel, выберите «Файл → Открыть» и укажите CSV-файл, либо перетащите его в окно программы. Если все данные попали в один столбец, значит Excel не распознал разделитель. В этом случае используйте «Данные → Текст по столбцам» и вручную укажите разделитель — точку с запятой или запятую.

Альтернатива, дающая больше контроля: «Данные → Получить данные → Из файла → Из текстового/CSV-файла». В окне предпросмотра можно явно задать кодировку (например, 1251: Кириллица (Windows) или 65001: Юникод (UTF-8)) и разделитель ещё до загрузки данных на лист. Это самый надёжный способ открыть «проблемный» CSV.

Способ 2. Загрузка через типовую обработку «Загрузка данных из табличного документа»

В большинстве типовых конфигураций на платформе 8.3 (Управление торговлей, Комплексная автоматизация, ERP, Управление нашей фирмой) есть встроенный инструмент загрузки из табличного документа. Он находится в разделе администрирования или покупок, например: «НСИ и администрирование → Загрузка данных из файла» или «Покупки → Сервис → Загрузка цен поставщика».

Обработка принимает файлы MXL, XLS, XLSX и ODS. Чтобы загрузить CSV, его нужно предварительно пересохранить в XLSX через Excel, как описано выше. Далее в обработке выбирается файл, указывается, какие колонки соответствуют каким полям (наименование, артикул, цена), запускается проверка сопоставления, и только после неё выполняется запись в базу.

Загрузка CSV через типовую обработку
  1. 1
    Откройте CSV в Excel и сохраните как XLSX, проверив колонки и кодировку
  2. 2
    В 1С откройте «НСИ и администрирование → Загрузка данных из файла» (или аналогичный пункт в вашей конфигурации)
  3. 3
    Укажите XLSX-файл и настройте соответствие колонок полям справочника или документа
  4. 4
    Запустите сопоставление и проверьте, что 1С корректно нашла или создала элементы
  5. 5
    Выполните загрузку и проверьте результат на нескольких позициях

Сильная сторона этого способа — встроенное сопоставление: обработка умеет искать существующие элементы по артикулу или наименованию и обновлять их, а не плодить дубли. Именно поэтому для регулярной загрузки прайсов и номенклатуры типовой механизм предпочтительнее самодельных решений.

Способ 3. Внешние универсальные обработки для чтения CSV

Когда CSV нужно загрузить напрямую, без промежуточного Excel, используют внешние обработки — файлы с расширением EPF, которые открываются в режиме предприятия через «Файл → Открыть». Существуют обработки «Загрузка данных из CSV» и «Универсальная загрузка из табличных документов», которые читают текстовый файл построчно и раскладывают значения по колонкам.

Типичная логика работы такой обработки: вы указываете путь к файлу, кодировку, символ-разделитель и номер строки, с которой начинаются данные (часто первая строка — это заголовки колонок). Затем настраивается соответствие колонок реквизитам объекта 1С, выполняется предварительный просмотр и загрузка.

Внешние обработки следует брать только из доверенных источников: диска ИТС, официальных публикаций или разработок вашего интегратора. Обработка из неизвестного источника — это исполняемый код, который запускается с правами текущего пользователя базы и теоретически может изменить или удалить данные.

Способ 4. Программное чтение CSV встроенным языком 1С

Для разработчиков и регулярных автоматических загрузок CSV читается средствами платформы: объектами ЧтениеТекста и построчным разбором, либо через ЧтениеДанных. Классический подход — открыть файл, читать строки в цикле и разбивать каждую по разделителю функцией СтрРазделить.

bsl
Чтение = Новый ЧтениеТекста("C:\Данные\price.csv", КодировкаТекста.UTF8);
Строка = Чтение.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
    Колонки = СтрРазделить(Строка, ";");
    // Колонки[0] — первая колонка, Колонки[1] — вторая и т.д.
    Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();

Программный способ даёт полный контроль: можно пропускать служебные строки, преобразовывать даты и числа, искать элементы справочников по ключевым полям и обрабатывать ошибки. Именно так реализуются регламентные задания, которые каждую ночь забирают прайс из каталога или с почты.

Ограничение очевидно: нужны навыки конфигурирования и доступ к изменению конфигурации или к механизму дополнительных отчетов и обработок. Кроме того, СтрРазделить не учитывает значения в кавычках, содержащие разделитель внутри себя, — для «сложных» CSV с кавычками разбор строки придётся писать аккуратнее.

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

Две самые частые причины «битой» загрузки — неверная кодировка и неверный разделитель. Определить их можно до запуска любой обработки: откройте CSV в Блокноте или Notepad++. Если вместо русских букв видны «кракозябры» или знаки вопроса — кодировка файла не совпадает с той, в которой он открыт.

Контрольные точки

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

Открытие в Блокноте
Норма

Русский текст читается, колонки визуально разделены одним символом

Тревожный признак

Крякозябры или все данные слиплись без видимого разделителя

Разделитель
Норма

Между значениями стабильно один символ: ; или , или табуляция

Тревожный признак

В разных строках разные разделители или их смесь

Первая строка
Норма

Содержит понятные заголовки колонок либо сразу данные — известно, с какой строки читать

Тревожный признак

Несколько служебных строк, отчётные шапки, пустые строки в начале

Числа и даты
Норма

Десятичный разделитель единообразен, даты в одном формате

Тревожный признак

Часть чисел с точкой, часть с запятой; даты вперемешку ДД.ММ.ГГГГ и ММ/ДД/ГГГГ

Практическое правило: файлы, сохранённые из русского Excel «как CSV», обычно идут в кодировке Windows-1251 с точкой с запятой. Файлы из веб-сервисов, банков и 1С (при программной выгрузке) чаще всего в UTF-8. Если после загрузки русские названия превратились в мусор — отмените загрузку и повторите с другой кодировкой.

Десятичный разделитель тоже имеет значение: число «1 250,50» в одном файле и «1250.50» в другом при неправильной обработке дадут разные результаты. Перед загрузкой цен и сумм убедитесь, что обработка или ваш код корректно преобразует строку в число.

Выбор способа под задачу

Сравнение способов открытия CSV

Excel → XLSX → типовая обработка

Лучший вариант для разовой загрузки прайсов и номенклатуры без навыков программирования. Ограничение: лишний шаг конвертации и риск автоформатирования чисел в Excel.

Внешняя обработка загрузки из CSV

Подходит для повторяющихся загрузок вручную, когда файл всегда в одном формате. Ограничение: нужна проверенная обработка и права на её открытие.

Программное чтение (ЧтениеТекста)

Для автоматических регламентных загрузок и нестандартных файлов. Ограничение: требует разработчика и тестирования на реальных файлах поставщика.

Просмотр в Блокноте / Notepad++

Только чтобы посмотреть содержимое и определить структуру, кодировку и разделитель. Данные в базу так не попадают.

Если файл приходит регулярно от одного поставщика, имеет смысл один раз настроить автоматическую загрузку — это окупается уже после нескольких циклов ручной работы. Если файлы разовые и разнообразные, рациональнее каждый раз проходить путь «Excel → проверка → типовая обработка».

Маршрут решения

Как выбрать действие

Нужно только посмотреть, что внутри файлаОткройте в Блокноте или Excel, в базу ничего не загружайте
Нужно разово загрузить номенклатуру или ценыСохраните CSV как XLSX и используйте типовую загрузку данных из файла
Файл приходит регулярно в одном форматеНастройте внешнюю обработку или регламентное задание с программным чтением
После загрузки видны кракозябры или слипшиеся колонкиОтмените загрузку, определите кодировку и разделитель файла и повторите с правильными настройками

Типичные ошибки и как их избежать

Типичные ошибки при работе с CSV в 1С
01
Загрузка без резервной копии — при ошибочном сопоставлении можно массово исказить справочник номенклатуры, а откатить изменения будет нечем
02
Игнорирование первой строки заголовков — заголовки колонок попадают в базу как обычная запись, и появляется «номенклатура» с именем «Наименование»
03
Неправильная кодировка — русские названия превращаются в нечитаемые символы уже в момент чтения файла
04
Доверие автоформату Excel — ИНН, счета и штрихкоды преобразуются в экспоненциальные числа или теряют ведущие нули
05
Загрузка без сопоставления — вместо обновления существующих элементов создаются дубли номенклатуры и контрагентов

Ключевое правило безопасной загрузки: сначала тест на копии базы или хотя бы на маленьком фрагменте файла (10–20 строк), затем проверка результата глазами, и только потом полная загрузка. Любая обработка, которая «загрузила всё без ошибок», но с неверным сопоставлением, создаст больше проблем, чем ручной ввод.

Ещё одна частая проблема — права доступа. Если пункт загрузки недоступен или обработка не открывается, обратитесь к администратору 1С: вероятно, у вашей роли нет прав на интерактивное открытие внешних обработок или на изменение целевых справочников.

Итог

Что важно запомнить

CSV в 1С открывается не напрямую, а через конвертацию в XLSX, типовую обработку загрузки или программное чтение. Перед загрузкой определите кодировку и разделитель, проверьте файл на копии базы и используйте сопоставление, чтобы не создать дубли. Просмотр файла безопасен всегда, загрузка — только после резервной копии.

Частые вопросы

Можно ли открыть CSV прямо из 1С через «Файл → Открыть»?

Платформа 1С через «Файл → Открыть» открывает внешние обработки (EPF), отчёты (ERF) и табличные документы (MXL). CSV в списке поддерживаемых типов нет, поэтому файл либо пересохраняют в XLSX, либо читают специальной обработкой.

Почему после загрузки русские буквы превратились в непонятные символы?

Это признак неверной кодировки чтения. Файл, скорее всего, сохранён в UTF-8, а прочитан как Windows-1251, или наоборот. Определите кодировку файла в Notepad++ (она отображается в строке состояния) и повторите загрузку с правильной настройкой.

Все данные попали в одну колонку — что делать?

Обработка или Excel используют не тот разделитель. Откройте файл в Блокноте и посмотрите, каким символом разделены значения: чаще всего это точка с запятой, а не запятая. Укажите правильный разделитель в настройках импорта.

Как загрузить CSV, если в нём несколько миллионов строк?

Excel имеет ограничение на число строк листа, поэтому очень большие файлы в него могут не поместиться целиком. Такие файлы загружают программно — построчным чтением без загрузки всего файла в память, либо предварительно разбивают на части.

Чем CSV отличается от XLSX при загрузке в 1С?

XLSX содержит типы данных, форматирование и листы, а CSV — только текст с разделителями. Поэтому при чтении CSV все значения изначально являются строками, и числа с датами нужно преобразовывать отдельно, а в XLSX платформа получает уже типизированные значения.

Безопасно ли загружать CSV на рабочую базу без копии?

Нет. Загрузка изменяет справочники и документы, и при ошибке в сопоставлении колонок отменить результат можно только восстановлением из копии. Минимальный безопасный порядок: тестовая загрузка нескольких строк, проверка, затем полная загрузка при наличии свежей резервной копии.