Загружаем таблицу из Excel в базу 1С 8.3: четыре рабочих способа

· 10 мин

Содержание

Быстрее всего подгрузить Excel в 1С через встроенную команду «Загрузить» в списке справочника или в табличной части документа: выбираете файл .xlsx, сопоставляете колонки с реквизитами и жмёте загрузку. Если такой команды нет, подойдёт внешняя обработка «Загрузка данных из табличного документа» с диска ИТС, которую открывают через Файл → Открыть.

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

Подготовка таблицы Excel перед импортом в 1С

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

Приведите лист к простому виду:

  • 📄 Одна строка — одна запись. Никаких шапок на три строки, подытогов и пустых строк-разделителей внутри данных.
  • 🔗 Без объединённых ячеек. Объединение ломает нумерацию колонок, и данные съезжают.
  • 🏷️ Заголовки в первой строке. Короткие и понятные: «Артикул», «Наименование», «Цена», «Ед. изм.».
  • 🔢 Числа — числами. Цена 1 250,50 с неразрывным пробелом Excel может хранить как текст. Уберите пробелы через «Найти и заменить» и задайте формат «Числовой».
  • 📅 Даты — датами. Строка «05.03.2026» в текстовом формате загрузится как пустая дата.
  • 0️⃣ Ведущие нули. Артикулы вида 00125, ИНН и коды ОКВЭД делайте текстовыми, иначе Excel срежет нули.
  • 👁️ Скрытые строки и фильтры. Снимите фильтр и покажите скрытое: обработка видит все строки, а не только видимые.

Сохраните файл в формате .xlsx. Старый .xls 1С тоже читает, но с ним чаще бывают сюрпризы с кодировкой и большими объёмами.

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

Файл готов к загрузке, если
Выполнено: 0 / 7

Встроенная загрузка из файла в типовых конфигурациях

В актуальных релизах Бухгалтерии 3.0, УТ 11, ЗУП 3.1 и других конфигурациях на БСП загрузка из Excel встроена. Отдельная обработка не нужна.

Где искать команду:

Что загружаемГде команда
Номенклатура, контрагенты и другие справочникиФорма списка справочника → кнопка «Загрузить» в командной панели или в меню «Ещё»
Товары в документ (поступление, реализация, заказ)Табличная часть документа → кнопка «Загрузить» над таблицей или в её меню «Ещё»
Цены в установку ценТабличная часть документа установки цен → та же команда загрузки

Набор объектов с этой командой зависит от конфигурации и релиза. Если в списке справочника её нет — переходите к обработке из следующего раздела.

Как проходит загрузка

  1. Нажмите «Загрузить». Откроется окно с пустой таблицей-шаблоном.
  2. Скопируйте строки из Excel и вставьте в шаблон через Ctrl+V либо выберите файл кнопкой загрузки из файла. Подходят .xlsx, .xls, .ods, .csv, .mxl.
  3. Нажмите «Далее». 1С сопоставит колонки с реквизитами по заголовкам. Проверьте, что «Артикул» попал в артикул, а не в наименование.
  4. На шаге сопоставления программа покажет, какие строки нашла в базе, а какие создаст новыми. Строки с ошибками будут подсвечены.
  5. Исправьте несопоставленные значения вручную прямо в таблице или вернитесь в файл.
  6. Нажмите «Загрузить» и дождитесь итогового отчёта.

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

Этот способ хорош тем, что учитывает логику конфигурации: заполняет обязательные реквизиты, проверяет ставки НДС и единицы измерения.

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

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

Обработка распространяется с диском ИТС и в каталоге стандартных обработок. Для 8.3 с управляемыми формами берите версию для управляемого приложения. Файл называется ЗагрузкаДанныхИзТабличногоДокумента.epf или похоже.

