Перенос таблицы Excel в 1С 8.3: вставка, загрузка из файла и обработка

· 10 мин

Содержание

Скопировать таблицу из Excel в 1С обычным Ctrl+C → Ctrl+V прямо в табличную часть документа нельзя: вставка ляжет в одну ячейку. Рабочий путь — команда «Загрузить» у табличной части (или у списка справочника): откроется форма-шаблон, в неё таблица из Excel вставляется целиком, а 1С сама сопоставит строки с номенклатурой и контрагентами.

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

Что сделать с таблицей Excel до копирования в 1С

Половина неудачных загрузок ломается не в 1С, а в исходном файле. Пять минут чистки экономят повторную загрузку и ручное удаление задвоенных элементов.

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

  1. Одна строка заголовков. Многоуровневые шапки, пустые строки между блоками и строку «Итого» внизу удалите.
  2. Без объединённых ячеек. Выделите весь лист → Главная → Объединить и поместить в центре → Отменить объединение.
  3. Формулы → значения. Скопируйте столбцы и вставьте через Специальная вставка → Значения. Иначе при чтении файла можно получить текст ошибки #ССЫЛКА! вместо числа.
  4. Числа как числа. Сумма «1 250,00 руб.» с пробелом-разделителем и буквами не распознается. Уберите обозначение валюты и неразрывные пробелы (Ctrl+H, в поле «Найти» введите пробел, скопированный из ячейки).
  5. Лишние пробелы. Функция =СЖПРОБЕЛЫ(A2) убирает пробелы по краям — иначе «Гвоздь 50 » и «Гвоздь 50» станут двумя разными товарами.
  6. Артикулы и ИНН — текстом. Формат ячейки «Текстовый», чтобы не пропали ведущие нули: артикул 00125 превращается в 125, и поиск не находит товар.

Добавьте в Excel столбец с ключом поиска — артикулом, ИНН или кодом. По наименованию 1С тоже ищет, но любая разница в написании («ООО Ромашка» и «ООО “Ромашка”») даёт несопоставленную строку.

Что проверить в самой базе

  • 🔑 Права: для загрузки в справочник нужно право на его изменение, для внешней обработки — право открывать внешние обработки.
  • 📦 Справочники-ссылки: единицы измерения, ставки НДС, склады из файла должны уже существовать в 1С.
  • 💾 Резервная копия: перед массовой загрузкой в справочник сделайте копию базы . Удалять сотни ошибочных элементов вручную долго, а пометка на удаление не снимает ссылки из уже проведённых документов.

Почему вставка из Excel в 1С через буфер работает не везде

Буфер обмена в 1С работает, но результат зависит от того, куда вы вставляете.

Куда вставляетеРезультат Ctrl+V
Одно поле формы (наименование, комментарий)Текст вставится как есть
Табличная часть документаВсё содержимое попадёт в одну ячейку или вставка не сработает
Форма «Загрузка данных» (шаблон команды «Загрузить»)Таблица ляжет по колонкам и строкам
Табличный документ (.mxl, отчёт, макет)Ячейки разложатся по сетке

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

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

Загрузка из Excel в документ и справочник командой «Загрузить»

В типовых конфигурациях на базе БСП (Бухгалтерия 3.0, УТ 11, ЗУП 3.1 для ряда объектов) есть встроенная загрузка из файла. Ищите её так:

  • 📄 В документе — над табличной частью «Товары» или «Услуги» кнопка Загрузить (в некоторых формах она спрятана в меню Ещё). Есть в поступлении и реализации товаров, заказах, перемещении, инвентаризации.
  • 📚 В справочнике — в списке «Номенклатура» или «Контрагенты» команда Загрузить в командной панели или в меню Ещё.

Пошагово на примере поступления товаров

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

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

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

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

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

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

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

Лучшее у этой обработки — режимы заполнения реквизита:

РежимЧто делаетПример
ИскатьНаходит ссылку по значению из колонкиЕдиницу «шт» — в справочнике единиц
УстанавливатьСтавит одно значение во все строкиВид номенклатуры «Товар» для всех
ВычислятьСчитает значение выражением на встроенном языкеНаименование = артикул + название

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

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

Сопоставление — главный этап при переносе данных из Excel в 1С. Ошибётесь здесь — получите «Количество» в поле «Цена» на тысяче строк.

Правила, которые стоит держать в голове:

  • 🔎 Поле поиска задаёт, создастся ли дубль. В обработке отметьте «Поле поиска» у артикула или кода. Без него при каждом запуске появятся новые элементы с тем же названием.
  • 🔗 Ссылочные реквизиты ищутся по представлению. В колонке «Единица» должно стоять «шт», как в справочнике единиц, а не «штук» или «шт.».
  • 🔢 Числовые поля не принимают текст. Если в колонке «Количество» встретится «уточнить», строка упадёт на контроле.
  • 📅 Даты — в формате ДД.ММ.ГГГГ. Американский формат из выгрузки CRM (10/07/2026) прочитается неверно или не прочитается вовсе.
  • ✅ Булевы реквизиты заполняйте «Да»/«Нет» или «Истина»/«Ложь», а не «+», «1» или «есть».

