Как перенести таблицу Excel в справочники и документы 1С 8.3

· 10 мин

Содержание

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

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

Как подготовить файл Excel перед импортом в 1С

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

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

  • 📌 Одна строка заголовков — сразу над данными. Шапку с логотипом, реквизитами и датой удалите.
  • 📌 Одна строка — одна позиция. Без промежуточных итогов, пустых строк и строк-разделителей вроде «Канцтовары:».
  • 📌 Без объединённых ячеек. Объединение ломает адресацию: 1С видит значение только в первой ячейке.
  • 📌 Одна колонка — один реквизит. «Артикул + название» в одной ячейке разделите через Данные → Текст по столбцам.
  • 📌 Один лист. Загрузчик читает первый лист или тот, что вы выберете. Лишние листы лучше убрать.

Форматы значений

Что в колонкеКак подготовитьЧем грозит небрежность
ИНН, КПП, ОГРН, кодыФормат «Текстовый»ИНН из 10 цифр с ведущим нулём превратится в 9 цифр
АртикулыТекст, без пробелов по краямА-101 и А-101 станут разными товарами
Цены, количествоЧисло, без символа валюты и пробелов-разделителейСумма загрузится нулём или текстом
ДатыФормат даты, не текст01.02 превратится в 1 февраля текущего года или в число
Единицы измеренияКак в классификаторе 1С: «шт», «кг»Создадутся новые единицы-дубли
Ставка НДСЕдинообразно: «20%», «Без НДС»Строки останутся без ставки

Лишние пробелы убирает формула =СЖПРОБЕЛЫ(A2). Неразрывные пробелы из выгрузок банков и маркетплейсов — =ПОДСТАВИТЬ(A2;СИМВОЛ(160);""). После формулы скопируйте колонку и вставьте как значения.

Формат файла

Платформа 8.3 сама читает xlsx, xls и ods и открывает их как табличный документ: Главное меню → Файл → Открыть. Excel на компьютере для этого не нужен. Если файл не открывается, пересохраните его в Excel как «Книга Excel (.xlsx)» и закройте перед загрузкой: открытый файл бывает заблокирован.

Встроенная загрузка из Excel в справочники и документы 1С

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

Где находится команда

Куда загружаемБП 3.0УТ 11
НоменклатураСправочники → Товары и услуги → Номенклатура → Ещё → ЗагрузитьНСИ и администрирование → НСИ → Номенклатура → Ещё → Загрузить
КонтрагентыСправочники → Покупки и продажи → Контрагенты → Ещё → ЗагрузитьНСИ и администрирование → НСИ → Партнёры / Контрагенты → Ещё
Товары в поступленииДокумент поступления → закладка «Товары» → кнопка «Загрузить»Документ приобретения → табличная часть «Товары» → Ещё
Товары в реализацииДокумент реализации → закладка «Товары» → кнопка «Загрузить»Документ реализации → табличная часть → Ещё

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

Порядок действий для справочника

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

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

Загрузка товаров в документ

В накладной поступления порядок короче: «Загрузить» над табличной частью → вставка таблицы → сопоставление номенклатуры → перенос в документ. Цены и суммы пересчитываются по правилам документа, ставка НДС берётся из карточки товара, если в файле её нет.

Товары, которых нет в справочнике, при загрузке в документ не появятся сами. Программа предложит выбрать позицию вручную или пропустить строку. Сначала загрузите номенклатуру, затем документы.

Сопоставление колонок Excel с реквизитами 1С

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

Колонки → реквизиты

Сопоставление полей
Наименование→Номенклатура.Наименование
Артикул→Номенклатура.Артикул
Ед. изм.→Единица измерения (классификатор)
НДС→Ставка НДС
Кол-во→Количество (табличная часть)
Цена→Цена (табличная часть)
ИНН→Контрагенты.ИНН

Заголовки в файле не обязаны совпадать с именами реквизитов. Важно только, чтобы в каждой колонке лежал один тип данных.

Поле поиска — главная настройка

От поля поиска зависит, обновит загрузка старые карточки или наплодит дублей.

  • 🔑 Артикул — лучший выбор для товаров, если артикулы в базе заполнены и уникальны.
  • 🔑 ИНН (+КПП) — для контрагентов. ИНН без КПП найдёт головную организацию, но не различит обособленные подразделения.
  • 🔑 Наименование — только для небольших справочников. «Бумага А4 SvetoCopy» и «Бумага А4 Svetocopy» для 1С разные.
  • 🔑 Штрихкод — для розницы и складов, где штрихкоды заведены в базе.

Перед большой загрузкой выгрузите текущий справочник в Excel (Ещё → Вывести список, затем сохранить) и сверьте поле поиска формулой ВПР. Так вы заранее увидите, сколько строк найдётся, а сколько создастся заново.

Значения ссылочных реквизитов

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

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

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

Что умеет

  • 📂 загружать в справочники, табличные части документов и регистры сведений;
  • 📂 читать данные из файла xls, xlsx, mxl или из вставленной таблицы;
  • 📂 для каждого реквизита задавать режим: искать в базе, устанавливать константу или вычислять выражением;
  • 📂 сохранять настройки в файл, чтобы не настраивать заново каждый раз.

Как запустить

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

