Импорт CSV-файла в 1С 8.3: кодировка, разделители и сопоставление колонок
Содержание
Загрузить CSV
в 1С 8.3 проще всего встроенным помощником «Загрузка данных из файла»: откройте список справочника (например, «Номенклатура» или «Контрагенты»), нажмите в командной панели «Загрузить», выберите файл .csv, сопоставьте колонки с реквизитами и подтвердите загрузку. Помощник есть в Бухгалтерии 3.0, УТ 11, Комплексной автоматизации 2 и других конфигурациях на БСП, поэтому порядок действий в них одинаковый.
Проблемы начинаются не в 1С, а в самом файле: кракозябры вместо кириллицы, все данные в одной колонке, потерянные нули в артикулах, цены с точкой вместо запятой. Почти все эти сбои устраняются за пять минут в текстовом редакторе ещё до того, как файл попадёт в 1С, а регулярную загрузку можно один раз настроить и больше к ней не возвращаться.
1. Подготовка CSV-файла перед загрузкой в 1С
CSV — это обычный текст: одна строка файла = одна запись, значения разделены символом. Прежде чем загружать файл, откройте его в «Блокноте» или Notepad++, а не в Excel. Excel показывает уже «причёсанные» данные и прячет реальные проблемы.
Что проверить в исходном файле:
- 📄 Первая строка — заголовки колонок. «Артикул;Наименование;Цена;Единица». По ним вы потом будете сопоставлять поля.
- ✂️ Разделитель один на весь файл. Точка с запятой
;или запятая,. Смешивать нельзя. - 🔢 Числа без пробелов-разделителей тысяч.
12500,00, а не12 500,00. Неразрывный пробел из выгрузки банка или маркетплейса 1С не распознает как число. - 📅 Даты в одном формате. Лучше
ДД.ММ.ГГГГ:05.03.2026. - 🧾 Нет пустых строк в конце и итоговой строки «Итого». Иначе загрузится лишняя позиция.
- 🔑 Есть ключевое поле для поиска существующих записей: артикул, код, ИНН, штрихкод.
Пример корректного файла для загрузки номенклатуры:
Артикул;Наименование;Единица;Цена
00125;Бумага А4 500 листов;шт;389,00
00126;"Ручка шариковая; синяя";шт;24,50
00127;Скрепки 28 мм;упак;65,00
Во второй строке точка с запятой стоит внутри названия, поэтому значение взято в двойные кавычки. Так требует формат CSV, и без кавычек строка развалится на лишнюю колонку.
Если файл хотя бы раз открывали и сохраняли в Excel, проверьте артикулы и ИНН. Excel превращает 00125 в 125, а длинный штрихкод — в 4,6E+12. Такие значения 1С уже не сопоставит с существующими.
2. Как запустить загрузку CSV в 1С через встроенный помощник
Помощник «Загрузка данных из файла» вызывается из формы списка того объекта, куда грузите данные. Отдельного пункта в меню разделов у него нет.
Загрузка в справочник
- Откройте список справочника. Для товаров в БП 3.0 это
Справочники → Товары и услуги → Номенклатура, для контрагентов —Справочники → Покупки и продажи → Контрагенты. - В командной панели нажмите «Загрузить». Если кнопки не видно, она спрятана в меню «Ещё».
- В открывшемся окне есть таблица-шаблон. Данные можно вставить в неё через буфер обмена или нажать «Загрузить из файла» и выбрать
.csv. - Нажмите «Далее» — откроется шаг сопоставления.
Помощник читает форматы .xlsx, .xls, .ods, .mxl и .csv. Для CSV он сам пытается определить разделитель и кодировку.
Загрузка в табличную часть документа
Спецификацию поставщика или заказ покупателя часто нужно загрузить прямо в документ. В «Поступлении (акты, накладные, УПД)» и «Реализации» БП 3.0 над табличной частью «Товары» есть команда «Загрузить». Работает она так же: файл → сопоставление колонок → строки попадают в документ.
После загрузки проверьте ставку НДС и счета учёта в строках. Помощник заполняет их по настройкам номенклатуры, а не из файла, если вы явно не сопоставили колонку.
Когда помощника нет
В старых нетиповых конфигурациях встроенной загрузки может не быть. Варианты:
| Способ | Когда подходит | Риски |
|---|---|---|
| Помощник «Загрузка данных из файла» | Типовые конфигурации на БСП | Почти нет: есть предпросмотр |
| Внешняя обработка загрузки из табличного документа | Нетиповая база, загрузка в любые справочники и документы | Может записать что угодно куда угодно — нужна копия базы |
| Своя обработка на встроенном языке | Нестандартный формат, регулярный обмен | Нужен программист, поддержка при обновлениях |
| Конвертация CSV в XLSX и загрузка помощником | Помощник не распознал файл | Excel может испортить коды и даты |
3. Сопоставление колонок CSV с полями 1С
Это главный шаг. Ошибка здесь — и цена ляжет в наименование, а артикул в комментарий.
На шаге сопоставления помощник показывает колонки файла и предлагает для каждой выбрать реквизит 1С. Если заголовок в файле совпадает с названием реквизита («Наименование», «Артикул», «ИНН»), колонка подставится сама.
Как настроить соответствие полей:
- Пройдите по каждой колонке и проверьте выбранный реквизит.
- Колонкам, которые не нужны, оставьте пустое соответствие — они не загрузятся.
- Выберите поле, по которому 1С будет искать уже существующие записи. Для номенклатуры — артикул или штрихкод, для контрагентов — ИНН.
- Для ссылочных реквизитов (единица измерения, вид номенклатуры, страна) 1С ищет значение в своём справочнике по наименованию. Текст в файле должен совпадать:
шт, а нештука.
Пример схемы сопоставления для прайса поставщика:
Перед большой загрузкой прогоните файл из 5–10 строк. Так вы за минуту увидите, правильно ли легли поля, и не будете потом чистить 3000 позиций.
4. Кодировка и разделитель CSV: почему 1С видит кракозябры
Две проблемы встречаются чаще остальных: нечитаемый русский текст и все данные в одной колонке.
Кодировка
Файлы CSV бывают в двух основных кодировках:
| Кодировка | Откуда обычно приходит | Как выглядит ошибка |
|---|---|---|
| UTF-8 | Маркетплейсы, интернет-магазины, Google Таблицы, выгрузки из веб-сервисов | Артикул вместо «Артикул» |
| Windows-1251 (ANSI) | Excel в русской Windows, старые учётные программы | Ðàðòèêóë или знаки вопроса |
Как исправить кодировку:
- Откройте файл в Notepad++.
- В меню «Кодировки» посмотрите текущую. Если текст читается при выборе другой кодировки — это и есть правильная.
- Выберите «Преобразовать в UTF-8» (с BOM надёжнее) и сохраните файл.
UTF-8 с BOM — самый безопасный вариант. Метка BOM в начале файла сразу сообщает программе, как читать текст.
Разделитель и десятичный знак
Excel в русской локали сохраняет CSV с разделителем ;, а англоязычные сервисы — с ,. Если 1С показывает все значения в одной колонке, разделитель не распознан.
Что делать:
- 🔁 Замените разделитель в Notepad++ через «Поиск → Замена». Аккуратно: запятая может стоять и внутри цены
389,00. - 🔢 Если разделитель — запятая, десятичный знак в числах должен быть точкой, иначе значение
389,00разрежется на две колонки. - 🧷 Тексты с разделителем внутри берите в кавычки.
Не меняйте разделитель простой заменой всех запятых, если в файле есть дробные числа или адреса. Сначала замените десятичные запятые в числовых колонках, потом разделитель.
5. Ошибки и дубли при импорте CSV
На последнем шаге помощник показывает предпросмотр: какие строки будут созданы как новые, какие сопоставлены с существующими записями, а какие требуют решения. Ничего не записывается в базу, пока вы не подтвердите.
Как избежать дублей
Дубли появляются, когда 1С не смогла найти существующую запись и создала новую. Причины:
- 🔑 Ключевое поле не выбрано или выбрано не то. Поиск по наименованию ненадёжен: «Бумага А4» и «Бумага А4» с двумя пробелами — разные строки.
- 0️⃣ Потеряны ведущие нули:
125в файле,00125в базе. - ␣ Лишние пробелы в начале или конце значения.
- 🔀 В базе уже есть дубли, и одной строке файла соответствуют две записи. Помощник пометит такую строку как неоднозначную — выберите нужный элемент вручную.
Перед загрузкой решите, что делать с найденными записями: только создавать новые или ещё и обновлять реквизиты существующих. Обновление перезапишет наименования и цены данными из файла, поэтому включайте его осознанно.
Типовые ошибки загрузки
Если ошибка уже случилась и создано 200 дублей, не удаляйте их сразу. Пометьте на удаление, проверьте, что на них нет ссылок в документах, и только потом удаляйте помеченные. Для слияния дублей в БСП-конфигурациях есть обработка «Поиск и удаление дублей» в разделе Администрирование → Обслуживание.
Перед первой массовой загрузкой в рабочую базу сделайте резервную копию. Откатить тысячу созданных элементов вручную долго.
6. Автоматическая загрузка CSV по расписанию
Если CSV приходит каждый день — остатки поставщика, прайс, заказы с сайта, — ручная загрузка быстро надоедает. Её автоматизируют обработкой на встроенном языке, которая читает файл из папки и записывает данные.
Пример чтения CSV встроенным языком
Код ниже читает файл в UTF-8, пропускает строку заголовков, ищет номенклатуру по артикулу и создаёт новую, если не нашёл. Обязательные реквизиты (вид номенклатуры, единица) заполните по правилам своей конфигурации.
Процедура ЗагрузитьНоменклатуруИзCSV(ИмяФайла) Экспорт
Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
Строка = Чтение.ПрочитатьСтроку(); // строка заголовков
НомерСтроки = 1;
Строка = Чтение.ПрочитатьСтроку();
Пока Строка <> Неопределено Цикл
НомерСтроки = НомерСтроки + 1;
Если ПустаяСтрока(Строка) Тогда
Строка = Чтение.ПрочитатьСтроку();
Продолжить;
КонецЕсли;
Поля = СтрРазделить(Строка, ";", Истина);
Если Поля.Количество() < 2 Тогда
ЗаписьЖурналаРегистрации("ЗагрузкаCSV", УровеньЖурналаРегистрации.Предупреждение,,,
СтрШаблон("Строка %1: мало колонок", НомерСтроки));
Строка = Чтение.ПрочитатьСтроку();
Продолжить;
КонецЕсли;
Артикул = СокрЛП(Поля[0]);
Наименование = СокрЛП(Поля[1]);
Ссылка = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если Ссылка.Пустая() Тогда
Объект = Справочники.Номенклатура.СоздатьЭлемент();
Объект.Артикул = Артикул;
Иначе
Объект = Ссылка.ПолучитьОбъект();
КонецЕсли;
Объект.Наименование = Наименование;
Попытка
Объект.Записать();
Исключение
ЗаписьЖурналаРегистрации("ЗагрузкаCSV", УровеньЖурналаРегистрации.Ошибка,,,
СтрШаблон("Строка %1: %2", НомерСтроки, ОписаниеОшибки()));
КонецПопытки;
Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();
КонецПроцедуры
Ограничение примера: СтрРазделить не понимает кавычки. Если в значениях бывает ; внутри кавычек, строку нужно разбирать посимвольно или договориться с источником о другом разделителе. Для файлов в Windows-1251 укажите кодировку КодировкаТекста.ANSI.
Как поставить загрузку на расписание
Есть два рабочих способа:
- Дополнительная обработка с расписанием. Обработку регистрируют в
Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Если в ней есть команда с вызовом серверного метода, для команды можно задать расписание выполнения. - Регламентное задание в расширении конфигурации. Программист добавляет в расширение регламентное задание с процедурой загрузки. Типовая конфигурация при этом не снимается с поддержки.
В клиент-серверной базе регламентное задание выполняется на сервере 1С. Путь к файлу должен быть доступен серверу и пользователю, от имени которого запущена служба (часто USR1CV8), а не вашему компьютеру. Используйте сетевую папку вида \\fileserver\obmen\price.csv с правами на чтение для этого пользователя.
После успешной загрузки переносите файл в подпапку archive, а при ошибке — в error. Так одна и та же выгрузка не загрузится дважды, а проблемные файлы легко найти.
7. Частые вопросы про импорт CSV в 1С
Можно ли загрузить банковскую выписку в формате CSV?
Чем CSV лучше XLSX для загрузки в 1С?
Сколько строк можно загрузить за один раз?
Как выгрузить данные из 1С в CSV?
ЗаписьТекста.