Как в 1С загрузить данные из Excel без ошибок

· 9 мин

Содержание

Загрузить данные из Excel в 1С можно штатной обработкой «Загрузка данных из табличного документа» или встроенной кнопкой «Загрузить из файла» в списках справочников. Файл открывается, колонки сопоставляются с реквизитами, 1С показывает результат проверки, и только потом записывает элементы. Для типовых задач (номенклатура, контрагенты, остатки, строки документа) этого хватает без программиста.

Главное правило: 80% успеха — это подготовленный файл. Если в таблице объединённые ячейки, числа записаны текстом, а названия товаров отличаются от справочника на пробел, загрузка пройдёт с ошибками или создаст дубли. Разберём всё по порядку: от файла до автоматического обмена.

Подготовка исходного файла: что проверить до загрузки

Первым делом приведите таблицу к «плоскому» виду. 1С читает данные построчно, поэтому всё, что красиво для глаз, мешает машине.

Структура таблицы

  • ✅ Одна строка таблицы — одна запись (один товар, один контрагент, одна строка документа).
  • ✅ Заголовки колонок — в одной строке, без объединённых ячеек.
  • ✅ Нет промежуточных итогов, пустых строк и «шапки» с реквизитами организации над таблицей.
  • ✅ Один лист на один вид данных. Если на листе две таблицы, разнесите их.

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

Формат ячеек

Типичная засада — числа и даты, которые Excel показывает правильно, а хранит как текст. Признак: зелёный уголок в ячейке и выравнивание влево. 1С такое значение не преобразует в число.

Что в ячейкеКак должно бытьКак исправить
Количество 1 250,50 с неразрывным пробеломЧислоЗаменить пробел на пустую строку, формат ячейки «Числовой»
Дата 05.03.24 текстомДатаФормат «Дата», проверить, что день и месяц не поменялись
ИНН 7707083893Текст, 10 или 12 знаковФормат «Текстовый», иначе потеряются ведущие нули
Артикул 00123ТекстФормат «Текстовый» до ввода, а не после
Сумма с точкой 15.5Число с запятойЗаменить разделитель согласно региональным настройкам

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

Однозначность значений

Если в колонке «Единица измерения» встречаются «шт», «шт.» и «штука», 1С воспринимает их как три разных значения. Приведите к одному написанию. То же с наименованиями контрагентов: «ООО Ромашка» и «Ромашка ООО» дадут два элемента.

💡 Добавьте в файл колонку-идентификатор: артикул, ИНН или код. По ней обработка найдёт уже существующий элемент и обновит его, а не создаст дубль.

Сохраните файл в формате .xlsx или .xls. Старый .xls читается через установленный Excel или встроенный механизм, в зависимости от платформы, поэтому .xlsx практичнее.

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

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

Пошаговая загрузка

  1. Откройте обработку и выберите, что именно загружаем: справочник или табличную часть документа. Для справочника укажите вид (например, «Номенклатура»), для документа — сам документ.
  2. Откройте вкладку с данными и вставьте таблицу. Проще всего скопировать нужный диапазон в Excel и вставить в окно обработки через Ctrl+V. Многие версии умеют и открывать файл целиком.
  3. Укажите номер первой строки данных. Если в таблице есть строка заголовков, данные начинаются со второй.
  4. Сопоставьте колонки с реквизитами. В шапке каждой колонки выберите, куда идут данные: «Наименование», «Артикул», «Единица», «Цена» и так далее.
  5. Задайте поле поиска существующих элементов. Это тот самый идентификатор: артикул, код или ИНН.
  6. Нажмите «Проверить» или «Контроль» (название зависит от версии). Обработка пометит строки, где что-то не так.
  7. Исправьте ошибки в таблице и запустите загрузку.

Режимы: создать, обновить, пропустить

Обычно доступны три поведения при совпадении по полю поиска:

  • 🔹 Создавать новые, существующие пропускать. Безопасно для первичного наполнения.
  • 🔹 Обновлять найденные. Подходит для массового изменения цен или реквизитов.
  • 🔹 Создавать только если нет, ничего не менять. Для дозагрузки дополнений к уже заведённому списку.

Для первой загрузки выбирайте самый осторожный режим и сначала прогоните 5–10 строк. Если результат устроил, грузите остальное.

Встроенная кнопка в списках

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

CSV и текстовые файлы: когда Excel не нужен

Excel тяжёл, а выгрузки из банков, кассовых систем и интернет-магазинов часто приходят в CSV. Это обычный текст, где значения разделены символом, чаще всего точкой с запятой.

Главные проблемы CSV: кодировка и разделитель. Русский текст, сохранённый в UTF-8, при открытии в Excel «по двойному клику» превращается в «кракозябры». Правильно открывать так: в Excel на ленте «Данные» → «Из текста/CSV», выбрать кодировку 65001 UTF-8 и разделитель «точка с запятой».

ПараметрТипичное значениеНа что влияет
КодировкаUTF-8 или Windows-1251Читаемость русских букв
Разделитель колонок;Если в тексте есть ;, значение берут в кавычки
Десятичный разделитель, или .Преобразование сумм в числа
Разделитель строкCRLFОбычно не требует вмешательства

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