Права на открытие внешних обработок дают не всем. Если пункт открытия файла недоступен или обработка не запускается, попросите администратора базы добавить её в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.

Автоматизация регулярной загрузки из Excel через внешнюю обработку

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

Минимальный код чтения файла

Платформа читает Excel в объект ТабличныйДокумент, дальше значения берутся по ячейкам. Пример: обновление цен поставщика в регистре по артикулу. Колонка 1 — артикул, колонка 2 — цена, данные со второй строки.

&НаСервере
Процедура ЗагрузитьПрайс(ИмяФайла)

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

    Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл

        Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст);
        ЦенаТекстом = ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст;
        ЦенаТекстом = СтрЗаменить(СтрЗаменить(ЦенаТекстом, " ", ""), Символы.НПП, "");

        Если ПустаяСтрока(Артикул) Тогда
            Продолжить;
        КонецЕсли;

        Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
        Если Номенклатура.Пустая() Тогда
            Сообщить(СтрШаблон("Строка %1: артикул %2 не найден", Формат(НомерСтроки, "ЧГ=0"), Артикул));
            Продолжить;
        КонецЕсли;

        Попытка
            Цена = Число(ЦенаТекстом);
        Исключение
            Сообщить(СтрШаблон("Строка %1: цена «%2» не число", Формат(НомерСтроки, "ЧГ=0"), ЦенаТекстом));
            Продолжить;
        КонецПопытки;

        // здесь запись цены в регистр или документ установки цен
        // по правилам вашей конфигурации

    КонецЦикла;

КонецПроцедуры

Код не останавливается на первой плохой строке: он пишет сообщение с номером строки и идёт дальше. Для ежедневного импорта это важнее скорости.

Запись цен в БП 3.0 и УТ 11 устроена по-разному (разные документы и регистры). Последний шаг пишите под свою конфигурацию через документ установки цен, а не прямой записью в регистр: так останется история изменений.

Как запускать без участия человека

  • ⏱ Дополнительная обработка с расписанием. В БСП-конфигурациях обработку регистрируют в Дополнительные отчеты и обработки и в карточке команды задают расписание. Нужна серверная команда, а файл должен лежать в папке, доступной серверу 1С.
  • ⏱ Планировщик Windows + параметр запуска. Задача запускает 1cv8.exe ENTERPRISE /F"D:\Bases\Trade" /N"Robot" /P"..." /Execute"D:\Load\price.epf". Обработка при открытии загружает файл и закрывает сеанс. Для этого заведите отдельного пользователя с минимальными правами.
  • ⏱ Расширение конфигурации с регламентным заданием — самый надёжный вариант для клиент-серверной базы, не теряется при обновлении типовой.

В файловой базе фоновые и регламентные задания выполняются, только пока в базе работает хотя бы один клиентский сеанс. Для гарантированного ночного импорта в файловой базе используйте планировщик Windows.

Ошибки при импорте из Excel и что с ними делать

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

Если загрузка прошла с ошибками

Не загружайте файл повторно поверх. Сначала разберитесь, что уже попало в базу:

  1. Отберите список справочника по дате создания или автору — так видны новые элементы.
  2. Лишнее пометьте на удаление. Удаление помеченных выполняется отдельно и проверяет ссылки.
  3. Если загрузка шла в документы — отмените проведение и удалите созданные документы.
  4. Исправьте файл и повторите на нескольких строках, прежде чем грузить всё.

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

Какой способ импорта выбрать

СпособКогда подходитОграничения и риски
Встроенная «Загрузка данных из файла»Номенклатура, контрагенты, товары в документах; разовая загрузка до нескольких тысяч строкТолько объекты, где есть команда; набор реквизитов ограничен формой
Универсальная обработка из ИТСРегистры сведений, нестандартные реквизиты, сложные правила поискаНужны права на внешние обработки; легко ошибиться с режимом поиска
Своя внешняя обработкаЕжедневный файл одного формата, своя логика проверокНужен программист; при смене формата файла код правят
Расширение с регламентным заданиемРегулярный импорт в клиент-серверной базе без участия человекаСамая дорогая разработка; нужен сервер и доступная ему папка
Ручной вводДо 20–30 строкМедленно и с опечатками
Что вам нужно загрузить?

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

Нужен ли Excel на компьютере, чтобы загрузить файл в 1С 8.3?
Нет. Платформа 8.3 сама читает форматы xlsx, xls и ods. Excel нужен только для подготовки таблицы.
Можно ли загрузить файл CSV?
Да, но надёжнее открыть CSV в Excel, проверить разделитель и кодировку, а затем сохранить в xlsx. Иначе кириллица и дробные числа могут прочитаться неверно.
Сколько строк можно загрузить за один раз?
Жёсткого лимита нет. На практике файлы больше 10 тысяч строк удобнее делить на части: проще найти ошибку и меньше риск обрыва при долгой загрузке.
Как загрузить картинки товаров из Excel?
Встроенная загрузка изображения не переносит. Картинки добавляют отдельно в карточку номенклатуры или своей обработкой по путям к файлам, указанным в колонке.
Работает ли загрузка из Excel в 1С в облаке (1С:Фреш)?
Встроенная загрузка работает: файл передаётся через браузер. Свои внешние обработки в облачном сервисе подключают с ограничениями, условия уточняйте у провайдера.