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

· 10 мин

Содержание

Чтобы загрузить Excel в 1С 8.3, откройте нужный документ или список справочника и нажмите кнопку Загрузить над табличной частью. Дальше выберите файл .xlsx или вставьте строки через буфер обмена, сопоставьте колонки и подтвердите перенос. Так работают современные типовые конфигурации: 1С:Бухгалтерия 3.0, Управление торговлей 11, Комплексная автоматизация 2 и ERP.

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

СпособКогда выбиратьЧто учесть
Кнопка «Загрузить» в документеНакладная, счёт, заказ от поставщика в ExcelСтроки только добавляются в табличную часть, сам документ создаёте вы
Загрузка в список справочникаПервичное заполнение номенклатуры, контрагентовРешите, обновлять ли найденные элементы или только создавать новые
Внешняя обработка с ИТСНет встроенной загрузки, нужен перенос в регистр или в реквизиты, которых нет в стандартной формеНужны права на открытие внешних обработок; работа требует аккуратности
Своя обработка (код)Один и тот же формат файла приходит постоянноРазовая разработка, потом загрузка в один клик

1. Подготовка файла Excel к загрузке в 1С

Неудачная загрузка чаще упирается не в 1С, а в саму таблицу. Перед переносом приведите файл к простому виду: один лист, одна строка шапки, дальше только данные.

Структура листа

  • 📄 Шапка — ровно одна строка. Двухэтажные заголовки и объединённые ячейки 1С прочитает неправильно: данные съедут на колонку.
  • 🧹 Уберите итоговые строки «Всего», подписи, логотипы и пустые строки внутри таблицы. Пустая строка в середине часто воспринимается как конец данных.
  • 👁 Раскройте скрытые строки и столбцы и удалите автофильтр. Скрытая строка всё равно загрузится.
  • 📑 Если в книге несколько листов, нужный поставьте первым или сохраните его отдельным файлом.

Значения в ячейках

  • 🔢 Формулы замените значениями: Ctrl+C → «Специальная вставка» → «Значения». Ссылки на другие книги после открытия на другом компьютере превращаются в ошибки.
  • ➗ Количество и цены — числами, без пробелов-разделителей, без «руб.» и «шт.» в ячейке. Число вида 1 250,00, введённое как текст, часто превращается в 0.
  • 🏷 Артикулы, ИНН, КПП, коды и штрихкоды — в текстовом формате ячейки. Иначе Excel срежет ведущие нули (00125 → 125), а 12-значный ИНН индивидуального предпринимателя покажет как 7,70708E+11.
  • ✂️ Уберите лишние пробелы в начале и конце: функция СЖПРОБЕЛЫ() в соседнем столбце, затем вставка значениями.
  • 📏 Единицы измерения пишите так же, как они названы в справочнике 1С: «шт» и «шт.» для программы — разные строки.

Формат файла

Сохраните книгу в .xlsx. Старый .xls тоже читается, но с ним чаще бывают сюрпризы с кодировкой и датами. Перед загрузкой закройте файл в Excel: открытая книга заблокирована, и 1С не сможет её прочитать.

Добавьте в таблицу колонку «Артикул», даже если поставщик прислал только наименования. Поиск по артикулу точнее, чем по названию, где «Бумага А4 Снегурочка» и «Бумага офисная А4 “Снегурочка”» — два разных товара.

Файл готов к загрузке
Выполнено: 0 / 7

2. Как загрузить файл Excel в документ или справочник 1С

Загрузка в табличную часть документа

Типичный случай — поставщик прислал накладную в Excel, и её строки нужно перенести в поступление.

  1. Создайте документ, например в БП 3.0: Покупки → Поступление (акты, накладные, УПД) → Поступление → Товары (накладная, УПД).
  2. Заполните шапку: контрагент, договор, склад, дата.
  3. Над табличной частью «Товары» нажмите Загрузить.
  4. Откроется форма загрузки с пустой таблицей. Здесь два варианта:
    • выделите строки в Excel, скопируйте Ctrl+C и вставьте в эту таблицу Ctrl+V;
    • или нажмите кнопку выбора файла и укажите .xlsx.
  5. Проверьте, что колонки встали на свои места (подробнее — в следующем разделе), и нажмите Далее.
  6. Посмотрите итог сопоставления: найденные товары отмечены, ненайденные выделены отдельно. Решите, что делать с ненайденными, и нажмите Загрузить или Готово.
  7. Строки появятся в документе. Сверьте итоговую сумму с суммой в Excel и только после этого проводите.

