К статье
Практический материал

Справочники и Данные · 12 мин

Как в 1С загрузить данные из Excel

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

Загрузка данных из Excel в 1С — одна из самых частых задач при переходе на новую базу, обновлении цен, наполнении справочника номенклатуры или переносе остатков. В типовых конфигурациях на платформе 1С:Предприятие 8.3 для этого есть штатные инструменты, а для нестандартных случаев используются внешние обработки или собственная доработка.

Выбор способа зависит от трёх факторов: какая у вас конфигурация (УТ, ERP, Бухгалтерия, УНФ или самописная), какие данные нужно загрузить (справочники, документы, цены, остатки) и насколько регулярна эта операция. Разовая загрузка номенклатуры и ежедневный обмен прайсами с поставщиком — разные задачи с разными решениями.

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

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

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

Перед загрузкой приведите файл к следующему виду:

  • удалите объединённые ячейки — они ломают сопоставление колонок;
  • уберите пустые строки, промежуточные итоги и строки с примечаниями;
  • приведите числа и даты к единому формату: в одной колонке не должно быть смеси текста и чисел;
  • проверьте, что артикулы и коды не содержат лишних пробелов в начале и конце;
  • сохраните файл в формате XLSX или XLS — большинство обработок работают с обоими, но старые обработки могут не читать XLSX.

Отдельное внимание — ключевым полям, по которым 1С будет искать существующие элементы: артикул, код, наименование, ИНН. Если в файле один и тот же контрагент встречается с разным написанием ИНН (с пробелом, без пробела), при загрузке появятся дубли. Потратьте 10 минут на чистку файла — это дешевле, чем потом искать и объединять дубли в базе.

Загрузка через встроенный помощник в типовых конфигурациях

В конфигурациях «Управление торговлей 11», «ERP», «Комплексная автоматизация» и «Управление нашей фирмой» есть штатный механизм загрузки из файла. Обычно он доступен прямо из формы списка справочника: откройте «Номенклатура» (или «Контрагенты»), нажмите кнопку «Ещё» и найдите пункт «Загрузить данные из файла» либо «Загрузка из внешнего файла».

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

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

Порядок действий в типовой конфигурации
  1. 1
    Откройте список справочника, например «Номенклатура»
  2. 2
    Нажмите «Ещё» → «Загрузить данные из файла»
  3. 3
    Выберите подготовленный файл Excel
  4. 4
    Сопоставьте колонки файла полям справочника
  5. 5
    Проверьте предпросмотр: сколько элементов будет создано и обновлено
  6. 6
    Запустите загрузку и дождитесь отчёта о результатах
  7. 7
    Откройте несколько загруженных элементов и сверьте данные с файлом

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

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

Обработка открывается через меню «Файл → Открыть» в режиме предприятия. Дальше вы выбираете режим загрузки (в справочник, в табличную часть, в регистр сведений), указываете целевой объект метаданных, открываете Excel-файл и настраиваете соответствие колонок реквизитам. Важная возможность — выбор полей поиска: по каким реквизитам обработка будет определять, создавать новый элемент или обновлять существующий.

Для справочника «Номенклатура» поиск обычно настраивают по артикулу или наименованию, для контрагентов — по ИНН и КПП. Если поле поиска не заполнено в файле, обработка создаст новый элемент, что приведёт к дублям. Поэтому сначала проверьте заполненность ключевых колонок в самом файле.

Загрузка цен, остатков и данных в документы

Справочники — самый простой случай. Сложнее обстоит дело с ценами, остатками и документами, потому что данные пишутся не напрямую, а через документы-регистраторы: «Установка цен номенклатуры», «Оприходование товаров», «Ввод начальных остатков».

Для цен в типовых конфигурациях есть обработка «Загрузка цен поставщика из файлов» (в УТ 11 — в разделе закупок) или уже упомянутая вставка из буфера обмена в документ установки цен. Во втором случае порядок колонок в Excel должен совпадать с порядком колонок в табличной части документа — иначе данные встанут не в те поля.

Остатки при старте учёта загружаются через помощник ввода начальных остатков (в Бухгалтерии — «Главное → Помощник ввода остатков», в УТ — раздел «НСИ и администрирование»). Часть разделов поддерживает загрузку из файла, часть — только ручной ввод или вставку из буфера. Если объём большой, разумнее загрузить номенклатуру отдельно, а остатки вводить уже по готовому справочнику.

Сравнение способов загрузки

Встроенный помощник в типовой конфигурации

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

Копирование через буфер обмена

