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

· 9 мин

Содержание

Таблица на 3000 строк лежит в Excel, а в 1С её нужно получить сегодня. Набирать вручную долго, а встроенной кнопки «Загрузить из Excel » нет почти нигде. Есть три рабочих пути: вставка из буфера обмена в табличную часть, внешняя обработка загрузки и свой обмен через COM или файл. Для разовой загрузки до нескольких сотен строк хватает первого, для справочников и больших объёмов нужен второй.

Ниже порядок действий от подготовки файла до автоматической регулярной загрузки. Примеры даны для 1С 8.3 на управляемых формах, но логика одинакова для Бухгалтерии, УТ, ЗУП и УНФ.

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

Девять загрузок из десяти ломаются не в 1С, а в файле. Потратьте десять минут на чистку, это сэкономит часы.

Что проверить в таблице:

  • 📌 Заголовки в одной строке, без объединённых ячеек. Объединение сдвигает колонки при чтении.
  • 📌 Одна строка — одна запись. Никаких итогов, подзаголовков групп и пустых строк посередине.
  • 📌 Единый формат в колонке. Если в «Количестве» часть значений числа, а часть текст «5 шт.», загрузка либо остановится, либо запишет ноль.
  • 📌 Лишние пробелы в начале и конце. Название «Болт М8 » и «Болт М8» для 1С — разные элементы, и вы получите дубль.
  • 📌 ИНН и коды как текст. Excel любит превращать 0012345678 в число 12345678 и терять ведущие нули. Задайте колонке текстовый формат до ввода, а не после.
  • 📌 Дробная часть. Десятичный разделитель должен совпадать с региональными настройками компьютера, иначе 12,5 превратится в дату.

Хорошая привычка: сохраните копию как .xlsx без макросов. Старый .xls читается медленнее и чаще даёт ошибки при работе через COM. А ещё лучше для больших файлов — формат .csv в кодировке UTF-8: он читается без Excel вообще.

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

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

Вставка через буфер обмена: самый быстрый способ для небольших объёмов

В управляемых формах 1С табличные части умеют принимать данные из буфера. Это способ для документов: поступление, реализация, ввод остатков, заказ.

Порядок такой:

  1. Откройте документ и добавьте одну пустую строку, чтобы увидеть, какие колонки есть в табличной части.
  2. Расположите колонки в Excel в том же порядке, что и в 1С. Если порядок отличается, переставьте столбцы в файле.
  3. Выделите в Excel только ячейки с данными, без заголовков, и нажмите Ctrl+C.
  4. В 1С встаньте в первую пустую ячейку табличной части и нажмите Ctrl+V.
  5. Проверьте, что номенклатура подтянулась по наименованию, а не осталась пустой.

Тонкость в том, что 1С сопоставляет вставленный текст со справочником по наименованию. Если в справочнике «Болт М8х30», а в файле «Болт M8х30» (латинская M), строка не найдётся. На практике это самая частая причина пустых ячеек после вставки.

Что делает способ хорошим, а что плохим:

ПлюсМинус
Не нужны обработки и права администратораНе создаёт новые элементы справочников
Работает за минутуЛомается на больших объёмах (тысячи строк)
Видно результат сразу в документеНет протокола ошибок

Когда справочник пуст, сначала загрузите его другим способом (раздел ниже), а уже потом вставляйте документы.

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

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

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

Общий порядок работы одинаков:

  1. Выберите, что загружаем: справочник, документ, регистр сведений .
  2. Укажите файл или вставьте данные в табличное поле обработки.
  3. Задайте соответствие колонок реквизитам (следующий раздел).
  4. Укажите режим: только создавать новые, обновлять существующие или и то и другое.
  5. Нажмите кнопку проверки или «Загрузить».

Если загружаете справочник с иерархией, добавьте колонку «Родитель» и отдельно загрузите группы. Иначе всё попадёт в корень.

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

Сопоставьте колонки с реквизитами

Это главный экран любой обработки. Слева — колонки файла, справа — поля 1С. Их надо связать.

Сопоставление полей
Артикул→Артикул
Наименование→Наименование
Единица→Базовая единица измерения
Ставка НДС→Ставка НДС
Группа→Родитель
ИНН→ИНН (контрагент)
Цена→Цена (регистр сведений «Цены номенклатуры»)

Три правила, которые экономят нервы:

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

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

Дубли и правила поиска существующих элементов