Копирование через буфер обмена удобнее, чем выбор файла: можно взять только нужный диапазон без шапки поставщика и подписей.

В УТ 11 и КА 2 кнопка называется так же и стоит над табличными частями заказов, поступлений, реализаций, установки цен. Логика формы та же.

Загрузка в справочник целиком

Для первичного наполнения номенклатуры или контрагентов откройте список справочника, например Справочники → Номенклатура, и найдите команду Загрузить на командной панели списка (в части релизов она спрятана в меню Ещё). Мастер предложит:

  1. Выбрать, в какие реквизиты попадут колонки.
  2. Заполнить таблицу из файла или из буфера.
  3. Указать, по какому полю искать существующие элементы.
  4. Решить судьбу найденных: обновить их реквизиты или оставить как есть.

Режим «обновлять существующие» перезапишет реквизиты у найденных элементов. Если в Excel пустая колонка «Вид номенклатуры», а она включена в загрузку, пустое значение может затереть заполненное. Отключайте колонки, которые не собираетесь менять.

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

Это ключевой шаг. 1С не знает, что в вашей третьей колонке цена, а в пятой — НДС. Связь задаёте вы.

Как устроено сопоставление

В форме загрузки у каждой колонки есть заголовок с реквизитом 1С. Если шапка в Excel совпадает с названием реквизита, программа подставит его сама. Если нет — щёлкните по заголовку и выберите нужный реквизит из списка. Лишние колонки (например, «Примечание поставщика») отключите, чтобы они не мешали.

Пример типового сопоставления для накладной:

Сопоставление полей
Артикул→Номенклатура (поиск по артикулу)
Наименование товара→Номенклатура (поиск по наименованию)
Ед. изм.→Единица измерения
Кол-во→Количество
Цена без НДС→Цена
Ставка НДС→Ставка НДС
Сумма с НДС→Сумма (пересчитается от цены и количества)

По какому полю искать товар

Поле поискаТочностьКогда подходит
ШтрихкодВысокаяРозница, товары с заведёнными штрихкодами
АртикулВысокаяАртикулы в 1С совпадают с артикулами поставщика
НаименованиеНизкаяСправочник маленький, названия строго одинаковые
Код 1СВысокаяФайл ранее выгружен из этой же базы

При поиске по наименованию сравнение идёт по строке целиком. Лишний пробел, другая кавычка или буква «ё» вместо «е» — и товар не найдётся.

Что делать с ненайденными строками

Форма покажет их отдельно. Варианты:

  • ✅ Сопоставить вручную — выбрать товар из справочника. Подходит, если ненайденных немного.
  • ➕ Создать новые элементы — программа заведёт карточки с данными из файла. Удобно, но опасно: из-за опечатки в названии появится дубль существующего товара.
  • ⏭ Пропустить — строка не попадёт в документ. Её придётся добавить руками.

Перед массовым созданием новых элементов прогоните 10–20 строк и посмотрите, что получилось. Дубли номенклатуры потом придётся объединять, а это долго и с риском перепутать остатки.

4. Почему Excel не загружается в 1С и как это исправить

Если загрузка прошла не так, как ждали, ищите причину по симптому.

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

Как откатить неудачную загрузку

  • В документе: выделите загруженные строки и удалите их, документ не проводите, пока не сверите сумму.
  • Если уже провели: отмените проведение, исправьте строки, проведите снова.
  • Лишние элементы справочника: пометьте на удаление, затем удалите через Администрирование → Обслуживание → Удаление помеченных объектов. Программа не даст удалить элемент, на который ссылаются документы, и покажет эти ссылки.

5. Автоматизация загрузки из Excel: внешние обработки и код

Универсальная обработка с ИТС

На диске ИТС и на сайте поддержки много лет лежит обработка «Загрузка данных из табличного документа» (файл ЗагрузкаДанныхИзТабличногоДокумента.epf). Она умеет загружать в справочники, табличные части и регистры сведений, а для каждой колонки задаётся реквизит и способ поиска.