Быстрый способ для табличных частей документов и небольших списков. Требует точного совпадения порядка колонок.

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

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

Собственная обработка на встроенном языке

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

Программная загрузка: когда нужна своя обработка

Если загрузка из Excel выполняется регулярно — например, ежедневный прайс поставщика с особыми правилами пересчёта цен — имеет смысл заказать или написать собственную обработку. На встроенном языке 1С файл Excel читается либо через COM-объект Excel.Application (требует установленного Excel на компьютере или сервере), либо через объект ТабличныйДокумент с методом «Прочитать», который работает без Excel.

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

ТабДок = Новый ТабличныйДокумент;

ТабДок.Прочитать("C:\Прайсы\price.xlsx");

Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл

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

// поиск номенклатуры и запись цены

КонецЦикла;

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

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

Типичные ошибки и как их избежать

Первая группа ошибок связана с форматом данных. Даты вида «01.02.03» Excel может интерпретировать неоднозначно, числа с пробелами-разделителями разрядов читаются как текст, а дробная часть теряется при неверном разделителе (точка вместо запятой). Перед загрузкой проверьте региональные настройки и формат ячеек.

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

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

Типичные ошибки
01
Загрузка файла с объединёнными ячейками — смещаются колонки, данные попадают не в те поля
02
Поиск по наименованию вместо артикула или ИНН — создаются дубли справочника
03
Числа как текст — цены загружаются с ошибками или не загружаются вовсе
04
Загрузка в рабочую базу без теста на копии — при ошибке приходится восстанавливаться из архива
05
Игнорирование отчёта об ошибках — часть строк не загружается, и это замечают только при сверке

Как проверить результат загрузки

После загрузки обязательно выполните контрольную сверку. Минимальный набор: сравните количество строк в файле с количеством созданных и обновлённых элементов в отчёте обработки; откройте 5–10 случайных элементов и сверьте ключевые поля с файлом; проверьте типовые отчёты (например, ведомость по товарам или список цен) на предмет аномальных значений.

Для цен полезно построить отчёт по изменениям: если в файле цена была 150, а в базе оказалась 15000 — вероятно, проблема с разделителем разрядов или со сдвигом колонок. Для контрагентов проверьте отсутствие дублей по ИНН через поиск дублей или простую сортировку списка.

Контрольные точки

Как проверить результат

Количество загруженных строк
Норма

Совпадает с числом строк данных в файле

Тревожный признак

Часть строк пропущена без объяснения в отчёте

Ключевые поля у выборочных элементов
Норма

Артикул, цена, ИНН совпадают с файлом

Тревожный признак

Значения смещены или обрезаны

Дубли в справочнике
Норма

Поиск по ключевому полю даёт один элемент

Тревожный признак

Несколько элементов с одинаковым ИНН или артикулом

Проведение связанных документов
Норма

Документы установки цен и остатков проводятся без ошибок

Тревожный признак

Ошибки проведения, незаполненные обязательные поля

Часто задаваемые вопросы

Можно ли загрузить Excel в 1С:Бухгалтерию 8.3 без внешних обработок?

Частично да: в Бухгалтерии есть загрузка номенклатуры и контрагентов из файла через кнопку «Загрузить» в форме списка справочника, а также загрузка банковских выписок. Для остатков, цен и документов штатной загрузки из Excel нет — потребуется универсальная обработка или ввод через буфер обмена.

Обработка не видит файл XLSX. Что делать?

Старые версии универсальной обработки работают только с форматом XLS. Сохраните файл в Excel через «Сохранить как» в формате «Книга Excel 97–2003» и повторите загрузку. Либо используйте актуальную версию обработки, поддерживающую XLSX.

Как загрузить из Excel документы, а не справочники?

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

Что делать, если после загрузки появились дубли номенклатуры?

Сначала настройте правильное поле поиска (артикул или штрихкод) и не запускайте повторную загрузку. Существующие дубли убирайте штатной обработкой «Поиск и удаление дублей» (в типовых конфигурациях — в разделе администрирования): она заменяет ссылки на дубли во всех документах и помечает лишние элементы на удаление.

Можно ли загружать данные из Excel автоматически по расписанию?

Да, но только через собственную доработку: создаётся регламентное задание, которое читает файл из заданной папки и вызывает процедуру загрузки. Штатные помощники рассчитаны на ручной запуск. Для серверной базы учтите, что файл должен быть доступен с сервера, а не с компьютера пользователя.

Почему при загрузке цен копейки превращаются в целые числа?

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

Итог

Что важно запомнить

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