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

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

CSV: чем открыть в 1С и как загрузить данные

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

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

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

Выбор способа зависит от вашей роли и конфигурации. Обычному пользователю типовой конфигурации (УТ, ERP, Бухгалтерия) чаще всего достаточно штатной обработки загрузки. Разработчику или администратору доступны программные методы платформы — ЧтениеТекста, ТабличныйДокумент и построчный разбор. Ниже разобраны все основные варианты с условиями их применения.

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

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

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

Из этого следует практический вывод: перед загрузкой нужно решить, куда попадут данные — в справочник «Номенклатура», табличную часть документа, регистр сведений с ценами. От этого зависит и выбор инструмента, и настройка сопоставления колонок.

Способ 1: открыть CSV как табличный документ

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

У этого способа есть ограничения. Платформа не всегда корректно определяет разделитель и кодировку, поэтому данные могут «съехать» в одну колонку или отобразиться нечитаемыми символами. Если так произошло, файл проще предварительно открыть в Excel или LibreOffice, проверить структуру и сохранить в формате MXL (табличный документ 1С) или XLSX — эти форматы 1С открывает без искажений.

Открытый табличный документ можно использовать как источник для дальнейшей загрузки: многие обработки умеют забирать данные именно из открытого табличного документа или из файла MXL. Это удобный промежуточный шаг, когда нужно сначала «глазами» проверить, что в файле.

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

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

Общий порядок работы такой: откройте обработку, выберите вид загружаемых данных (номенклатура, контрагенты, цены), укажите файл. CSV при этом часто нужно предварительно открыть как табличный документ или преобразовать в Excel — многие штатные обработки принимают именно табличные форматы. Затем сопоставьте колонки файла с полями объекта: какая колонка — наименование, какая — артикул, какая — цена.

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

Порядок загрузки через штатную обработку
  1. 1
    Откройте раздел «Администрирование» или список нужного справочника и найдите команду загрузки данных
  2. 2
    Выберите вид загружаемых данных и укажите файл (при необходимости предварительно сохраните CSV как XLSX или MXL)
  3. 3
    Сопоставьте колонки файла с реквизитами объекта 1С
  4. 4
    Запустите загрузку и дождитесь сообщения о результате
  5. 5
    Откройте несколько созданных элементов и проверьте корректность заполнения полей

Способ 3: программное чтение CSV встроенным языком

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

Типовой скелет кода выглядит так: открыть файл с указанием кодировки (чаще UTF-8 или windows-1251), прочитать строки в цикле, разделить каждую на массив значений, затем найти или создать объект базы и заполнить его реквизиты. Первая строка файла обычно содержит заголовки колонок — её либо пропускают, либо используют для автоматического сопоставления.

Другой вариант — прочитать CSV в ТабличныйДокумент методом Прочитать и затем обходить ячейки по координатам. Это удобно, когда структура файла неоднородная или нужно показать пользователю предпросмотр перед записью. Минус — меньший контроль над разделителями и типами данных, чем при ручном разборе строк.

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

При программной загрузке всегда оборачивайте запись в транзакцию и предусмотрите протоколирование ошибок: какие строки не загрузились и почему. На файле в несколько тысяч строк ручной поиск «съехавшей» записи без журнала ошибок превращается в мучение.

Кодировка, разделитель и типы данных: три источника проблем

Большинство неудач при открытии CSV связаны не с 1С, а с самим файлом. Первый источник — кодировка. Файлы, выгруженные из сторонних систем, бывают в UTF-8, windows-1251 или UTF-8 с BOM. Если русские буквы отображаются «кракозябрами», файл нужно пересохранить в правильной кодировке (например, через «Блокнот» или Notepad++) либо указать корректную кодировку при программном чтении.

Второй источник — разделитель. Если весь текст строки попадает в одну колонку, значит, обработка ожидает другой символ-разделитель. Откройте файл в текстовом редакторе и посмотрите, чем разделены значения: точкой с запятой, запятой или табуляцией. При программном разборе разделитель задаётся явно, а вот штатные и сторонние обработки могут иметь жёстко заданное ожидание.

