Импорт таблицы Excel в 1С: справочники, документы и регулярная загрузка

· 10 мин

Содержание

Загрузить Excel в 1С 8.3 можно тремя способами. В типовых конфигурациях на БСП (Бухгалтерия 3.0, УТ 11, ERP) номенклатуру и строки документов загружают встроенной командой «Загрузить» прямо из списка или табличной части. Для нестандартных случаев берут внешнюю обработку «Загрузка данных из табличного документа». А если файл приходит каждую неделю, загрузку автоматизируют кодом на встроенном языке через ТабличныйДокумент.Прочитать().

Какой бы способ вы ни выбрали, успех на 80% решает подготовка файла. Кривой Excel даёт дубли в справочниках, пустые реквизиты и суммы, разъехавшиеся на копейки. Поэтому начнём с таблицы, а потом перейдём к самой загрузке данных в 1С.

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

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

Структура листа:

  • 📄 Одна строка заголовков, данные сразу под ней. Без пустых строк сверху, без итогов внизу.
  • 🧱 Никаких объединённых ячеек. Объединение ломает нумерацию колонок, и данные съезжают.
  • 📑 Один лист — один вид данных. Если в книге несколько листов, загрузка обычно берёт первый. Нужный лист перенесите в начало или сохраните отдельным файлом.
  • 🔍 Уберите фильтры, скрытые строки и колонки. Скрытая строка всё равно загрузится.

Значения в ячейках:

  • 🔢 Числа — числами. Формат «1 200,00» с неразрывным пробелом Excel часто хранит как текст. Проверка простая: число прижато к правому краю ячейки, текст — к левому.
  • 🧮 Формулы замените значениями: Копировать → Специальная вставка → Значения. Ссылки на другие книги при чтении превратятся в ошибки.
  • 🏷️ ИНН, КПП, артикулы, штрихкоды — в текстовом формате. Иначе Excel срежет ведущий ноль, и ИНН 0274... станет девятизначным. Штрихкод из 13 цифр превратится в 4,6E+12.
  • 📅 Даты — в одном формате ДД.ММ.ГГГГ, без слов «г.» и времени.
  • ✂️ Уберите пробелы в начале и конце строк. Для Excel это функция СЖПРОБЕЛЫ(). Для 1С «Гвоздь » и «Гвоздь» — два разных товара.
  • 📏 Единицы измерения и ставки НДС пишите так, как они названы в справочниках 1С: «шт», «кг», «20%», «Без НДС».

Лучшая колонка для поиска — артикул или код, а не наименование. Наименования у поставщика и у вас почти никогда не совпадают символ в символ. Если артикулов нет, заведите их в 1С до загрузки, иначе вместо сопоставления получите новые элементы.

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

Проверьте файл заранее: откройте его в 1С через Главное меню → Файл → Открыть. Он откроется как табличный документ. Если там всё читается ровно — колонки на месте, числа без мусора, — загрузка пройдёт без сюрпризов.

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

В Бухгалтерии 3.0 и других конфигурациях на БСП есть помощник загрузки данных из файла. Внешние обработки для него не нужны, права администратора тоже.

Загрузка номенклатуры в справочник

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

Заголовки колонок помощник подбирает сам, если они совпадают с названиями реквизитов: «Наименование», «Артикул», «Единица». Остальные колонки сопоставьте вручную в шапке таблицы.

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

Так же загружаются табличные части документов: поступление товаров, реализация, заказ поставщику , инвентаризация. Откройте документ, перейдите на вкладку «Товары» и нажмите «Загрузить» над табличной частью. Порядок тот же: вставили данные, сопоставили номенклатуру, перенесли строки.

Это главный приём, когда поставщик присылает счёт в Excel на 300 позиций. Ничего не набираете руками: вставили, проверили сопоставление, провели.

После загрузки строк сверьте итог документа с итогом файла поставщика. Расхождение в несколько копеек обычно значит, что в Excel были цены с тремя-четырьмя знаками после запятой, а 1С округлила их до двух.

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

Встроенного помощника хватает не всегда. Он работает только там, где разработчики конфигурации его подключили. А загрузить нужно бывает что угодно: контрагентов с договорами, цены в регистр сведений , адреса, характеристики.

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

РежимКуда грузитПример задачи
СправочникЭлементы справочникаКонтрагенты, сотрудники, склады
Табличная частьСтроки документа или элементаТовары в документе, состав комплекта
Регистр сведенийЗаписи регистраЦены, курсы, штрихкоды

Для Бухгалтерии 3.0 и других конфигураций в интерфейсе «Такси» берите вариант обработки на управляемых формах. Версия на обычных формах откроется только в толстом клиенте.

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

Есть два пути:

  • Разово: Главное меню → Файл → Открыть, выбрать файл .epf. Нужно право на интерактивное открытие внешних обработок. Обычно оно есть только у роли «Полные права».
  • Постоянно: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Включите флажок использования, добавьте обработку из файла и назначьте, кому она доступна.

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

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

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

Это самая тонкая часть импорта. Универсальная обработка показывает список реквизитов объекта, и для каждого вы задаёте, откуда брать значение.

