Как перенести справочник товаров в 1С без ручного ввода

· 9 мин

Содержание

Чтобы залить в 1С номенклатуру из Excel, есть два проверенных пути: встроенная загрузка прямо из списка товаров (в торговых конфигурациях) и универсальная обработка ЗагрузкаДанныхИзТабличногоДокумента.epf, которая работает в любой базе, включая Бухгалтерию 3.0. Перенести готовый справочник из другой базы 1С удобнее через XML — обработками выгрузки-загрузки. Ручной ввод нужен только для одиночных позиций.

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

С чего начать: приводим таблицу Excel в порядок

Загрузка срывается чаще всего из-за данных, а не из-за механизма. Поэтому сначала чистим файл.

Минимальный набор колонок для справочника товаров:

  • 📝 Наименование — то, что видит пользователь в списке;
  • 🔢 Артикул или код — по нему удобно искать дубли;
  • 📐 Единица измерения — шт, кг, упак;
  • 💰 Ставка НДС — 20%, 10%, Без НДС;
  • 📁 Группа (папка) — куда положить позицию.

Требования к самому файлу:

  • одна строка шапки, дальше только данные — без пустых строк и подытогов;
  • каждый столбец — один реквизит, без объединённых ячеек;
  • числа как числа, а не текст (убрать апострофы и пробелы-разделители);
  • единицы измерения и ставки НДС — единообразно (шт, а не шт., ШТ, штук вперемешку).

Чтобы заранее отловить дубли артикулов прямо в Excel, добавьте служебную колонку с формулой =СЧЁТЕСЛИ(столбец_артикулов; ячейка). Все значения больше единицы — это повторы, их видно сразу. Так вы не потащите задвоение в базу.

Сохраните файл в формате .xlsx. Старый .xls 1С тоже читает, но с ним чаще бывают проблемы кодировки и формата ячеек.

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

Проверка файла перед загрузкой
Выполнено: 0 / 6

Встроенная загрузка из Excel в торговых конфигурациях

В 1С:Управление торговлей 11, Комплексной автоматизации, ERP и Управлении нашей фирмой загрузчик из внешнего файла встроен — внешняя обработка не нужна.

Откройте список Номенклатура (раздел НСИ и администрирование → Номенклатура или CRM и маркетинг → Номенклатура — зависит от конфигурации). В командной панели списка, в меню Ещё, есть команда загрузки из внешнего файла.

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

  1. Скопируйте диапазон данных в Excel вместе с шапкой.
  2. В форме загрузки вставьте таблицу из буфера обмена (Ctrl+V) или укажите путь к файлу.
  3. Укажите, какая колонка файла соответствует какому реквизиту номенклатуры.
  4. Запустите проверку — помощник подсветит строки, которые не пройдут.
  5. Нажмите загрузку и дождитесь отчёта о созданных элементах.

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

Если команды загрузки в меню Ещё не видно, проверьте права: у роли должна быть разрешена интерактивная загрузка данных. В базе с ограниченными правами команда может быть скрыта администратором. Второй момент — вставка из буфера работает для умеренных объёмов; если строк очень много, надёжнее указать путь к файлу .xlsx, а не копировать таблицу целиком через Ctrl+V.

В 1С:Бухгалтерии 3.0 такого встроенного помощника в списке номенклатуры нет. Для неё используйте универсальную обработку из следующего раздела.

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

Это классический инструмент, который заливает данные в любой справочник или документ любой конфигурации на платформе 8.3. Файл обработки — ЗагрузкаДанныхИзТабличногоДокумента.epf, он поставляется на диске ИТС.

Запуск: Файл → Открыть → выбрать файл .epf. Если открытие внешних обработок запрещено политикой безопасности, попросите администратора включить его или зарегистрировать обработку в дополнительных.

Что делаем в обработке:

  1. На вкладке источника загружаем Excel в табличное поле (кнопка открытия файла в самой обработке).
  2. Выбираем вид загружаемых данных — Справочник, значение Номенклатура.
  3. Указываем номер строки шапки и первой строки данных.
  4. На вкладке настройки сопоставляем колонки файла с реквизитами справочника.
  5. Для поиска существующих позиций выбираем поле контроля — обычно Код или Артикул.
  6. Запускаем загрузку, затем смотрим протокол.

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

Настройку сопоставления в этой обработке можно сохранить в файл и подгружать перед следующей загрузкой того же прайса. Это экономит время, когда формат файла от поставщика не меняется месяцами: один раз разметили колонки — дальше только подставляете свежий Excel и жмёте загрузку.

СпособКогда применятьРиск
Встроенный помощник (УТ, ERP, УНФ)Торговая база, разовая и регулярная загрузкаМинимальный, есть проверка
ЗагрузкаДанныхИзТабличногоДокумента.epfЛюбая база, включая БП 3.0Дубли без поля контроля
Перенос через XMLДанные из другой базы 1СНесовпадение конфигураций

