Таблица из Excel в 1С: вставка, загрузка файла и свои обработки
Содержание
Выделили таблицу в 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С. Это главное условие работы обычной вставки. Лишние колонки удалите или перенесите в конец.
Всегда работайте с копией файла. Исправления в исходной выгрузке поставщика потом не воспроизвести.
Вставка через буфер обмена в табличную часть
Рабочий способ для документов: Поступление (акт, накладная), Счёт на оплату, Реализация, Ввод начальных остатков. Принцип один, названия пунктов меню отличаются по конфигурациям.
- Откройте документ и добавьте хотя бы одну пустую строку в табличной части (кнопка
Добавить). - В Excel выделите диапазон только с данными, без шапки, и нажмите
Ctrl+C. - В 1С встаньте в первую ячейку первой колонки табличной части.
- Нажмите
Ctrl+Vили выберитеВставитьв контекстном меню правой кнопкой. - Проверьте строки: суммы, количество, ставки НДС. Затем
Провести.
Что вставка делает с колонками: значения ложатся слева направо в видимые колонки табличной части начиная с той, где стоит курсор. Текст ищется в справочниках по наименованию, числа попадают в числовые поля.
Практический пример. В Excel три строки:
| Наименование | Кол-во | Цена |
|---|---|---|
| Бумага А4 | 10 | 350 |
| Папка-регистратор | 20 | 120 |
| Ручка шариковая | 100 | 15 |
После вставки в поступление суммы по строкам должны получиться 3 500, 2 400 и 1 500 рублей. Итого 7 400 рублей. Если сумма отличается, число прочиталось как текст или цена вставилась не в ту колонку.
Если номенклатура в базе не найдена по названию, 1С либо оставит ячейку пустой, либо создаст дубль. Это зависит от конфигурации и настроек. После вставки проверьте, что в колонке «Номенклатура» нет пустых строк.
Если Ctrl+V вставляет всю таблицу в одну ячейку, поставьте курсор не в ячейку ввода, а выделите строку целиком. Если и это не помогает, переходите к загрузке через обработку.
Загрузка файла обработкой
Когда строк много, вставка неудобна: 1С не покажет, что не нашлось в справочнике, пока вы не просмотрите всю таблицу. Обработка загрузки делает это в два этапа: читает файл в промежуточную таблицу, вы сопоставляете, потом создаёт документы.
В ряде типовых конфигураций есть встроенная загрузка данных из табличного документа (в Бухгалтерии 3.0 она относится к сервису и подсказывается поиском по меню). Точное название и расположение зависят от версии. Найдите её так:
- откройте главное меню и введите в поисковой строке слово
загрузка; - или откройте раздел сервисных обработок, если он включён в вашем интерфейсе;
- если ничего нет, используйте внешнюю обработку
. Подключается через
Файл→Открыть, выбрав файл с расширением.epf.
Порядок работы для большинства таких обработок:
- Выберите файл
.xlsx,.xlsили сохранённый.mxl. - Укажите, с какой строки начинаются данные, и есть ли шапка.
- Свяжите каждую колонку файла с реквизитом 1С.
- Нажмите
ЗагрузитьилиПрочитатьи посмотрите промежуточный результат. - Исправьте красные строки (не найдено в справочнике).
- Создайте документ или записывайте элементы справочника.
Внешние обработки из интернета выполняют код с правами вашего пользователя. Запускайте только проверенные, сначала на копии базы. В файловой базе делайте резервную копию, в серверной — через выгрузку.
Как сопоставить колонки и поля
Сопоставление решает три вопроса: что из файла идёт в какое поле, как искать существующий элемент, что делать с ненайденным.
Правила, которые экономят нервы:
- 🔑 Ищите по уникальному полю. Артикул, штрихкод или ИНН надёжнее названия: «Бумага А4» и «Бумага А-4» для 1С разные элементы.
- 📏 Одинаковые правила ищут одинаково. Если поиск по наименованию, приведите регистр и пробелы в файле к виду справочника.
- 🆕 Создание новых элементов включайте осознанно. Для первой загрузки лучше «только найти», чтобы сначала увидеть список ненайденных.
- 🔁 Повторная загрузка. Узнайте, не создаст ли обработка дубли при повторном запуске. Проверьте на двух строках.
Автоматизация: своя обработка для регулярных выгрузок
Если поставщик присылает прайс или реестр в одном и том же формате, пишется простая внешняя обработка. Файл читается без установленного Excel на сервере. Для .xlsx подходит чтение в табличный документ средствами платформы.
&НаСервере
Процедура ПрочитатьФайлНаСервере(АдресФайла)
ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайла);
ИмяВремФайла = ПолучитьИмяВременногоФайла("xlsx");
ДвоичныеДанные.Записать(ИмяВремФайла);
Таблица = Новый ТабличныйДокумент;
Таблица.Прочитать(ИмяВремФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По Таблица.ВысотаТаблицы Цикл
Артикул = СокрЛП(Таблица.Область(НомерСтроки, 1).Текст);
Количество = Таблица.Область(НомерСтроки, 2).Значение;
Цена = Таблица.Область(НомерСтроки, 3).Значение;
// здесь поиск номенклатуры и заполнение таблицы значений
КонецЦикла;
УдалитьФайлы(ИмяВремФайла);
КонецПроцедуры
Что важно в этом коде:
- чтение идёт со второй строки, первая считается шапкой;
- числа берутся через
.Значение, а не.Текст, чтобы не зависеть от форматирования; - временный файл удаляется сразу после чтения.
Второй вариант чтения — через COM-объект Excel.Application. Он работает только если Excel установлен на том компьютере, где выполняется код, и не годится для веб-клиента и серверных баз без Excel. Если можно обойтись чтением файла платформой, используйте его.
Частая схема: данные из файла сначала попадают в таблицу значений на форме обработки, пользователь видит результат и только после проверки нажимает «Создать документ». Так ошибка видна до записи в базу.
Ошибки и странности при переносе
Ctrl+H, затем скопируйте заново.Из остального по кодировке и форматам:
- 📅 Даты. Если в ячейке дата хранится как текст «05.10.2026», обработка может не распознать её. Проверьте формат ячейки: должна быть именно дата.
- 🔤 Лишние символы. Невидимые знаки (код 160, табуляции) попадают из веб-страниц и PDF. Чистятся функцией
ПОДСТАВИТЬ()в Excel. - 📄 Формат
.xlsи.xlsx. Старый.xlsчитается не всегда одинаково. Если загрузка падает, пересохраните файл в.xlsx. - 📊 Макросы. Файл
.xlsmлучше пересохранить без макросов.
Когда переносить из Excel не нужно
Не всякую задачу стоит решать копированием:
- 🔄 Данные уже есть в другой программе 1С. Для обмена между базами есть конвертация данных . Она переносит связи между объектами, а Excel — только плоскую таблицу.
- 🏦 Банковская выписка. Загружается из файла обмена с банком или через клиент-банк, а не вставкой.
- 🧾 Входящие документы от поставщика. Если у вас подключен ЭДО, берите документ оттуда: 1С разберёт строки сама.
- 📦 Остатки на склад. Для первичного ввода есть документ ввода остатков, но проверяйте сальдо по каждому счёту отдельно.
Проверьте результат до проведения документа
Минимальный контроль занимает пять минут и спасает от неверных остатков.
- Сравните итог по сумме и количеству в Excel и в документе. В Excel выделите колонку и посмотрите сумму в строке состояния внизу.
- Отфильтруйте в табличной части строки с пустой номенклатурой или нулевой ценой.
- Для справочников: после загрузки сгруппируйте по наименованию и найдите повторы.
- Первую загрузку делайте на копии базы или на тестовом документе без проведения.
Частые вопросы
Можно ли вставить таблицу из Excel в 1С без обработок?
Ctrl+V. Порядок колонок должен совпадать.Почему при вставке пропадают строки?
Нужно ли устанавливать Excel на сервер 1С?
.xlsx через табличный документ платформы — нет. Excel нужен только при работе через COM-объект.Как загрузить в 1С файл в формате CSV?
.xlsx. Либо читайте через объект платформы для текстовых файлов.