Режимы для каждого реквизита

  • Искать — значение берётся из колонки файла. Если реквизит ссылочный (единица, контрагент, вид номенклатуры), 1С ищет в справочнике элемент с таким наименованием или кодом.
  • Устанавливать — одно фиксированное значение для всех строк. Например, вид номенклатуры «Товары» или ставка НДС «20%».
  • Вычислять — выражение на встроенном языке. Пригодится, чтобы склеить две колонки или убрать лишние символы.

Для каждого реквизита в режиме «Искать» укажите номер колонки. Нумерация идёт с 1 и считается по файлу, а не по порядку реквизитов. Если в Excel перед артикулом есть пустая колонка, её тоже нужно учесть.

Поле поиска: от него зависят дубли

Флажком «Поле поиска» отмечают реквизит, по которому обработка решает: обновить существующий элемент или создать новый.

Поле поискаЧто получится
Артикул или кодНадёжно: совпадения однозначны
ИНН (для контрагентов)Надёжно, если у всех заполнен и нет обособленных подразделений
НаименованиеРискованно: любой лишний пробел создаёт дубль
Ничего не отмеченоКаждая строка создаёт новый элемент

Для контрагентов с филиалами ищите по паре ИНН и КПП: один ИНН у головной организации и всех её подразделений.

Типы данных

  • Число. Если в колонке есть текст или пробелы-разделители, 1С запишет ноль. Вычистите колонку в Excel.
  • Дата. Ячейки должны быть датой в Excel, а не строкой «15 марта».
  • Булево. Обработка ждёт «Да/Нет» или «Истина/Ложь». Значения «+», «есть», «1» замените заранее.
  • Ссылка. Значение должно совпадать с наименованием или кодом элемента в справочнике. «шт.» с точкой и «шт» без неё — разные значения.
  • Перечисление. Пишите представление значения так, как его видно в 1С.

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

Перед загрузкой запустите контроль заполнения. Обработка подсветит строки, где не нашлось ссылочное значение или не распозналось число. Исправьте их в файле, а не в 1С после загрузки: так проще и быстрее.

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

Регулярная загрузка из Excel: автоматизация

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

Первый уровень — сохранённые настройки. В универсальной обработке настройки колонок хранятся в файле. Сотрудник открывает обработку, загружает настройку, выбирает новый Excel и жмёт «Загрузить». Пять минут вместо получаса.

Второй уровень — своя обработка с кодом. Программист пишет внешнюю обработку под конкретный формат файла. Табличный документ платформы 8.3 сам читает .xlsx, без Excel на компьютере и без COM-объектов. Пример загрузки номенклатуры по артикулу:

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

// строка 1 — заголовки, данные со второй
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл

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

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

    Ссылка = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
    Если Ссылка.Пустая() Тогда
        Объект = Справочники.Номенклатура.СоздатьЭлемент();
        Объект.Артикул = Артикул;
    Иначе
        Объект = Ссылка.ПолучитьОбъект();
    КонецЕсли;

    Объект.Наименование = Наименование;
    Объект.Записать();

КонецЦикла;

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

Загрузка по расписанию. Обработку регистрируют как дополнительную в разделе Администрирование → Печатные формы, отчеты и обработки и настраивают для её команды расписание. Тогда загрузка идёт на сервере без участия пользователя.

При запуске на сервере файл читает служба 1С, а не пользователь. Путь C:\Users\Иванов\Desktop\прайс.xlsx сервер не увидит. Кладите файл в сетевую папку и дайте доступ учётной записи, от которой работает сервер 1С (по умолчанию USR1CV8).

Когда Excel — не лучший путь

Excel удобен для разовых и небольших загрузок. Но для некоторых данных есть штатные механизмы, и они надёжнее:

ДанныеЧем загружать вместо Excel
Банковская выпискаОбмен с клиент-банком в формате 1CClientBankExchange или прямой обмен с банком
Документы от поставщикаЭДО: накладная и счёт-фактура приходят в 1С уже со строками
Данные из другой базы 1ССинхронизация данных или конвертация, а не выгрузка через Excel
Тысячи строк ежедневноОбмен через HTTP-сервис или API, а не файлы

Через Excel эти данные загрузить тоже можно. Но вы теряете связи между объектами и тратите время на сопоставление, которое обмен делает сам.

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

Можно ли загрузить Excel в 1С без внешних обработок?
Да. В Бухгалтерии 3.0, УТ 11 и ERP есть встроенная команда «Загрузить» в справочнике номенклатуры и в табличных частях товарных документов. Данные вставляются копированием из Excel.
Нужен ли установленный Microsoft Excel на компьютере?
Нет. Платформа 8.3 сама читает файлы .xlsx и .xls как табличный документ. Excel или LibreOffice нужны только для подготовки файла.
Как отменить неудачную загрузку?
Штатной отмены нет. Созданные элементы найдите в списке по дате или группе и пометьте на удаление, затем удалите помеченные объекты. Если загрузка испортила существующие элементы, надёжнее восстановиться из резервной копии.
Можно ли так загрузить начальные остатки?
Можно загрузить строки в табличную часть документа ввода остатков, если в конфигурации есть команда загрузки или вы пользуетесь обработкой в режиме табличной части. Перед этим заведите в справочниках все товары, иначе строки не сопоставятся.
Почему в 1С не появились картинки и комментарии из Excel?
Загрузка переносит только значения ячеек. Изображения номенклатуры прикрепляют отдельно, а примечания к ячейкам не читаются.