Как перенести таблицу из Excel в базу 1С:Предприятие 8.3

· 9 мин

Содержание

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

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

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

Половина ошибок при импорте рождается ещё в Excel. Платформа 8.3 читает файл в табличный документ «как есть»: объединённые ячейки, пробелы и текст вместо чисел она переносит без исправлений.

Приведите файл к виду «одна строка — один объект»:

  • 📄 Одна строка заголовков. Шапку из нескольких уровней, логотип и реквизиты организации над таблицей удалите.
  • 🧱 Без объединённых ячеек. Объединение ломает нумерацию колонок: значение окажется только в первой ячейке.
  • 🔢 Числа — числами. Цена 1 250,00 руб. с пробелом и буквами загрузится как строка или не загрузится вовсе. Нужно 1250,00.
  • 🧮 Формулы — в значения. Скопируйте столбец и вставьте через «Специальную вставку → Значения».
  • 🆔 ИНН, КПП, артикулы с ведущими нулями — текстом. Иначе Excel превратит 0274062111 в 274062111, и поиск контрагента не сработает.
  • 📅 Даты — в формате даты, а не строкой 12.03 без года.
  • 🧹 Лишние пробелы уберите функцией СЖПРОБЕЛЫ() во вспомогательном столбце.
  • 📑 Данные — на первом листе. Остальные листы удобнее удалить или вынести в отдельный файл.

Пример правильно подготовленной таблицы для загрузки номенклатуры:

АртикулНаименованиеЕд. изм. (код)ЦенаСтавка НДС
0045-12Болт М8х40 оцинкованный79612,5020%
0045-13Гайка М8 оцинкованная7963,2020%
0101-01Лента упаковочная 48 мм79685,0020%

Каждая колонка — один реквизит, каждая строка — один товар, никаких итогов внизу. Строку «Итого» в конце файла удалите: иначе 1С попробует создать товар с наименованием «Итого».

Сохраните файл в формате .xlsx. Платформа 8.3 открывает его своими средствами, установленный Microsoft Excel на компьютере для этого не нужен.

Заранее решите, по какому полю 1С будет искать уже существующие элементы. Для номенклатуры это обычно артикул, для контрагентов — ИНН. Наименование — худший ключ: «Болт М8» и «Болт М8» с двумя пробелами для программы разные товары.

Встроенная загрузка Excel в справочники и документы

В типовых конфигурациях на Библиотеке стандартных подсистем (БП 3.0, УТ 11, КА 2, ERP) есть общий механизм загрузки данных из файла. Он не требует внешних обработок и прав на их открытие.

Где искать команду:

Куда грузимГде команда
Номенклатурасписок справочника, кнопка Загрузить на командной панели или меню Ещё
Контрагенты, другие справочникисписок справочника, меню Ещё (если загрузка для справочника предусмотрена)
Строки поступления, реализации, счётатабличная часть «Товары» внутри документа, кнопка Загрузить над таблицей

Порядок работы одинаковый:

  1. Нажмите Загрузить. Откроется форма-шаблон с колонками, которые 1С умеет заполнять.
  2. Скопируйте диапазон из Excel и вставьте его в шаблон через Ctrl+V либо загрузите файл кнопкой выбора файла в этой же форме.
  3. Проверьте, что колонки встали на свои места. Лишние колонки шаблона оставьте пустыми.
  4. Нажмите Далее. Программа сопоставит строки с существующими элементами и покажет результат: найдено, будет создано, не сопоставлено.
  5. Несопоставленные строки поправьте вручную — выберите нужный элемент прямо в строке или разрешите создание нового.
  6. Нажмите кнопку завершения загрузки и проверьте результат в списке.

В табличной части документа механизм ещё и подставляет количество и цену. Накладная на 300 строк от поставщика заполняется за пару минут вместо часа ручного ввода.

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

Обработка «Загрузка данных из табличного документа»

Когда встроенной команды нет, используют универсальную внешнюю обработку загрузки из табличного документа. Её версия для управляемых форм распространяется с дисками ИТС. Файл обработки имеет расширение .epf.

Как открыть обработку

  1. Запустите 1С в режиме «Предприятие» под пользователем с полными правами.
  2. Откройте файл через Главное меню → Файл → Открыть.
  3. Платформа покажет предупреждение о безопасности. Открывайте только обработку из надёжного источника и подтвердите запуск.

Если пункт открытия недоступен, у пользователя нет права на интерактивное открытие внешних обработок. Его выдаёт администратор базы в настройках групп доступа.

Чтобы обработка была под рукой у всех, подключите её как дополнительную: Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Тогда права на открытие файлов пользователям не понадобятся.

Что выбрать в шапке

  • Режим загрузки: в справочник, в табличную часть или в регистр сведений.
  • Вид объекта: конкретный справочник, документ или регистр.
  • Первая строка данных: номер строки, с которой начинаются данные. При одной строке заголовков ставят 2.

