Перенос данных из Excel в 1С 8.3: от буфера обмена до своей обработки

· 9 мин

Содержание

Таблицу из Excel в 1С 8.3 вставляют тремя способами. Для строк документа (накладная, счёт, реализация) — кнопкой Загрузить над табличной частью: туда данные копируются из Excel через Ctrl+C / Ctrl+V. Для справочников (номенклатура, контрагенты) — командой загрузки в списке или универсальной обработкой «Загрузка данных из табличного документа». Для регулярного обмена — своей обработкой, которая читает файл .xlsx без участия Excel.

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

Как подготовить файл Excel к загрузке в 1С

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

  • 📌 Одна строка — одна позиция. Уберите шапку организации, итоги, подписи, пустые строки между группами.
  • 📌 Одна колонка — одно поле. «Количество» и «Единица» — разные колонки, а не «10 шт» в одной ячейке.
  • 🧹 Без объединённых ячеек. Выделите всю таблицу и снимите объединение.
  • 🔢 Формулы — в значения. Скопируйте таблицу и вставьте её на новый лист через «Специальная вставка → Значения».
  • ✂️ Без лишних пробелов. Пробел в конце наименования мешает найти товар в базе. Формула =СЖПРОБЕЛЫ(A2) в Excel решает это массово.
  • 🔤 Наименования как в 1С. «Бумага А4 Svetocopy» и «Бумага A4 SvetoCopy» (латинская «A») для программы — два разных товара.

Отдельно проверьте колонки, где Excel любит «помогать»:

КолонкаЧто ломаетсяКак исправить
ИНН, КПП, кодыВедущий ноль пропадает (0274… → 274…)Формат ячеек «Текстовый» до ввода данных
Цена, суммаЧисло сохранено как текст, точка вместо запятойЗамена . на , и преобразование в число
КоличествоНеразрывный пробел как разделитель тысяч (1 200)Заменить пробелы на пустоту
ДатаДата хранится текстом в формате 2024.03.15Привести к формату ДД.ММ.ГГГГ
ШтрихкодПревращается в 4,6E+12Формат «Текстовый» или «Числовой» без десятичных знаков

Если в базе у товаров заполнен артикул или штрихкод, держите эту колонку в файле. По ним 1С сопоставляет строки надёжнее, чем по наименованию.

Быстрая вставка таблицы из Excel в документ 1С через буфер обмена

Самый частый случай — поставщик прислал накладную в Excel, и её строки нужно перенести в Поступление (акты, накладные, УПД) в 1С:Бухгалтерии 3.0 или в документ поступления в УТ 11. Порядок такой:

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

На шаге сопоставления 1С обычно показывает три группы строк: найденные однозначно, найденные с несколькими вариантами и ненайденные. Не создавайте новые элементы для всех ненайденных строк не глядя — чаще всего это те же товары, записанные чуть иначе. Каждый лишний дубль потом всплывёт в остатках и в оборотно-сальдовой ведомости.

Та же форма открывается и на кнопке Загрузить из файла: тогда 1С сама прочитает .xlsx, а сетку заполнит из него. Сам Excel для этого на компьютере не нужен — платформа 8.3 читает формат .xlsx своими средствами.

Если кнопки Загрузить нет ни на панели, ни в меню Ещё, у вас старый релиз конфигурации или форма документа изменена доработкой. Тогда используйте универсальную обработку из следующего раздела.

Универсальная обработка «Загрузка данных из табличного документа»

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

Как открыть обработку

  1. Откройте главное меню (кнопка с тремя полосками слева вверху) → Файл → Открыть.
  2. Выберите файл .epf. Платформа покажет предупреждение безопасности — подтвердите открытие.
  3. Если 1С пишет, что недостаточно прав, администратор должен включить пользователю право на интерактивное открытие внешних обработок. В БП 3.0 это делается в Администрирование → Настройки пользователей и прав через профиль группы доступа.

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

Как загрузить таблицу

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

У каждого реквизита есть режим загрузки:

РежимЧто делаетКогда нужен
ИскатьНаходит ссылку по тексту из колонкиЕдиница измерения, вид номенклатуры, ставка НДС
УстанавливатьПодставляет одно значение во все строкиОдна папка для всех товаров, один вид номенклатуры
ВычислятьСчитает значение выражением на встроенном языкеСклейка полей, перевод единиц, обрезка текста

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

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

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

Номенклатура

