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

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

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

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

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

В 1С нет единственного «правильного» способа: выбор зависит от конфигурации (Управление торговлей, Бухгалтерия, ERP, самописная), от объёма данных и от того, разовая это операция или регулярная. Ниже разобраны основные варианты — от типовых обработок, встроенных в конфигурацию, до универсальной загрузки с диска ИТС и программной загрузки через COM-объект.

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

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

Качество загрузки на 80% определяется подготовкой файла. Стандартные обработки 1С читают данные построчно и не умеют «догадываться» о структуре: любая аномалия в файле приводит к пропуску строк или ошибочным значениям. Поэтому перед загрузкой файл приводят к виду простой плоской таблицы.

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

Отдельное внимание — форматам данных. Числа должны быть числами, а не текстом (признак проблемы — зелёный треугольник в углу ячейки в Excel). Даты — в формате даты Excel или текстом в одном едином формате на всю колонку. Артикулы и коды с ведущими нулями («001234») храните как текст, иначе Excel обрежет нули, и поиск по коду в 1С не сработает.

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

Способ 1. Типовая обработка «Загрузка данных из файла»

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

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

Важная особенность типовой обработки — умение искать существующие элементы, чтобы не создавать дубли. Поиск обычно настраивается по ключевым полям: для номенклатуры — по артикулу или наименованию, для контрагентов — по ИНН и КПП. Перед массовой загрузкой проверьте на 5–10 строках, что существующие элементы находятся и обновляются, а не создаются заново.

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

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

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

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

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

Способ 3. Программная загрузка через COM или чтение файла

Когда загрузка регулярная (например, ежедневный прайс поставщика) или требуется сложная логика, данные читают программно. Классический подход — COM-объект Excel.Application: код открывает файл, перебирает строки листа и создаёт объекты 1С. Способ требует установленного Excel на компьютере, где выполняется код, что ограничивает его применение на сервере.

Пример чтения через COM-объект:

Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.Workbooks.Open("C:\Данные\nomenklatura.xlsx");

Лист = Книга.Sheets(1);

Для НомерСтроки = 2 По Лист.UsedRange.Rows.Count Цикл

Артикул = СокрЛП(Лист.Cells(НомерСтроки, 1).Value);

Наименование = СокрЛП(Лист.Cells(НомерСтроки, 2).Value);

Элемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);

Если Элемент.Пустая() Тогда

НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();

НовыйЭлемент.Артикул = Артикул;

НовыйЭлемент.Наименование = Наименование;

НовыйЭлемент.Записать();

КонецЕсли;

КонецЦикла;

Excel.Quit();

Альтернатива без Excel — сохранить лист в формате CSV и прочитать его как текстовый файл, либо использовать объект «ТабличныйДокумент», который умеет открывать файлы XLSX напрямую (метод Прочитать). Этот вариант работает на сервере без установленного Office и обычно быстрее на больших объёмах.

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

Как выбрать способ под свою задачу

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

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

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

Типовая «Загрузка данных из файла»

Подходит для разовой загрузки справочников в типовых конфигурациях; ограничение — не все объекты и конфигурации поддерживаются

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

Подходит для любых справочников, документов и регистров; ограничение — требует понимания структуры конфигурации и аккуратной настройки поиска

Программная загрузка (COM, ТабличныйДокумент)

Подходит для регулярных и сложных загрузок с преобразованиями; ограничение — нужен разработчик и тестирование на копии базы

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

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

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

Если что-то пошло не так, не пытайтесь «догрузить поверх» — сначала удалите некорректно созданные элементы или восстановите базу из копии, разберитесь с причиной и повторите загрузку. Повторная загрузка поверх ошибочной почти всегда удваивает проблему.

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

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

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

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

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

Меньше — есть пропущенные строки; больше — созданы дубли или лишние элементы

Значения реквизитов в случайных элементах
Норма

Каждое поле содержит данные из своей колонки, форматы корректны

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

Смещение значений, текст в числовых полях, искажённые даты

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

Поиск по ключевому полю (артикул, ИНН) находит один элемент

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

Несколько одинаковых элементов — поиск при загрузке не сработал

Ограничения и когда привлекать специалиста

Самостоятельная загрузка безопасна для справочников в копии или рабочей базе при наличии резервной копии и небольших объёмах. Рискованные зоны: загрузка остатков и документов (влияет на учёт и отчётность), загрузка в регистры бухгалтерии, массовое изменение цен, работа в базе, где одновременно работают пользователи.

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

Итог

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

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

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

Можно ли загрузить данные из Excel в 1С:Бухгалтерию 8?

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

Файл большой, обработка зависает. Что делать?

Разбейте файл на части по несколько тысяч строк и загружайте порциями — это снижает нагрузку и упрощает поиск проблемного места. Также проверьте, нет ли в файле «фантомных» строк: Excel иногда считает использованными сотни тысяч пустых строк, и обработка честно их перебирает. Удалите пустые строки ниже данных и сохраните файл заново.

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

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

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

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

В каком формате сохранять файл: XLSX, XLS или CSV?

Большинство обработок 1С работают с XLSX и XLS напрямую. CSV подходит как запасной вариант, но требует внимания к разделителю (точка с запятой или запятая) и кодировке — при неверной кодировке кириллица превращается в нечитаемые символы. Если обработка плохо читает XLSX, пересохраните файл в XLS или CSV и попробуйте снова.

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

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