Справочники и Данные · 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, как описано выше. Далее в обработке выбирается файл, указывается, какие колонки соответствуют каким полям (наименование, артикул, цена), запускается проверка сопоставления, и только после неё выполняется запись в базу.
- 1Откройте CSV в Excel и сохраните как XLSX, проверив колонки и кодировку
- 2В 1С откройте «НСИ и администрирование → Загрузка данных из файла» (или аналогичный пункт в вашей конфигурации)
- 3Укажите XLSX-файл и настройте соответствие колонок полям справочника или документа
- 4Запустите сопоставление и проверьте, что 1С корректно нашла или создала элементы
- 5Выполните загрузку и проверьте результат на нескольких позициях
Сильная сторона этого способа — встроенное сопоставление: обработка умеет искать существующие элементы по артикулу или наименованию и обновлять их, а не плодить дубли. Именно поэтому для регулярной загрузки прайсов и номенклатуры типовой механизм предпочтительнее самодельных решений.
Способ 3. Внешние универсальные обработки для чтения CSV
Когда CSV нужно загрузить напрямую, без промежуточного Excel, используют внешние обработки — файлы с расширением EPF, которые открываются в режиме предприятия через «Файл → Открыть». Существуют обработки «Загрузка данных из CSV» и «Универсальная загрузка из табличных документов», которые читают текстовый файл построчно и раскладывают значения по колонкам.
Типичная логика работы такой обработки: вы указываете путь к файлу, кодировку, символ-разделитель и номер строки, с которой начинаются данные (часто первая строка — это заголовки колонок). Затем настраивается соответствие колонок реквизитам объекта 1С, выполняется предварительный просмотр и загрузка.
Внешние обработки следует брать только из доверенных источников: диска ИТС, официальных публикаций или разработок вашего интегратора. Обработка из неизвестного источника — это исполняемый код, который запускается с правами текущего пользователя базы и теоретически может изменить или удалить данные.
Способ 4. Программное чтение CSV встроенным языком 1С
Для разработчиков и регулярных автоматических загрузок CSV читается средствами платформы: объектами ЧтениеТекста и построчным разбором, либо через ЧтениеДанных. Классический подход — открыть файл, читать строки в цикле и разбивать каждую по разделителю функцией СтрРазделить.
Чтение = Новый ЧтениеТекста("C:\Данные\price.csv", КодировкаТекста.UTF8);
Строка = Чтение.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
Колонки = СтрРазделить(Строка, ";");
// Колонки[0] — первая колонка, Колонки[1] — вторая и т.д.
Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();Программный способ даёт полный контроль: можно пропускать служебные строки, преобразовывать даты и числа, искать элементы справочников по ключевым полям и обрабатывать ошибки. Именно так реализуются регламентные задания, которые каждую ночь забирают прайс из каталога или с почты.
Ограничение очевидно: нужны навыки конфигурирования и доступ к изменению конфигурации или к механизму дополнительных отчетов и обработок. Кроме того, СтрРазделить не учитывает значения в кавычках, содержащие разделитель внутри себя, — для «сложных» CSV с кавычками разбор строки придётся писать аккуратнее.
Как определить кодировку и разделитель файла
Две самые частые причины «битой» загрузки — неверная кодировка и неверный разделитель. Определить их можно до запуска любой обработки: откройте CSV в Блокноте или Notepad++. Если вместо русских букв видны «кракозябры» или знаки вопроса — кодировка файла не совпадает с той, в которой он открыт.
Как проверить файл перед загрузкой
Русский текст читается, колонки визуально разделены одним символом
Крякозябры или все данные слиплись без видимого разделителя
Между значениями стабильно один символ: ; или , или табуляция
В разных строках разные разделители или их смесь
Содержит понятные заголовки колонок либо сразу данные — известно, с какой строки читать
Несколько служебных строк, отчётные шапки, пустые строки в начале
Десятичный разделитель единообразен, даты в одном формате
Часть чисел с точкой, часть с запятой; даты вперемешку ДД.ММ.ГГГГ и ММ/ДД/ГГГГ
Практическое правило: файлы, сохранённые из русского Excel «как CSV», обычно идут в кодировке Windows-1251 с точкой с запятой. Файлы из веб-сервисов, банков и 1С (при программной выгрузке) чаще всего в UTF-8. Если после загрузки русские названия превратились в мусор — отмените загрузку и повторите с другой кодировкой.
Десятичный разделитель тоже имеет значение: число «1 250,50» в одном файле и «1250.50» в другом при неправильной обработке дадут разные результаты. Перед загрузкой цен и сумм убедитесь, что обработка или ваш код корректно преобразует строку в число.
Выбор способа под задачу
Сравнение способов открытия CSV
Лучший вариант для разовой загрузки прайсов и номенклатуры без навыков программирования. Ограничение: лишний шаг конвертации и риск автоформатирования чисел в Excel.
Подходит для повторяющихся загрузок вручную, когда файл всегда в одном формате. Ограничение: нужна проверенная обработка и права на её открытие.
Для автоматических регламентных загрузок и нестандартных файлов. Ограничение: требует разработчика и тестирования на реальных файлах поставщика.
Только чтобы посмотреть содержимое и определить структуру, кодировку и разделитель. Данные в базу так не попадают.
Если файл приходит регулярно от одного поставщика, имеет смысл один раз настроить автоматическую загрузку — это окупается уже после нескольких циклов ручной работы. Если файлы разовые и разнообразные, рациональнее каждый раз проходить путь «Excel → проверка → типовая обработка».
Как выбрать действие
Типичные ошибки и как их избежать
Ключевое правило безопасной загрузки: сначала тест на копии базы или хотя бы на маленьком фрагменте файла (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 на рабочую базу без копии?
Нет. Загрузка изменяет справочники и документы, и при ошибке в сопоставлении колонок отменить результат можно только восстановлением из копии. Минимальный безопасный порядок: тестовая загрузка нескольких строк, проверка, затем полная загрузка при наличии свежей резервной копии.