Типовая схема для прайса поставщика:

Сопоставление полей
Артикул (колонка A)→Номенклатура.Артикул, поле поиска
Наименование (колонка B)→Номенклатура.Наименование
Ед. изм. (колонка C)→Единица измерения, режим «Искать»
Ставка НДС (колонка D)→Ставка НДС, значение из перечисления ставок
Цена (колонка E)→Цена в табличной части или в регистре цен
Количество (колонка F)→Количество в табличной части документа

Когда грузите и номенклатуру, и цены, идите в два прохода. Сначала заведите товары в справочник по артикулу, затем загружайте документ поступления или установки цен. Тогда на втором шаге все строки найдутся.

Ошибки при загрузке данных из Excel и где искать причину

Встроенная форма загрузки показывает несопоставленные строки прямо на шаге Далее. Обработка табличного документа подсвечивает их при контроле заполнения. Если запись уже прошла, но что-то не так, загляните в журнал регистрации: Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте его по пользователю и времени загрузки — там видно, какие элементы созданы и на каких записях была ошибка.

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

Ошибочно созданные элементы не удаляйте сразу «Удалить» на сотне строк. Сначала пометка на удаление, потом Администрирование → Обслуживание → Удаление помеченных объектов: программа покажет, где на элемент ещё есть ссылки.

Автоматизация: своя обработка для регулярной загрузки

Если файл одного формата приходит каждую неделю — прайс поставщика, остатки из складской программы, табель из таблицы, — проще один раз написать внешнюю обработку. Пользователь выбирает файл и нажимает одну кнопку, без расстановки колонок.

Платформа 8.3 читает .xlsx в табличный документ методом Прочитать(), Excel на компьютере для этого не нужен. Старый способ через COM-объект Excel.Application требует установленного Excel, работает медленнее и не запускается на сервере без офиса — его стоит оставить для старых баз.

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

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

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

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

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

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

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

		Попытка
			Элемент = Справочники.Номенклатура.СоздатьЭлемент();
			Элемент.Артикул      = Артикул;
			Элемент.Наименование = Наименование;
			// здесь заполните обязательные реквизиты вашей конфигурации
			Элемент.Записать();
			Создано = Создано + 1;
		Исключение
			ЗаписьЖурналаРегистрации("Загрузка из Excel",
				УровеньЖурналаРегистрации.Ошибка, , ,
				СтрШаблон("Строка %1: %2",
					Формат(НомерСтроки, "ЧГ=0"), ОписаниеОшибки()));
		КонецПопытки;

	КонецЦикла;

	УдалитьФайлы(ИмяФайла);
	Сообщить(СтрШаблон("Создано элементов: %1", Формат(Создано, "ЧГ=0")));

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

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

Что добавить в рабочую версию:

  • 🧾 Обязательные реквизиты. В Бухгалтерии 3.0 у номенклатуры заполняют вид номенклатуры и единицу — без них запись упадёт в Исключение, и вы увидите это в журнале.
  • 🔁 Обновление вместо пропуска. Если товар нашёлся, можно получить объект через Ссылка.ПолучитьОбъект() и обновить наименование или цену.
  • 📊 Итог для пользователя. Выводите не только «создано», но и число ошибок, чтобы было понятно, когда открывать журнал.
  • 🧪 Проверка на копии. Первый прогон делайте в копии базы: ошибку в номере колонки на 5 000 строк дешевле поймать там.

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

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

Можно ли загрузить в 1С сразу несколько листов книги Excel?
Нет, за один проход читается один лист — обычно первый. Перенесите нужный лист на первое место или сохраните каждый лист отдельным файлом.
Сколько строк выдержит загрузка из Excel?
Жёсткого лимита в несколько тысяч строк нет, но форма с десятками тысяч строк работает медленно. Большой файл разбейте на части по 5–10 тысяч строк.
Как перенести данные обратно из 1С в Excel?
В любом списке или табличной части выделите строки и скопируйте их, либо выберите в меню Ещё → Вывести список и сохраните результат как .xlsx. Отчёты сохраняются кнопкой сохранения в панели отчёта.
Подходит ли файл из Google Таблиц?
Да. Скачайте его как .xlsx или .ods — оба формата 1С читает. Копирование из браузера в форму-шаблон тоже работает.
Почему после загрузки в документ цена есть, а сумма нулевая?
Обычно сумма не пересчиталась, потому что цена пришла в колонку, которая не запускает пересчёт. Перезаполните цены в документе или загрузите сразу колонку «Сумма».