Перенос справочника через XML из другой базы 1С

Если номенклатура уже есть в другой базе 1С, гонять её через Excel бессмысленно — потеряются связи с единицами, ставками, характеристиками. Для переноса между базами есть XML-механизмы.

Выгрузка и загрузка данных XML (ВыгрузкаЗагрузкаДанныхXML.epf). Переносит объекты между базами одинаковой или близкой конфигурации. В источнике отмечаете справочник Номенклатура, выгружаете в файл .xml, в приёмнике тот же файл загружаете. Ссылки внутри справочника сохраняются по внутренним идентификаторам.

Универсальный обмен данными в формате XML (УниверсальныйОбменДаннымиXML.epf). Нужен, когда конфигурации источника и приёмника различаются. Работает по правилам обмена — их готовят в конфигурации Конвертация данных. Способ мощнее, но требует готовых правил или навыка их создавать.

CommerceML — отдельный формат для обмена с интернет-магазином. Файлы import.xml (товары) и offers.xml (цены и остатки) 1С умеет и формировать, и принимать. Если номенклатура выгружена из движка сайта в CommerceML, грузите её штатным обменом с сайтом, а не как таблицу.

При переносе через ВыгрузкаЗагрузкаДанныхXML.epf конфигурация приёмника должна содержать те же объекты метаданных, что и источник. Если версии конфигураций разошлись, часть реквизитов просто не загрузится, а в протоколе появятся предупреждения о неизвестных свойствах. Для разных конфигураций — только универсальный обмен с правилами.

XML-перенос сохраняет структуру групп и подчинённые справочники (единицы, виды номенклатуры). Excel этого не умеет — он грузит плоскую таблицу.

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

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

Сопоставление полей
Наименование товара→Наименование
Артикул→Артикул
Ед. изм.→Единица измерения (поиск по наименованию)
Ставка НДС→Ставка НДС (поиск по наименованию)
Группа→Родитель (папка справочника)
Код→Код (поле контроля дублей)

Ключевые моменты сопоставления:

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

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

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

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

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

  1. Откройте список Номенклатура и отсортируйте по дате создания — новые позиции будут сверху.
  2. Отфильтруйте по группе, в которую грузили, и сверьте количество строк с файлом.
  3. Откройте 2–3 карточки: на месте ли единица, ставка НДС, артикул.
  4. Проверьте, не появились ли дубли (одинаковые артикулы).
Диагностика: выберите симптом

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

Как не загружать вручную каждый раз: автоматизация

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

Рабочие варианты:

  • Регламентное задание с внешней обработкой. Обработку загрузки регистрируют в справочнике дополнительных обработок (механизм есть в конфигурациях на БСП) и назначают расписание. По расписанию она сама подхватывает файл из заданной папки.
  • Обмен с сайтом по CommerceML. Если прайс выгружается с сайта или из системы поставщика в CommerceML, настройте регулярный обмен — остатки и цены будут обновляться без участия человека.
  • Планы обмена между базами 1С. Для постоянной синхронизации двух баз 1С (например, УТ и Бухгалтерия) настраивают типовую синхронизацию данных, а не ручную выгрузку XML.
  • COM-соединение. Внешний скрипт может подключиться к базе и загрузить данные программно. Подходит, когда источник — сторонняя система, а не файл.

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

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

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

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

Можно ли загрузить номенклатуру вместе с ценами и остатками?
Таблицей через обработку загрузки создаются сами позиции справочника. Цены задают документом установки цен, остатки — документом оприходования или ввода начальных остатков. Одним файлом в один справочник всё сразу не грузится: цены и остатки — это регистры, а не реквизиты карточки.
Как обновить уже существующие товары, а не создать заново?
Задайте поле контроля (артикул или код) при сопоставлении. Обработка найдёт позицию по этому полю и обновит её реквизиты вместо создания дубля.
Что делать, если в файле несколько тысяч строк?
Платформа тянет такие объёмы, но загрузку лучше запускать в монопольном режиме и в нерабочее время — массовая запись нагружает базу и может мешать пользователям. Разбивать файл на части не обязательно.
Поддерживает ли загрузка характеристики и дополнительные реквизиты?
Да, если они заведены в конфигурации. В сопоставлении появятся соответствующие колонки. Характеристики — это подчинённый справочник, их загружают отдельным проходом или сразу, если механизм обработки это позволяет.
Нужна ли лицензия или доработка конфигурации для загрузки?
Нет. Встроенный помощник торговых конфигураций и обработка ЗагрузкаДанныхИзТабличногоДокумента.epf — штатные средства. Доработка нужна только под нестандартный формат файла или сложную логику сопоставления.