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

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

Как загрузить CSV-файл в 1С: практическая инструкция

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

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

В большинстве типовых конфигураций 1С (Бухгалтерия, Управление торговлей, ERP) есть встроенные механизмы загрузки табличных данных, а для нестандартных случаев используются внешние обработки или программная загрузка через встроенный язык. Выбор способа зависит от того, что именно нужно загрузить: позиции номенклатуры, контрагентов, цены, остатки или произвольные данные.

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

Что такое CSV и как 1С с ним работает

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

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

Перед загрузкой откройте CSV-файл в обычном текстовом редакторе (Notepad++, «Блокнот») и посмотрите: какой символ разделяет колонки, есть ли строка заголовков, в каком виде записаны даты и числа, нет ли кавычек вокруг текстовых значений. Эти наблюдения напрямую определяют настройки загрузки.

Подготовка CSV-файла к загрузке

Первое, что нужно проверить, — кодировка файла. 1С корректно читает UTF-8 и Windows-1251, но если файл сохранён в другой кодировке, кириллица превратится в нечитаемые символы. Откройте файл в Notepad++: кодировка отображается в правом нижнем углу. При необходимости перекодируйте файл через меню «Кодировки → Преобразовать в UTF-8» и сохраните.

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

Третий блок проверок касается форматов данных. Даты могут быть записаны как «31.12.2026», «2026-12-31» или «12/31/2026» — 1С должна понимать, какой вариант перед ней. Числа с дробной частью должны использовать тот десятичный разделитель, который ожидает обработка, и не содержать пробелов-разделителей тысяч. Проще всего привести файл к единому виду заранее в Excel или текстовом редакторе, чем исправлять ошибки после загрузки в базу.

Загрузка через типовую обработку «Загрузка данных из файла»

В типовых конфигурациях на базе Библиотеки стандартных подсистем (Бухгалтерия 3.0, Управление торговлей 11, ERP, УНФ) в карточках многих списков есть кнопка «Загрузить» или пункт «Загрузить данные из файла» в меню «Ещё». Так, в Бухгалтерии 3.0 загрузка номенклатуры доступна из списка справочника «Номенклатура», а в Управлении торговлей — из разделов закупок и настроек номенклатуры.

Общая логика работы одинакова. Вы открываете обработку загрузки, выбираете файл, указываете, что это текстовый файл с разделителями, задаёте символ-разделитель и кодировку. Затем наступает ключевой этап — сопоставление колонок файла с реквизитами справочника или табличной части: колонке «Наименование» из CSV вы назначаете реквизит «Наименование», колонке с артикулом — реквизит «Артикул» и так далее.

После сопоставления обработка показывает предварительный результат: какие строки будут загружены, какие элементы найдены как существующие, а какие будут созданы новыми. Внимательно изучите этот этап — именно здесь видно, правильно ли распознаны данные. Только после проверки нажимайте «Загрузить».

Порядок действий
  1. 1
    Откройте CSV в текстовом редакторе и определите кодировку и разделитель
  2. 2
    Приведите файл к UTF-8 и убедитесь, что даты и числа в корректном формате
  3. 3
    Сделайте резервную копию базы или подготовьте тестовую копию
  4. 4
    В списке нужного справочника выберите «Загрузить данные из файла» (меню «Ещё»)
  5. 5
    Укажите файл, разделитель, кодировку и строку заголовков
  6. 6
    Сопоставьте колонки файла реквизитам 1С
  7. 7
    Проверьте предварительный результат на небольшом объёме строк
  8. 8
    Выполните загрузку и сверьте итоговые данные с исходным файлом

Загрузка через универсальные внешние обработки

Если типовой обработки для вашего случая нет — например, нужно загрузить данные в табличную часть документа или в регистр сведений — используются универсальные обработки. Наиболее известная — «Универсальная загрузка данных из табличного документа», а также обработки с диска информационно-технологического сопровождения (ИТС) и популярная «Загрузка данных из табличного документа» для управляемых форм.

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

Внешние обработки открываются через меню «Файл → Открыть» (если в конфигурации разрешено открытие внешних файлов) или через подсистему «Дополнительные отчеты и обработки». Учтите, что для работы с ними нужны соответствующие права, а в некоторых организациях запуск внешних обработок ограничен политиками безопасности — тогда потребуется участие администратора 1С.

Программная загрузка CSV встроенным языком

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

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

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

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

Частые ошибки и способы их устранения

Самая распространённая проблема — «кракозябры» вместо русского текста после загрузки. Причина всегда одна: несовпадение фактической кодировки файла и кодировки, указанной при чтении. Решение — пересохранить файл в UTF-8 или явно указать Windows-1251 в настройках обработки.

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

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

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

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

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

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

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

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

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

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

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

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

Меньше или больше — есть пропущенные или раздвоённые строки

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

Текст читается корректно

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

Кракозябры — неверная кодировка, нужна повторная загрузка

Даты и числа
Норма

Даты распознаны как даты, дробная часть чисел сохранена

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

Даты стали строками, числа обрезаны или равны нулю

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

Поиск дублей ничего не находит

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

Есть элементы с одинаковыми наименованиями или кодами

Альтернативные способы передачи данных в 1С

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

Для регулярного обмена между системами лучше подходят структурированные форматы: XML (в том числе стандарты EnterpriseData и CommerceML для обмена между конфигурациями 1С), JSON для интеграции с веб-сервисами, а также прямое подключение к базам данных через внешние источники данных. Эти способы требуют начальной настройки, но избавляют от ручных операций и ошибок разбора текста.

Сравнение вариантов

Типовая обработка «Загрузка данных из файла»

Подходит для разовой загрузки в справочники типовых конфигураций; не требует навыков программирования, но ограничена предусмотренными объектами

Универсальная внешняя обработка

Гибкий выбор объекта загрузки и вычисляемые поля; требует прав на открытие внешних файлов и аккуратности при настройке

Программная загрузка

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

Загрузка из Excel

Избавляет от проблем кодировки и разделителей; подходит, когда источник может отдать данные в XLSX

FAQ

Какую кодировку выбрать при сохранении CSV для 1С?

Оптимальный вариант — UTF-8: её корректно читают и типовые обработки, и объект «ЧтениеТекста». Если файл создаётся в Excel через «Сохранить как», выбирайте пункт «CSV UTF-8 (с разделителями-запятыми)». Кодировка Windows-1251 тоже поддерживается, но при обмене с внешними системами чаще вызывает проблемы.

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

Это признак несовпадения кодировки файла с кодировкой, указанной при чтении. Откройте файл в Notepad++, посмотрите фактическую кодировку в строке состояния и либо преобразуйте файл в UTF-8, либо укажите правильную кодировку в настройках обработки. Уже загруженные испорченные элементы придётся удалить и загрузить заново.

Можно ли загрузить CSV в документ, а не в справочник?

Типовая обработка «Загрузка данных из файла» работает в основном со справочниками. Для заполнения табличных частей документов используйте универсальные обработки загрузки из табличного документа, которые позволяют выбрать документ и его табличную часть как целевой объект, либо программную загрузку.

Что делать, если в данных внутри полей встречается сам разделитель?

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

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

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

Можно ли автоматизировать загрузку CSV по расписанию?

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