Дальше таблицу из Excel открывают в обработке через файл или вставляют в её табличный документ копированием. На вкладке настроек появляется список реквизитов выбранного объекта — его и нужно связать с колонками файла.

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

Для каждого реквизита задают три вещи: загружать ли его, откуда брать значение и как искать ссылку.

Номер колонки

Отметьте флажком реквизиты, которые нужно заполнить, и укажите номер колонки в файле. Колонки считаются слева направо: A — 1, B — 2, F — 6. Один и тот же номер можно указать для двух реквизитов, например наименование и полное наименование номенклатуры.

Поиск по ссылочным полям

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

РеквизитЧем лучше искатьПочему
Единица измерениякод (796 для штуки)наименования пишут по-разному: «шт», «шт.», «штука»
КонтрагентИННуникален, не зависит от кавычек и формы собственности
Номенклатураартикулнаименования часто дублируются
Группа справочниканаименованиегрупп немного, их легко проверить

Ключевой реквизит для справочника

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

Значение по умолчанию

Если колонки в файле нет, а реквизит обязателен, задайте постоянное значение. Например, всем 500 загружаемым позициям — вид номенклатуры «Товар» и ставку НДС из шапки.

Готовую настройку сохраните в файл. В следующий раз файл того же поставщика загружается без повторного сопоставления.

Анализ протокола загрузки и разбор ошибок

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

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

Диагностика: выберите симптом

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

Универсальный обмен данными в формате XML

Обработка «Универсальный обмен данными в формате XML» входит в типовые конфигурации на БСП. Она не читает Excel напрямую — она загружает XML-файл по правилам обмена. Эти правила создают в конфигурации «Конвертация данных».

Когда такой путь оправдан:

  • 🔁 данные приходят из другой учётной системы, и Excel — лишь промежуточная выгрузка;
  • 🧩 нужно загрузить связанные объекты разом: контрагентов, договоры и документы с проводками;
  • 📦 объём — десятки тысяч строк, и важна повторяемость без ручного сопоставления.

Схема работы: таблицу Excel сначала загружают в промежуточную базу или конвертируют в XML внешним скриптом, затем в рабочей базе открывают обработку обмена и указывают файл данных. Обработка доступна через Функции для технического специалиста (команда включается в Сервис и настройки → Параметры).

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

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

Как автоматизировать регулярную загрузку файлов Excel

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

СпособКогда подходитРиски
Сохранённая настройка обработки1–2 раза в неделю, формат стабиленручной запуск, зависит от человека
Дополнительная обработка с кнопкойфайл грузит бухгалтер, нужна одна кнопкапри смене колонок у поставщика нужна доработка
Регламентное заданиеежедневно, файл кладут в общую папкуошибки видны только в журнале регистрации

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

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

Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
	Стр = Формат(НомерСтроки, "ЧГ=0");
	Артикул = СокрЛП(ТабДок.Область("R" + Стр + "C1").Текст);
	Если ПустаяСтрока(Артикул) Тогда
		Продолжить;
	КонецЕсли;
	Наименование = СокрЛП(ТабДок.Область("R" + Стр + "C2").Текст);
	ЦенаТекст = СтрЗаменить(ТабДок.Область("R" + Стр + "C3").Текст, " ", "");
	// поиск номенклатуры по артикулу, запись цены
КонецЦикла;

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

На что смотреть при автоматизации:

  1. В клиент-серверном варианте регламентное задание выполняется на сервере 1С. Файл должен лежать в папке, доступной пользователю, под которым работает служба сервера 1С.
  2. Обработанный файл переносите в архивную папку, иначе он загрузится повторно.
  3. Ошибки пишите в журнал регистрации с понятным текстом: номер строки и значение, которое не нашлось.
  4. Проверяйте заголовки первой строки. Если поставщик поменял порядок колонок, задание должно остановиться, а не записать цену в количество.

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

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

Можно ли загрузить в 1С файл .xls или .csv, а не .xlsx?
Да. CSV удобнее сначала открыть в Excel, проверить кодировку и разделители и сохранить как .xlsx. Старый .xls тоже лучше пересохранить в .xlsx: так меньше сюрпризов с форматами ячеек.
Сколько строк можно загрузить за один раз?
Жёсткого лимита у обработки нет, но 20–50 тысяч строк будут грузиться долго и держать сеанс. Большой файл разумно делить на части по 5–10 тысяч строк.
Загрузятся ли картинки товаров из Excel?
Нет. Обработки переносят значения ячеек, изображения в файле игнорируются. Картинки загружают отдельно, как присоединённые файлы к карточкам.
Можно ли загрузить остатки сразу документом ввода остатков?
Да, через загрузку в табличную часть документа ввода начальных остатков. Номенклатуру при этом лучше загрузить заранее отдельным шагом, чтобы проверить справочник.
Почему загрузка работает у администратора, а у бухгалтера нет?
У бухгалтера не хватает прав: на открытие внешних обработок или на добавление элементов справочника. Подключите обработку как дополнительную или расширьте группу доступа.