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