Таблица из Excel в 1С: вставка, загрузка файла и свои обработки

· 9 мин

Содержание

Выделили таблицу в Excel, нажали Ctrl+C, в 1С нажали Ctrl+V — и получили либо одну строку, либо кашу из текста вместо чисел. Отсюда мнение, что из экселя в 1С таблицу «просто так» не перенести. Это не так: вставка в табличную часть документа работает, если подготовить колонки и поставить курсор в нужную ячейку.

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

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

СпособКогда подходитРиски
Вставка через буфер (Ctrl+V)Разовая загрузка до 100-200 строк в документ: поступление, счёт, ввод остатковКолонки должны идти в том же порядке, что в табличной части
Загрузка из табличного документа обработкойСотни и тысячи строк, нужно сопоставление с номенклатурой, контрагентамиНужна обработка; дубли, если сопоставление по неточному названию
Своя обработка с чтением файлаЗагрузка повторяется каждую неделю или каждый деньНужен программист или готовый шаблон кода
Сколько у вас строк и как часто вы их переносите?

Подготовьте таблицу до копирования

Половина проблем при переносе создаётся в самом Excel. 1С читает ячейку как есть: если там текст «1 250,50» с неразрывным пробелом, число из неё не получится.

Что сделать с файлом:

  • 🧹 Оставьте только данные. Уберите заголовки отчёта, итоговые строки, объединённые ячейки. Шапка с названиями колонок — одна строка либо её вообще нет.
  • 🔢 Сделайте числа числами. Выделите колонку и посмотрите на формат. Если числа выровнены по левому краю, это текст. Исправьте через Данные → Текст по столбцам → Готово.
  • 🧮 Замените формулы значениями. Скопируйте колонку и вставьте обратно через Специальная вставка → Значения. Иначе в буфер уйдёт результат, а при чтении файла из 1С можно получить пустую ячейку.
  • ✂️ Уберите лишние пробелы. Функция СЖПРОБЕЛЫ() в Excel чистит обычные пробелы, а неразрывные (код 160) заменяйте через Ctrl+H.
  • 👁 Снимите скрытые строки и фильтры. Скрытые строки при копировании через буфер не попадают, а при чтении файла из 1С попадают. Результат будет разным.
  • 🔤 Артикулы и коды с ведущими нулями переведите в текстовый формат до копирования: 00123 иначе превратится в 123.

Расположите колонки в том же порядке, что и в табличной части документа в 1С. Это главное условие работы обычной вставки. Лишние колонки удалите или перенесите в конец.

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

Вставка через буфер обмена в табличную часть

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

  1. Откройте документ и добавьте хотя бы одну пустую строку в табличной части (кнопка Добавить).
  2. В Excel выделите диапазон только с данными, без шапки, и нажмите Ctrl+C.
  3. В 1С встаньте в первую ячейку первой колонки табличной части.
  4. Нажмите Ctrl+V или выберите Вставить в контекстном меню правой кнопкой.
  5. Проверьте строки: суммы, количество, ставки НДС. Затем Провести.

Что вставка делает с колонками: значения ложатся слева направо в видимые колонки табличной части начиная с той, где стоит курсор. Текст ищется в справочниках по наименованию, числа попадают в числовые поля.

Практический пример. В Excel три строки:

НаименованиеКол-воЦена
Бумага А410350
Папка-регистратор20120
Ручка шариковая10015

После вставки в поступление суммы по строкам должны получиться 3 500, 2 400 и 1 500 рублей. Итого 7 400 рублей. Если сумма отличается, число прочиталось как текст или цена вставилась не в ту колонку.

Если номенклатура в базе не найдена по названию, 1С либо оставит ячейку пустой, либо создаст дубль. Это зависит от конфигурации и настроек. После вставки проверьте, что в колонке «Номенклатура» нет пустых строк.

Если Ctrl+V вставляет всю таблицу в одну ячейку, поставьте курсор не в ячейку ввода, а выделите строку целиком. Если и это не помогает, переходите к загрузке через обработку.

Загрузка файла обработкой

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

В ряде типовых конфигураций есть встроенная загрузка данных из табличного документа (в Бухгалтерии 3.0 она относится к сервису и подсказывается поиском по меню). Точное название и расположение зависят от версии. Найдите её так:

  • откройте главное меню и введите в поисковой строке слово загрузка;
  • или откройте раздел сервисных обработок, если он включён в вашем интерфейсе;
  • если ничего нет, используйте внешнюю обработку . Подключается через Файл → Открыть, выбрав файл с расширением .epf.

Порядок работы для большинства таких обработок:

  1. Выберите файл .xlsx, .xls или сохранённый .mxl.
  2. Укажите, с какой строки начинаются данные, и есть ли шапка.
  3. Свяжите каждую колонку файла с реквизитом 1С.
  4. Нажмите Загрузить или Прочитать и посмотрите промежуточный результат.
  5. Исправьте красные строки (не найдено в справочнике).
  6. Создайте документ или записывайте элементы справочника.

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

Как сопоставить колонки и поля

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