Как открыть: меню (кнопка с тремя полосками в левом верхнем углу) → Файл → Открыть → выбрать .epf. Если при открытии появляется отказ по безопасности, администратору нужно дать пользователю право на открытие внешних обработок или включить для него это право в профиле групп доступа.

Работайте с ней сначала в копии базы. Обработка пишет данные напрямую и не спрашивает подтверждения на каждую строку.

Своя обработка для повторяющихся файлов

Если каждую неделю приходит прайс одного и того же поставщика, проще один раз написать обработку под его формат. Платформа читает .xlsx в табличный документ без установленного Excel — через метод Прочитать(). Пример серверной процедуры, которая проходит по строкам и забирает значения трёх колонок:

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

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

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

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

        Стр = Формат(НомерСтроки, "ЧГ=0");
        Артикул = СокрЛП(ТабДок.Область("R" + Стр + "C1").Текст);
        Если ПустаяСтрока(Артикул) Тогда
            Продолжить;
        КонецЕсли;

        Наименование = СокрЛП(ТабДок.Область("R" + Стр + "C2").Текст);
        ЦенаТекстом  = СтрЗаменить(ТабДок.Область("R" + Стр + "C3").Текст, " ", "");
        ЦенаТекстом  = СтрЗаменить(ЦенаТекстом, ",", ".");
        Цена = Число(ЦенаТекстом);

        // Здесь поиск номенклатуры по артикулу и запись цены
        Сообщить(СтрШаблон("%1 | %2 | %3", Артикул, Наименование, Цена));

    КонецЦикла;

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

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

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

Число() вызовет исключение, если в ячейке окажется текст вроде «по запросу». В рабочей обработке оберните преобразование в Попытка … Исключение и выводите номер проблемной строки.

Почему не COM-объект Excel

Старые обработки открывают Excel через Новый COMОбъект("Excel.Application"). Этот способ требует установленного Excel на том компьютере, где выполняется код, работает медленно и в клиент-серверной базе ломается: на сервере 1С Excel обычно не установлен. Чтение через табличный документ этих проблем не имеет.

Обработку можно встроить в меню

Готовую обработку регистрируют как дополнительную: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. После этого она появляется в разделе программы, и пользователям не нужно искать файл .epf на диске.

6. Чем загружать Excel в разные конфигурации 1С

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

КонфигурацияЧто чаще всего загружают из ExcelЧем
Бухгалтерия 3.0Строки поступлений и реализаций, номенклатура, контрагентыКнопка «Загрузить» в документе и в списке справочника
Управление торговлей 11, КА 2, ERPЗаказы клиентов и поставщикам, прайсы, установка цен номенклатурыКнопка «Загрузить» в табличных частях, загрузка в справочники
Самописные и старые конфигурации на обычных формахЛюбые данныеОбработка «Загрузка данных из табличного документа» в толстом клиенте

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

Банковские выписки из Excel не грузят: для них есть обмен с клиент-банком в текстовом формате 1CClientBankExchange или прямая интеграция с банком.

Частые вопросы о загрузке Excel в 1С

Нужен ли установленный Excel, чтобы загрузить файл в 1С?
Нет. Платформа 1С 8.3 сама читает xlsx через табличный документ. Excel нужен только старым обработкам, которые работают через COM.
Можно ли загрузить файл LibreOffice или CSV?
Да. Формы загрузки в типовых конфигурациях принимают ods и csv. Для csv проверьте разделитель колонок и кодировку — при неверной кодировке вместо кириллицы будут нечитаемые символы.
Сколько строк можно загрузить за один раз?
Жёсткого лимита нет, но тысячи строк через буфер обмена загружаются медленно. Большой файл лучше выбирать с диска и делить на части по несколько тысяч строк, чтобы ошибка в одной строке не срывала всю загрузку.
Загрузятся ли картинки товаров из Excel?
Нет, изображения из ячеек не переносятся. Картинки к номенклатуре добавляют отдельно, через присоединённые файлы карточки.
Почему после загрузки сумма в документе не совпадает с Excel?
1С пересчитывает сумму от цены и количества и округляет до копеек построчно. Если поставщик считал цену с большим числом знаков, появится расхождение в копейки — поправьте суммы в нужных строках вручную.