В 1С:Бухгалтерии 3.0 и УТ 11 загрузка встроена в список справочника. В БП 3.0 откройте Справочники → Номенклатура, в УТ 11 справочник «Номенклатура» находится в разделе НСИ и администрирование. В командной панели списка найдите Загрузить.

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

  • 📁 Выделите папку заранее. Новые элементы попадут в группу, выбранную в списке. Удобно завести группу «Загружено из Excel» и потом разнести товары.
  • 📏 Единица измерения ищется по наименованию из классификатора. «шт», «шт.» и «штука» — разные строки. Приведите колонку к одному виду.
  • 🏷️ Вид номенклатуры в БП 3.0 влияет на счета учёта. Товары и услуги грузите разными партиями, чтобы не перепутать.
  • 💲 Цены справочник не хранит. Их загружают отдельно — документом установки цен, который заполняется из того же файла.

Контрагенты

У контрагентов главное поле поиска — ИНН. Загрузите минимальный набор: наименование, ИНН, КПП. Затем в карточке каждого контрагента реквизиты можно дополнить командой заполнения по ИНН — если подключена интернет-поддержка и сервис 1С:Контрагент. Так юридический адрес, ОГРН и полное наименование попадут в базу из ЕГРЮЛ, а не из файла с опечатками.

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

У обособленных подразделений одной организации ИНН одинаковый, а КПП разный. Если поиск идёт только по ИНН, подразделения склеятся в одного контрагента. Для таких файлов ставьте поиск по паре «ИНН + КПП».

Автоматизация: своя обработка загрузки Excel в 1С

Когда файл одного формата приходит каждую неделю, ручная вставка надоедает. Программист пишет внешнюю обработку под конкретный шаблон, и бухгалтер только выбирает файл.

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

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

&НаСервере
Процедура ЗагрузитьНоменклатуруНаСервере(АдресФайла, ГруппаЗагрузки, ЕдиницаПоУмолчанию, ВидПоУмолчанию)

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

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

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

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

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

        Ссылка = Справочники.Номенклатура.НайтиПоНаименованию(Наименование, Истина);

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

        ЭлементСпр.Артикул = Артикул;
        ЭлементСпр.Записать();

    КонецЦикла;

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

Пример рассчитан на справочник «Номенклатура» в БП 3.0: там есть реквизиты Артикул, НаименованиеПолное, ЕдиницаИзмерения и ВидНоменклатуры. При программной записи проверка заполнения не выполняется, поэтому единицу и вид код подставляет сам — иначе в базе появятся «пустые» товары, которые нельзя выбрать в документе.

Что ещё добавляют в рабочую обработку:

  • 🔁 обёртку Попытка … Исключение вокруг записи и протокол строк с ошибками;
  • 🔢 преобразование цены: Число(СтрЗаменить(Текст, " ", "")) внутри Попытка, потому что в ячейке может оказаться текст;
  • 🧾 поиск по артикулу перед поиском по наименованию;
  • ⏱️ регламентное задание, которое забирает файлы из сетевой папки по расписанию.

Ошибки при загрузке данных из Excel в 1С

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

Если после загрузки документ не проводится, откройте его и проверьте строки с пустой ставкой НДС или нулевой ценой — сетка загрузки пропускает такие значения без предупреждения, а проведение уже нет.

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

Можно ли загрузить в 1С файл .xls старого формата или .csv?
Да. Платформа 8.3 читает .xls, .xlsx и .ods. Файл .csv проще открыть в Excel и сохранить как .xlsx: так не будет проблем с кодировкой и разделителями.
Нужен ли установленный Excel на компьютере?
Нет. Встроенная загрузка и универсальная обработка читают файл средствами самой 1С. Excel нужен только старым обработкам, которые работают через COM.
Можно ли загрузить таблицу в 1С через веб-клиент или облако 1С:Фреш?
Вставка через буфер обмена в форме загрузки работает и в браузере. Внешние обработки в облачных сервисах обычно разрешены только после проверки и регистрации поставщиком сервиса.
Как загрузить в 1С остатки из Excel?
Остатки вводят документом ввода начальных остатков. В его табличной части обычно есть та же кнопка загрузки, и данные копируются из Excel так же, как в накладную.
Сколько строк можно вставить за один раз?
Жёсткого предела нет, но на десятках тысяч строк сопоставление идёт долго. Большие файлы удобнее делить на части по 3–5 тысяч строк.