Сопоставление полей
Артикул→Реквизит «Артикул» номенклатуры (поиск)
Наименование→Наименование номенклатуры (создание, если не найдено)
Единица измерения→Единица измерения (справочник)
Количество→Количество в табличной части
Цена→Цена в табличной части
Ставка НДС→Ставка НДС (перечисление)
ИНН поставщика→Контрагент (поиск по ИНН)

Правила, которые экономят нервы:

  • 🔑 Ищите по уникальному полю. Артикул, штрихкод или ИНН надёжнее названия: «Бумага А4» и «Бумага А-4» для 1С разные элементы.
  • 📏 Одинаковые правила ищут одинаково. Если поиск по наименованию, приведите регистр и пробелы в файле к виду справочника.
  • 🆕 Создание новых элементов включайте осознанно. Для первой загрузки лучше «только найти», чтобы сначала увидеть список ненайденных.
  • 🔁 Повторная загрузка. Узнайте, не создаст ли обработка дубли при повторном запуске. Проверьте на двух строках.

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

Если поставщик присылает прайс или реестр в одном и том же формате, пишется простая внешняя обработка. Файл читается без установленного Excel на сервере. Для .xlsx подходит чтение в табличный документ средствами платформы.

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

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

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

    Для НомерСтроки = 2 По Таблица.ВысотаТаблицы Цикл
        Артикул = СокрЛП(Таблица.Область(НомерСтроки, 1).Текст);
        Количество = Таблица.Область(НомерСтроки, 2).Значение;
        Цена = Таблица.Область(НомерСтроки, 3).Значение;
        // здесь поиск номенклатуры и заполнение таблицы значений
    КонецЦикла;

    УдалитьФайлы(ИмяВремФайла);

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

Что важно в этом коде:

  • чтение идёт со второй строки, первая считается шапкой;
  • числа берутся через .Значение, а не .Текст, чтобы не зависеть от форматирования;
  • временный файл удаляется сразу после чтения.

Второй вариант чтения — через COM-объект Excel.Application. Он работает только если Excel установлен на том компьютере, где выполняется код, и не годится для веб-клиента и серверных баз без Excel. Если можно обойтись чтением файла платформой, используйте его.

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

Ошибки и странности при переносе

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

Из остального по кодировке и форматам:

  • 📅 Даты. Если в ячейке дата хранится как текст «05.10.2026», обработка может не распознать её. Проверьте формат ячейки: должна быть именно дата.
  • 🔤 Лишние символы. Невидимые знаки (код 160, табуляции) попадают из веб-страниц и PDF. Чистятся функцией ПОДСТАВИТЬ() в Excel.
  • 📄 Формат .xls и .xlsx. Старый .xls читается не всегда одинаково. Если загрузка падает, пересохраните файл в .xlsx.
  • 📊 Макросы. Файл .xlsm лучше пересохранить без макросов.

Когда переносить из Excel не нужно

Не всякую задачу стоит решать копированием:

  • 🔄 Данные уже есть в другой программе 1С. Для обмена между базами есть конвертация данных . Она переносит связи между объектами, а Excel — только плоскую таблицу.
  • 🏦 Банковская выписка. Загружается из файла обмена с банком или через клиент-банк, а не вставкой.
  • 🧾 Входящие документы от поставщика. Если у вас подключен ЭДО, берите документ оттуда: 1С разберёт строки сама.
  • 📦 Остатки на склад. Для первичного ввода есть документ ввода остатков, но проверяйте сальдо по каждому счёту отдельно.

Проверьте результат до проведения документа

Минимальный контроль занимает пять минут и спасает от неверных остатков.

  • Сравните итог по сумме и количеству в Excel и в документе. В Excel выделите колонку и посмотрите сумму в строке состояния внизу.
  • Отфильтруйте в табличной части строки с пустой номенклатурой или нулевой ценой.
  • Для справочников: после загрузки сгруппируйте по наименованию и найдите повторы.
  • Первую загрузку делайте на копии базы или на тестовом документе без проведения.
Каким способом вы чаще всего переносите таблицы из Excel в 1С?

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

Можно ли вставить таблицу из Excel в 1С без обработок?
Да, для табличных частей документов. Выделите диапазон без шапки, скопируйте и вставьте в первую ячейку табличной части через Ctrl+V. Порядок колонок должен совпадать.
Почему при вставке пропадают строки?
Обычно часть строк в Excel скрыта фильтром: скрытые строки в буфер не попадают. Снимите фильтр или скопируйте видимые ячейки, затем сравните количество строк.
Нужно ли устанавливать Excel на сервер 1С?
Для чтения .xlsx через табличный документ платформы — нет. Excel нужен только при работе через COM-объект.
Как загрузить в 1С файл в формате CSV?
Откройте его в Excel через импорт текста с нужной кодировкой и сохраните как .xlsx. Либо читайте через объект платформы для текстовых файлов.
Можно ли загружать сразу в справочник номенклатуры?
Да, отдельной обработкой загрузки справочников. Начните с одной-двух строк, проверьте поля и только потом загружайте весь файл. Резервная копия базы обязательна.
Работает ли вставка в веб-клиенте?
Работает в тонком клиенте и обычно в веб-клиенте, но в браузере возможны ограничения на доступ к буферу обмена. Если не получилось, попробуйте тонкий клиент.