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

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

Как выгрузить файл Excel в 1С

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

Загрузка данных из Excel в 1С — одна из самых частых задач при переходе на новую базу, обновлении справочников или переносе прайсов. В зависимости от конфигурации и релиза платформы есть несколько рабочих способов: встроенная обработка «Загрузка данных из файла», универсальная обработка «Универсальный обмен данными в формате XML», типовые механизмы обмена и программная загрузка через COM-объект Excel.

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

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

Определите, что и куда будете загружать

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

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

Отдельный случай — загрузка документов с движениями (например, накладных от поставщика). Типовая загрузка табличных частей не создаёт проводки автоматически в полном объёме: документ нужно будет провести и проверить результат. Для массового переноса документов между базами правильнее использовать обмен через XML, а не Excel.

Маршрут решения

Как выбрать способ загрузки

Нужно загрузить справочник или табличную часть документа в типовой конфигурацииИспользуйте встроенную команду «Загрузить из файла» в форме списка или меню «Ещё»
Переносите данные между двумя базами 1СИспользуйте «Универсальный обмен данными в формате XML» или типовую синхронизацию, Excel здесь лишний
Конфигурация самописная или команда загрузки отсутствуетПодключите внешнюю обработку загрузки из табличного документа или закажите доработку
Файл приходит регулярно (прайс поставщика каждую неделю)Настройте обработку с сохранёнными настройками сопоставления колонок, чтобы не повторять настройку вручную

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

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

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

Особое внимание — форматам данных. Числа должны быть числами, а не текстом (текстовые числа часто не распознаются или теряют разделители). Даты — в едином формате, желательно ДД.ММ.ГГГГ. Артикулы и коды с ведущими нулями, наоборот, должны быть текстом, иначе Excel обрежет нули. Сохраните итоговый файл в формате .xlsx — старый .xls и .csv поддерживаются не всеми обработками одинаково корректно.

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

Загрузка через типовую обработку «Загрузка данных из файла»

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

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

Ключевой момент — настройка поиска существующих элементов. Укажите, по какому полю обработка должна определять, что элемент уже есть в базе: по коду, артикулу, наименованию или штрихкоду. Если поиск не настроить, при повторной загрузке получите дубли. После сопоставления запустите загрузку и дождитесь отчёта: сколько элементов создано, сколько обновлено, сколько строк пропущено с ошибками.

Сопоставление колонок и ключевые поля поиска

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

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

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

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

Загрузка через внешние обработки и программный способ

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

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

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

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

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

Загрузка не считается завершённой, пока вы не проверили результат. Минимальный контроль: сравнить количество строк в файле с количеством созданных/обновлённых элементов, открыть несколько случайных элементов и сверить ключевые реквизиты, проверить отсутствие дублей через поиск по наименованию или артикулу.

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

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

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

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

Совпадает с числом строк данных в файле (за вычетом обоснованно пропущенных)

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

Элементов меньше — часть строк отклонена с ошибками; больше — возможны дубли

Случайные элементы справочника
Норма

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

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

Поля пустые, в полях-ссылках новые мусорные элементы

Поиск дублей
Норма

Поиск по артикулу/ИНН не выдаёт повторов

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

Несколько элементов с одинаковым ключом — нужна свёртка и перенастройка поиска

Итоговые суммы по документам
Норма

Суммы по отчёту совпадают с контрольными итогами файла

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

Расхождения — искать непроведённые документы или ошибки в количестве и ценах

Частые ошибки и их устранение

Ошибка «Не найден лист» или пустая таблица при открытии файла обычно означает, что данные не на первом листе или лист защищён. Ошибки формата чисел и дат лечатся приведением форматов в Excel до загрузки. Ошибка «Файл занят другим процессом» — закройте файл в Excel перед загрузкой.

Если обработка зависает на большом файле, разбейте его на части по 5–10 тысяч строк и загружайте порциями. Если часть строк не загружается без видимой причины, откройте отчёт о загрузке — там по каждой строке указана причина отказа: не найдено значение ссылки, не заполнен обязательный реквизит, дубль по ключу поиска.

FAQ

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

Да. В 1С:Бухгалтерии 3.0 загрузка номенклатуры и контрагентов доступна через команду «Загрузить из файла» в форме списка справочника. Также есть загрузка выписки через «Клиент-банк». Для документов типовой универсальной загрузки из Excel нет — используются специализированные обработки или обмен с другими программами.

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

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

Какой формат файла лучше: xlsx, xls или csv?

Оптимален .xlsx: его корректно читают все современные обработки. Старый .xls тоже поддерживается, но имеет ограничение на число строк. CSV подходит для простых таблиц, однако требует правильной кодировки (UTF-8) и разделителя, иначе кириллица и разбор колонок «поедут».

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

Разбейте файл на части по несколько тысяч строк и загружайте порциями. Убедитесь, что в файле нет формул и лишнего форматирования — они сильно замедляют чтение. Если загрузка идёт на сервере 1С, выполняйте её в нерабочее время, чтобы не влиять на пользователей.

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

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

Нужно ли закрывать файл Excel перед загрузкой в 1С?

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

Итог

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

Успешная загрузка Excel в 1С на 80% зависит от подготовки файла: плоская таблица, корректные форматы, никаких объединённых ячеек. Загружайте типовой командой «Загрузить из файла», настраивайте поиск по устойчивому ключу (артикул, ИНН, штрихкод), делайте копию базы перед массовой загрузкой и обязательно сверяйте результат по количеству строк и контрольным суммам.