Дубли — главный риск при повторной загрузке. Загрузили прайс в понедельник, в пятницу прислали обновлённый, и половина позиций задвоилась.

Решения по убыванию надёжности:

  1. Поиск по уникальному коду или артикулу. Самый чистый вариант.
  2. Поиск по ИНН и КПП для контрагентов. Помните, что у филиалов один ИНН и разные КПП.
  3. Поиск по наименованию. Работает, если вы предварительно нормализовали названия в файле: убрали двойные пробелы, привели регистр и раскладку.

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

Чтобы не плодить дубли заново, перед загрузкой сделайте контрольную проверку на стороне Excel:

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

Например, в файле 1200 строк. После загрузки 1100 новых и 80 обновлённых. Остаётся 20 строк, которые пропущены, и их причину надо найти в протоколе.

Что делать, если в файле есть позиции, которые уже есть в базе?

Протокол загрузки и разбор ошибок

После запуска не закрывайте окно сразу. Хорошая обработка выдаёт протокол: сколько строк обработано, что создано, что пропущено и почему. Если протокола нет, скопируйте сообщения из панели «Сообщения» (внизу окна 1С) в текстовый файл.

Что чаще всего встречается:

СимптомПричинаЧто делать
Элемент не найденРасхождение в написании, лишний пробел, латиница вместо кириллицыИсправить значение в файле или в справочнике
Поле «Количество» равно нулюВ ячейке текст, а не числоПреобразовать колонку в числовой формат
ИНН обрезанExcel убрал ведущие нулиКолонку в текстовый формат, загрузить заново
Ошибка преобразования значенияДата в виде текста, разделитель в числеПривести к формату даты и числа
Загрузка зависла на серединеНехватка памяти, слишком большой файлРазбить файл на части по 1000–2000 строк
Нет прав на записьНе хватает роли у пользователяЗагружать под пользователем с нужными правами
Диагностика: выберите симптом

После загрузки обязательно выборочно проверьте результат: откройте 5–10 случайных элементов и сверьте все реквизиты с файлом. Затем сравните итоги. Если загружали остатки, суммарное количество и сумма по оборотно-сальдовой ведомости должны совпасть с итогом в Excel.

Свой загрузчик: когда выгрузка нужна регулярно

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

Обработка с заранее сохранёнными настройками. Самый простой вариант. Один раз настроили соответствие, дальше каждый раз выбираете новый файл и жмёте «Загрузить». Подходит, если формат файла не меняется.

Регламентное задание с чтением файла из папки. Программист пишет процедуру, которая раз в сутки смотрит в сетевую папку, читает новые файлы и загружает их. Для этого лучше использовать csv или чтение xlsx без запуска Excel, потому что COM-объект на сервере капризен и требует установленного Office. Результат работы пишется в журнал регистрации, ошибки уходят на почту ответственному.

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

Критерий выбора простой:

  • загрузка разовая, до 500 строк — буфер обмена;
  • справочник на тысячи строк или нерегулярная загрузка — обработка;
  • файл приходит по расписанию — регламентное задание или обмен.
Перед запуском массовой загрузки
Выполнено: 0 / 6

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

Можно ли загрузить данные из Excel в 1С без обработок и программиста?
Да, но только в документы: вставкой из буфера обмена в табличную часть. Новые элементы справочников так не создать, для этого нужна обработка загрузки.
Нужен ли установленный Excel на компьютере с 1С?
Для чтения через COM — да. Для файлов csv и для современных обработок, которые читают xlsx напрямую, не нужен. Для сервера лучше выбирать варианты без Excel.
Сколько строк можно загрузить за один раз?
Жёсткого предела нет. На практике файл до 2000–5000 строк обрабатывается спокойно, крупнее лучше разбить на части. Ограничивает не 1С, а память и время обработки.
Почему после загрузки в числах теряются копейки?
Обычно виновата разница в десятичном разделителе: запятая в файле и точка в настройках системы, или наоборот. Приведите формат файла к региональным настройкам компьютера.
Как загрузить картинки или файлы вместе с номенклатурой?
Табличная загрузка с этим не справится. Положите файлы в папку и загружайте их отдельной обработкой, связывая по артикулу.
Можно ли отменить загрузку целиком?
Штатной кнопки отмены нет. Если создавалось много элементов, проще восстановить копию базы. Поэтому копия перед загрузкой обязательна.