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

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

Как импортировать данные из Excel в 1С

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

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

В большинстве типовых конфигураций (1С:Бухгалтерия, Управление торговлей, Комплексная автоматизация, ERP) уже есть встроенные инструменты загрузки из табличных документов. Для нестандартных задач существуют универсальные обработки и вариант собственной разработки. Выбор способа зависит от объёма данных, их структуры и того, разовая это операция или регулярная.

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

Какие способы импорта существуют и как выбрать

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

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

Сравнение вариантов

Штатные мастера конфигурации

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

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

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

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

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

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

Качество импорта на 80% определяется подготовкой файла. Таблица должна быть «плоской»: одна строка заголовков, далее только данные, без объединённых ячеек, промежуточных итогов, пустых строк-разделителей и многострочных шапок. Объединённые ячейки — самая частая причина сбоя: обработка читает значение только из первой ячейки объединённого диапазона, остальные получаются пустыми.

Проверьте форматы колонок. Числа не должны содержать пробелы-разделители разрядов и символы валют внутри значения. Даты лучше привести к формату ДД.ММ.ГГГГ. Ставки НДС, единицы измерения, страны — к тем значениям, которые уже есть в 1С, иначе при загрузке либо создадутся дубли элементов справочников, либо поля останутся пустыми. ИНН и телефоны храните как текст, чтобы Excel не отбрасывал ведущие нули.

Удалите лишние листы, скрытые строки с мусором и формулы: если в ячейке формула, загружаться будет её вычисленное значение, но при ошибках в формулах попадут значения вида #ССЫЛКА!. Проще всего скопировать итоговый диапазон и вставить его «как значения» в новый чистый файл.

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

Импорт штатными средствами конфигурации

В типовых конфигурациях мастера загрузки обычно находятся в карточке справочника или в разделе администрирования. Например, в Управлении торговлей: «НСИ и администрирование» → «Номенклатура» → кнопка загрузки из файла. В 1С:Бухгалтерии загрузка контрагентов доступна из списка справочника «Контрагенты» через меню «Ещё». Точное расположение зависит от версии конфигурации, поэтому ориентируйтесь на слова «загрузить», «импорт» в меню списка.

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

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

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

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

Работа строится в три этапа. Сначала выбирается вид объекта загрузки — например, справочник «Номенклатура» или табличная часть конкретного документа. Затем на вкладке настройки для каждого реквизита указывается номер колонки табличного документа, режим поиска (по наименованию, коду, реквизиту) и значение по умолчанию для полей, которых нет в файле. Наконец, выполняется контроль заполнения — обработка показывает, какие строки она сможет загрузить и какие значения не распознала.

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

Частая задача — заполнить товары в документе поступления или заказе из присланного поставщиком Excel. Во многих конфигурациях в табличной части есть кнопка «Заполнить» → «Заполнить из внешнего файла» либо работает универсальная обработка в режиме «Табличная часть». Номенклатуру при этом ищут по артикулу, коду или наименованию; если позиции поставщика не совпадают с вашими наименованиями, предварительно настраивают соответствие через артикулы или штрихкоды.

Собственная обработка и загрузка кодом

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

bsl
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\Данные\nom.xlsx");
Для Строка = 2 По ТабДок.ВысотаТаблицы Цикл
    Наименование = ТабДок.Область("R" + Строка + "C1").Текст;
    // поиск или создание элемента справочника
КонецЦикла;

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

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

Формальное сообщение «загружено 1500 строк» ничего не гарантирует. Проверку делайте в три приёма: сравните количество строк в файле с количеством созданных/обновлённых элементов; откройте 5–10 карточек из разных частей файла и сверьте ключевые поля; постройте отчёт или список справочника с фильтром по незаполненным обязательным реквизитам.

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

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

Количество записей
Норма

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

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

Меньше — часть строк не загрузилась; больше — созданы дубли

Числовые поля (цены, количества)
Норма

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

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

Потеряны копейки, числа умножены или поделены на 100 — проблема формата

Связанные справочники (единицы, НДС, контрагенты)
Норма

Подставлены существующие элементы

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

Созданы дубли с похожими наименованиями

Даты
Норма

Соответствуют файлу

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

Сдвиг даты или пустые значения — неверный формат даты в файле

Если обнаружились дубли, не удаляйте их вручную по одному — в типовых конфигурациях есть обработка «Поиск и удаление дублей» (обычно в разделе «Администрирование» → «Обслуживание»). Она объединяет элементы с заменой ссылок во всех документах, что безопаснее ручного удаления.

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

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

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

Да. Файл формата .xlsx открывается в 1С как табличный документ штатными средствами платформы, и универсальная обработка читает его без Excel. COM-подключение к самому Excel нужно только для старых методов чтения и формата .xls в некоторых сценариях.

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

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

Числа загружаются как текст и не участвуют в расчётах. Что делать?

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

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

Цены и остатки хранятся не в справочнике, а в документах («Установка цен номенклатуры», «Ввод начальных остатков») и регистрах. Загружать их нужно либо штатными мастерами этих документов, либо универсальной обработкой в режиме табличной части документа.

Файл большой, загрузка идёт очень долго. Это нормально?

Для десятков тысяч строк длительная загрузка ожидаема, особенно с поиском по ссылочным полям. Ускорить можно, разбив файл на части, отключив на время загрузки неактуальные проверки в настройках обработки и выполняя загрузку на сервере, а не по сети. Предварительно проверьте механику на маленьком фрагменте из 20–30 строк.

Итог

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

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