Порядок работы

  1. Откройте обработку: Главное меню (☰) → Файл → Открыть и выберите .epf. Если пункта «Открыть» нет, у пользователя не хватает прав на внешние обработки — нужна роль администратора или отдельное право.
  2. Выберите режим загрузки: в справочник, в табличную часть документа или в регистр сведений.
  3. Укажите вид объекта, например справочник «Номенклатура».
  4. На вкладке табличного документа откройте файл Excel или вставьте данные из буфера.
  5. Укажите номер первой строки с данными. Если заголовки в строке 1, данные начинаются со строки 2.
  6. Перейдите к настройкам колонок. Для каждого реквизита задайте:
    • галочку загрузки — грузить реквизит или нет;
    • номер колонки Excel, откуда брать значение;
    • режим: искать по колонке, устанавливать значение по умолчанию или вычислять выражением;
    • поле поиска — по нему обработка ищет существующий элемент.
  7. Сначала выполните контроль заполнения. Обработка пометит строки, где не нашлось ссылочное значение или не прошло преобразование типа.
  8. После исправления ошибок запустите загрузку.

Настройки колонок можно сохранить в файл и переиспользовать для следующего прайса того же поставщика.

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

Внешние источники данных: когда Excel нужно читать регулярно

Если таблица обновляется каждый день — остатки на складе партнёра, курсы, график выпуска — ручная загрузка утомляет. Здесь помогает механизм внешних источников данных платформы 8.3. Он подключает файл Excel к 1С как таблицу базы данных через ODBC.

Как это устроено:

  1. В Конфигураторе в ветке «Общие» создаётся объект «Внешний источник данных». Это изменение конфигурации, на поддержке его делают с включённой возможностью изменения.
  2. В источнике описывается таблица: какие колонки листа читаются и с какими типами.
  3. В режиме Предприятия задаётся строка подключения через ODBC-драйвер Excel:
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\Обмен\ostatki.xlsx;
  1. После этого данные листа читаются запросом, как обычная таблица, и их можно переносить в справочники или регистры регламентным заданием.

Чего ждать на практике:

  • 🖥️ Драйвер ставится там, где работает код. В клиент-серверной базе — на сервере 1С, а не у пользователя.
  • ⚙️ Разрядность должна совпадать. 64-битному серверу 1С нужен 64-битный драйвер (пакет Microsoft Access Database Engine). Несовпадение разрядности — частая причина ошибки «источник данных не найден».
  • 📁 Путь к файлу виден серверу. Сетевая папка должна быть доступна учётной записи, от которой запущена служба 1С.
  • 🔒 Файл не должен быть открыт с блокировкой в момент чтения.

Способ требует навыков разработчика и доступа к Конфигуратору. Для разовой загрузки он избыточен.

Отличия между версиями платформы и интерфейсами

От версии платформы зависит, каким инструментом и каким кодом читать Excel.

СитуацияЧто работаетНа что смотреть
Платформа 8.3, управляемые формы, «Такси»Встроенная загрузка, обработка для управляемых формОбработка для обычных форм не откроется в тонком клиенте
Платформа 8.3, номер версии не ниже 8.3.6Чтение .xlsx средствами самой платформыExcel на компьютере не нужен
Платформа ниже 8.3.6 или обычные формы 8.2Чтение через COM-объект Excel.ApplicationНужен установленный Excel, только Windows, медленно на больших файлах
Сервер 1С на LinuxЧтение средствами платформыCOM недоступен в принципе

Программное чтение файла

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

&НаСервереБезКонтекста
Функция ПрочитатьПрайс(АдресФайла)

    ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
    ДанныеФайла = ПолучитьИзВременногоХранилища(АдресФайла);
    ДанныеФайла.Записать(ИмяФайла);

    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);

    Результат = Новый ТаблицаЗначений;
    Результат.Колонки.Добавить("Артикул");
    Результат.Колонки.Добавить("Наименование");
    Результат.Колонки.Добавить("Цена");

    // Строка 1 — заголовки, данные начинаются со второй
    Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
        Стр = Формат(НомерСтроки, "ЧГ=0");
        Артикул = СокрЛП(ТабДок.Область("R" + Стр + "C1").Текст);
        Если ПустаяСтрока(Артикул) Тогда
            Продолжить;
        КонецЕсли;
        НоваяСтрока = Результат.Добавить();
        НоваяСтрока.Артикул = Артикул;
        НоваяСтрока.Наименование = СокрЛП(ТабДок.Область("R" + Стр + "C2").Текст);
        НоваяСтрока.Цена = ТабДок.Область("R" + Стр + "C3").Значение;
    КонецЦикла;

    УдалитьФайлы(ИмяФайла);
    Возврат Результат;