Если файл большой (десятки тысяч строк), CSV обрабатывается заметно быстрее, чем Excel: у него нет форматирования и формул, только данные.

Табличный документ и макеты: что происходит внутри

Окно, в которое вставляются данные, — это «табличный документ» 1С. Он умеет принимать вставку из буфера обмена и читать файлы .xlsx. Знать это полезно в двух случаях.

Первый: данные вставились, но «съехали». Так бывает, когда в Excel скрыты колонки или есть объединённые ячейки. В табличный документ попадёт то, что скопировано, поэтому смотрите на результат глазами до запуска проверки.

Второй: вы пишете собственную обработку или отчёт. Тогда файл читается через объект «Табличный документ» методом чтения, а данные забираются по номерам строк и колонок. Простейший пример на встроенном языке:

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПутьКФайлу);

Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
    Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст);
    Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст);
    // дальше: поиск элемента по артикулу и запись
КонецЦикла;

Этот способ хорош, когда стандартной обработки не хватает: нужна нестандартная логика, например разбор составных значений в одной ячейке. Всё остальное быстрее закрывается типовой обработкой.

Макеты используют в обратной задаче: когда нужно выгрузить данные в заранее оформленный Excel-шаблон. Для загрузки они обычно не нужны.

Сопоставление колонок и преобразование данных

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

Как 1С находит ссылку

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

Практический вывод: перед загрузкой заведите справочные значения (единицы, группы, ставки НДС), а потом грузите основные данные. Порядок такой:

  1. Группы и виды (группы номенклатуры, виды цен).
  2. Единицы измерения.
  3. Сами элементы (товары, контрагенты).
  4. Цены и остатки.
  5. Документы.

Что можно преобразовать до загрузки

Не обязательно править файл руками. Часть преобразований делается формулами Excel в соседней колонке:

ЗадачаФормула Excel
Убрать лишние пробелы=СЖПРОБЕЛЫ(A2)
Привести к верхнему регистру=ПРОПИСН(A2)
Склеить фамилию и имя=A2&" "&B2
Отрезать первые 3 знака=ПСТР(A2;4;100)
Заменить точку на запятую=ПОДСТАВИТЬ(A2;".";",")

Потом скопируйте колонку с результатом и вставьте «только значения», иначе в 1С уйдёт формула, а не результат.

Таблица соответствий

Если в файле поставщика ставка НДС указана как «20%», а в 1С она называется иначе, составьте таблицу соответствий и сделайте подстановку в Excel функцией ВПР. Пример для плана работы:

Сопоставление полей
Артикул поставщика→Артикул (реквизит номенклатуры)
Название позиции→Наименование
Ед. изм.→Единица измерения (справочник)
Цена, руб.→Цена в документе «Установка цен»
Ставка НДС→Ставка НДС (перечисление)

Регулярные загрузки: правила обмена и внешние источники

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

Сохранённые настройки

Часть обработок позволяет сохранить сопоставление колонок и режим загрузки как настройку. В следующий раз вы выбираете её из списка, вставляете новый файл и нажимаете «Загрузить». Это закрывает 70% повторяющихся задач.

Правила обмена и внешние обработки

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

Внешние источники

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

Автоматическая загрузка без контроля опасна: если поставщик поменял порядок колонок, обработка молча загрузит цены в поле количества. Добавьте проверку заголовков и лог загрузки.

Типичные ошибки при загрузке и как их устранить

Диагностика: выберите симптом

После любой массовой загрузки проверьте выборочно 5–10 записей и итоги: количество созданных элементов должно совпасть с числом строк в файле минус пропущенные.

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

Сколько строк можно загрузить за один раз?
Жёсткого лимита нет, но на практике стабильно работают пачки до нескольких тысяч строк. Для файла в 50 000 строк разбейте его на части: проще найти ошибку и ниже нагрузка на базу.
Можно ли загрузить фото или файлы, а не только текст?
Прямо из ячейки Excel — нет. Картинки загружают отдельной обработкой, которая сопоставляет имя файла в папке с артикулом.
Что делать, если нужной обработки нет в меню?
Откройте поиск по командам и введите «загрузка». Если её нет в конфигурации, подключите внешнюю обработку: через раздел администрирования, пункт про дополнительные отчёты и обработки. Файл обработки берут на диске ИТС или у обслуживающей организации.
Загрузка перезаписала правильные данные. Можно откатить?
Только из резервной копии базы либо ручным исправлением. Поэтому копию делают до загрузки, а режим «обновлять найденные» сначала проверяют на 5–10 строках.
Работает ли загрузка без установленного Excel?
Файлы .xlsx современные платформы читают собственными средствами. Для старого .xls и в отдельных сценариях требуется установленный Excel или конвертация файла в .xlsx заранее.
Как загрузить данные в серверную базу или веб-клиент?
В веб-клиенте файл сначала передаётся на сервер через окно выбора, и работает это медленнее. Для больших файлов используйте тонкий клиент.