Третий источник — типы данных. Числа с запятой в дробной части, даты в формате «ДД.ММ.ГГГГ» или «ГГГГ-ММ-ДД», числа с пробелами-разделителями тысяч — всё это может распознаваться по-разному. Проверяйте после загрузки, что цены стали числами (по ним можно выполнять арифметику и отборы), а не остались строками.

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

Как выбрать подходящий способ

Если вам нужно один раз посмотреть содержимое файла — откройте его как табличный документ через «Файл → Открыть». Это занимает меньше минуты и ничего не меняет в базе.

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

Для регулярных обменов (ежедневные прайсы поставщика, банковские выписки) правильнее настроить автоматизированную обработку: регламентное задание, читающее файл из заданной папки. Разовая ручная загрузка в этом случае быстро превращается в ежедневную рутину с риском человеческой ошибки.

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

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

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

Безопасность данных: что сделать до загрузки

Любая массовая загрузка изменяет базу, и откатить её «одной кнопкой» обычно нельзя. Перед импортом большого CSV сделайте резервную копию информационной базы или хотя бы выгрузку в файл DT. Это займёт несколько минут, но позволит вернуться к исходному состоянию, если сопоставление колонок оказалось неверным.

Разумная практика — сначала загрузить небольшой фрагмент: вырежьте из файла 10–20 строк, проведите загрузку, проверьте результат. Только убедившись, что поля сопоставлены правильно и типы распознаются корректно, загружайте полный файл.

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

Проверка результата после загрузки

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

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

Наконец, выполните типовую операцию с новыми данными: сформируйте отчёт по загруженным ценам, создайте документ с новой номенклатурой. Если отчёт показывает нули или документ не проводится из-за незаполненных реквизитов — загрузку нужно скорректировать и повторить.

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

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

Количество загруженных записей
Норма

Совпадает с числом строк данных в файле с учётом заголовка и строк из протокола ошибок

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

Записей меньше или больше без объяснимой причины

Числовые поля (цены, количество)
Норма

Значения участвуют в расчётах и отборах, дробная часть сохранена

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

Числа сохранены как строки, отчёты показывают нули

Кириллица в наименованиях
Норма

Русский текст читается корректно

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

Нечитаемые символы — неверно определена кодировка

Дубли в справочнике
Норма

Существующие элементы найдены и обновлены, новых дублей нет

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

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

Итог

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

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

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

Можно ли открыть CSV в 1С без загрузки в базу?

Да. Команда «Файл → Открыть» в режиме «1С:Предприятие» покажет файл как табличный документ без записи данных в базу. Это безопасный способ посмотреть содержимое. Если разделитель определяется неправильно, удобнее открыть файл в Excel или LibreOffice.

Почему при открытии CSV русские буквы превращаются в непонятные символы?

Причина — несовпадение кодировки файла с той, в которой его читают. Откройте файл в текстовом редакторе (Notepad++ или «Блокнот»), определите кодировку и пересохраните в UTF-8 или windows-1251. При программном чтении кодировку указывают явно вторым параметром объекта ЧтениеТекста.

Все данные из CSV попадают в одну колонку. Что делать?

Обработка ожидает другой разделитель. Откройте файл в текстовом редакторе и посмотрите, какой символ разделяет значения — чаще это точка с запятой, а не запятая. При программном разборе передайте правильный символ в СтрРазделить; при использовании Excel пересохраните файл с нужным разделителем через параметры сохранения.

Может ли обычный пользователь без прав разработчика загрузить CSV в справочник?

Да, если в конфигурации есть штатная обработка загрузки и у пользователя есть права на добавление элементов соответствующего справочника. В типовых решениях команда загрузки обычно доступна из списка справочника или раздела администрирования. Если команды нет — потребуется помощь администратора или разработчика.

Как загрузить CSV в самописную конфигурацию, где нет типовых обработок?

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

Что делать, если после загрузки обнаружились ошибки в тысячах элементов?

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