Перенос таблицы Excel в 1С 8.3: вставка, загрузка из файла и обработка
Содержание
Скопировать таблицу из Excel в 1С обычным Ctrl+C → Ctrl+V прямо в табличную часть документа нельзя: вставка ляжет в одну ячейку. Рабочий путь — команда «Загрузить» у табличной части (или у списка справочника): откроется форма-шаблон, в неё таблица из Excel вставляется целиком, а 1С сама сопоставит строки с номенклатурой и контрагентами.
Если такой команды нет, данные переносят из файла .xlsx универсальной обработкой «Загрузка данных из табличного документа» или своей внешней обработкой. Ниже — все три способа для 1С 8.3 в интерфейсе «Такси», от простого к техническому, плюс подготовка файла и разбор ошибок.
Что сделать с таблицей Excel до копирования в 1С
Половина неудачных загрузок ломается не в 1С, а в исходном файле. Пять минут чистки экономят повторную загрузку и ручное удаление задвоенных элементов.
Приведите лист к простому виду:
- Одна строка заголовков. Многоуровневые шапки, пустые строки между блоками и строку «Итого» внизу удалите.
- Без объединённых ячеек. Выделите весь лист →
Главная → Объединить и поместить в центре → Отменить объединение. - Формулы → значения. Скопируйте столбцы и вставьте через
Специальная вставка → Значения. Иначе при чтении файла можно получить текст ошибки#ССЫЛКА!вместо числа. - Числа как числа. Сумма «1 250,00 руб.» с пробелом-разделителем и буквами не распознается. Уберите обозначение валюты и неразрывные пробелы (
Ctrl+H, в поле «Найти» введите пробел, скопированный из ячейки). - Лишние пробелы. Функция
=СЖПРОБЕЛЫ(A2)убирает пробелы по краям — иначе «Гвоздь 50 » и «Гвоздь 50» станут двумя разными товарами. - Артикулы и ИНН — текстом. Формат ячейки «Текстовый», чтобы не пропали ведущие нули: артикул
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 для ряда объектов) есть встроенная загрузка из файла. Ищите её так:
- 📄 В документе — над табличной частью «Товары» или «Услуги» кнопка
Загрузить(в некоторых формах она спрятана в менюЕщё). Есть в поступлении и реализации товаров, заказах, перемещении, инвентаризации. - 📚 В справочнике — в списке «Номенклатура» или «Контрагенты» команда
Загрузитьв командной панели или в менюЕщё.
Пошагово на примере поступления товаров
- Создайте документ, заполните шапку: организацию, контрагента, склад, договор. Без них строки табличной части загрузятся без цен с НДС.
- Над табличной частью нажмите
Загрузить. - Откроется форма с пустой таблицей: колонки «Номенклатура», «Количество», «Цена» и другие. Скопируйте в Excel диапазон без шапки и вставьте в первую ячейку таблицы (
Ctrl+V). - Если колонок в Excel больше или они идут в другом порядке — сначала переставьте столбцы в Excel под шаблон или удалите лишние.
- Нажмите
Далее. 1С ищет каждую строку в справочнике и показывает, что нашлось, а что нет. - Для несопоставленных строк выберите товар вручную или разрешите создать новый элемент (если форма предлагает такой вариант).
- Нажмите
Загрузить— строки окажутся в табличной части. Суммы и НДС пересчитаются по ставкам из карточек номенклатуры. - Проверьте итог документа и сравните его с итогом в Excel, только потом проводите.
Вместо вставки через буфер в той же форме можно указать сам файл: .xlsx, .xls, .ods, .csv или .mxl. Удобно, когда строк тысячи и копирование подтормаживает.
Загрузка добавляет строки к уже существующим. Нажали «Загрузить» дважды — получили задвоенный приход. Перед повторной загрузкой очистите табличную часть.
Обработка «Загрузка данных из табличного документа»
Когда встроенной команды нет — нестандартный документ, регистр сведений
, отраслевая конфигурация — помогает универсальная внешняя обработка ЗагрузкаДанныхИзТабличногоДокумента.epf. Её выпускает фирма 1С, версия для управляемых форм подходит к 8.3. Файл берут с диска ИТС или у вашего обслуживающего специалиста.
Порядок работы:
- Откройте обработку:
Главное меню → Файл → Открытьи выберите.epf. Если база ругается на безопасность, администратор должен дать право на открытие внешних обработок. - В поле «Режим загрузки» выберите, куда грузите: в справочник, в табличную часть объекта или в регистр сведений.
- Укажите вид объекта — например, справочник «Номенклатура» или документ и его табличную часть.
- На закладке табличного документа откройте файл Excel (команда открытия файла в панели обработки) или вставьте данные из буфера.
- На закладке настроек отметьте флажками реквизиты, которые заполняете, и укажите номер колонки Excel для каждого.
- Задайте номер первой строки данных — обычно
2, если в первой строке заголовки. - Выполните контроль заполнения: обработка подсветит строки, где значение не найдено или не подходит по типу.
- Нажмите
Загрузить.
Лучшее у этой обработки — режимы заполнения реквизита:
| Режим | Что делает | Пример |
|---|---|---|
| Искать | Находит ссылку по значению из колонки | Единицу «шт» — в справочнике единиц |
| Устанавливать | Ставит одно значение во все строки | Вид номенклатуры «Товар» для всех |
| Вычислять | Считает значение выражением на встроенном языке | Наименование = артикул + название |
Настройки колонок сохраните в файл через меню обработки. При регулярной загрузке прайса поставщика восстановите их одним действием, а не будете расставлять номера колонок заново.
Как сопоставить колонки Excel с реквизитами 1С
Сопоставление — главный этап при переносе данных из Excel в 1С. Ошибётесь здесь — получите «Количество» в поле «Цена» на тысяче строк.
Правила, которые стоит держать в голове:
- 🔎 Поле поиска задаёт, создастся ли дубль. В обработке отметьте «Поле поиска» у артикула или кода. Без него при каждом запуске появятся новые элементы с тем же названием.
- 🔗 Ссылочные реквизиты ищутся по представлению. В колонке «Единица» должно стоять «шт», как в справочнике единиц, а не «штук» или «шт.».
- 🔢 Числовые поля не принимают текст. Если в колонке «Количество» встретится «уточнить», строка упадёт на контроле.
- 📅 Даты — в формате ДД.ММ.ГГГГ. Американский формат из выгрузки CRM (
10/07/2026) прочитается неверно или не прочитается вовсе. - ✅ Булевы реквизиты заполняйте «Да»/«Нет» или «Истина»/«Ложь», а не «+», «1» или «есть».
Типовая схема для прайса поставщика:
Когда грузите и номенклатуру, и цены, идите в два прохода. Сначала заведите товары в справочник по артикулу, затем загружайте документ поступления или установки цен. Тогда на втором шаге все строки найдутся.
Ошибки при загрузке данных из 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?
Как перенести данные обратно из 1С в Excel?
Ещё → Вывести список и сохраните результат как .xlsx. Отчёты сохраняются кнопкой сохранения в панели отчёта.Подходит ли файл из Google Таблиц?
.xlsx или .ods — оба формата 1С читает. Копирование из браузера в форму-шаблон тоже работает.