КонецФункции

На клиенте файл помещают в хранилище методом НачатьПомещениеФайлаНаСервер или ПоместитьФайл в зависимости от режима использования модальности. Дальше полученную таблицу значений разбирают: ищут номенклатуру по артикулу и создают недостающие элементы.

Формат(НомерСтроки, "ЧГ=0") нужен, чтобы номер 1000 не превратился в строку «1 000» с пробелом и адрес ячейки не сломался.

Перенос через универсальный обмен данными в формате XML

Обработка «Универсальный обмен данными в формате XML» переносит данные между базами 1С по правилам, созданным в конфигурации «Конвертация данных ». Excel она напрямую не читает.

Когда этот путь всё же имеет смысл:

  • 🔁 данные из Excel нужно разнести сразу в несколько баз с разными конфигурациями;
  • 🧩 у вас уже есть промежуточная база, куда Excel грузится обычной загрузкой, а дальше нужна выгрузка в рабочую базу со сложными связями;
  • 🏗️ нужно загрузить документы с движениями, а не только справочники.

Схема выглядит так:

  1. Загрузите Excel в промежуточную или тестовую базу любым способом из разделов выше.
  2. Проверьте и почистите данные там, не трогая рабочую базу.
  3. В промежуточной базе выгрузите нужные объекты обработкой универсального обмена по правилам обмена в файл .xml.
  4. В рабочей базе откройте ту же обработку, на вкладке загрузки выберите файл и загрузите.

Сохранить книгу Excel как «Таблица XML 2003» и скормить её обмену не получится: формат файла обмена 1С совсем другой.

Для одной базы и одного справочника схема с XML избыточна. Она оправдана при миграции или при регулярной синхронизации нескольких баз.

Как выбрать способ загрузки

СпособКогда подходитРиски
Встроенная команда «Загрузить»Справочники и товары в документы в типовой конфигурацииПочти нет: учитывает логику программы
Обработка с ИТСНетиповые справочники, регистры сведений, нет встроенной командыМожно записать данные в обход проверок конфигурации
Внешний источник данныхОдин и тот же файл читается регулярноНужен Конфигуратор, ODBC-драйвер на сервере
Своя обработка с кодомНестандартная структура файла, сложная логика сопоставленияНужен программист, ошибки в коде пишут ошибки в базу
Универсальный обмен XMLМиграция, несколько баз, документы с движениямиСложная настройка правил
Что вам нужно загрузить?

Ошибки при импорте Excel в 1С и как их исправить

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

Если ничего не помогло

Сохраните лист как .csv в кодировке UTF-8 и загрузите его. В CSV нет форматов ячеек, скрытых строк и объединений — уходит половина источников ошибок.

Второй вариант — разбить файл. Прайс на 50 000 строк грузите частями по 5–10 тысяч, чтобы найти строку, на которой падает загрузка, и не упираться в память клиента.

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

Можно ли подгрузить Excel в 1С, если Excel не установлен на компьютере?
Да. Платформа 8.3 с номером версии не ниже 8.3.6 читает .xlsx своими средствами. Excel нужен только для старого способа через COM.
Получится ли загрузить Excel в базу 1С через веб-клиент или в облаке?
Встроенная команда «Загрузить» работает и в веб-клиенте, и в облачных сервисах. Файл выбирается на вашем компьютере и передаётся на сервер. Внешние обработки в облаке часто запрещены настройками безопасности.
Как загрузить остатки на начало работы из Excel?
Через табличную часть документа ввода начальных остатков: в нём есть та же загрузка из файла. Загружайте по одному разделу учёта и сверяйте итоги с оборотно-сальдовой ведомостью.
Можно ли загрузить картинки товаров из Excel?
Картинки, вставленные в ячейки, обработки не переносят. Загрузите номенклатуру, а изображения прикрепите отдельно, по имени файла, совпадающему с артикулом.
Сколько строк можно загрузить за один раз?
Жёсткого предела нет, всё упирается в память клиента и время. Файлы до 10–20 тысяч строк обычно проходят без проблем, больше разумнее делить на части.