Импорт прайс-листа из Excel в 1С: три рабочих способа

· 9 мин

Содержание

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

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

Чтобы сразу выбрать подходящий путь, сравните три способа:

СпособДля каких базКогда выбиратьКто настраивает
Документ установки ценУТ, ERP, Розница, КАРазовый или периодический прайс на сотни позицийПользователь
Универсальная обработкаЛюбая, включая БухгалтериюНет готового рабочего места; грузим в произвольный справочник или регистрПользователь с правами на внешние обработки
Автоматическая загрузкаЛюбаяПрайс приходит регулярно, строк тысячиСпециалист

Дальше — каждый способ по шагам. Но сначала файл.

Как подготовить Excel-файл: 5 правил, без которых загрузка ломается

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

  • 📄 Один лист, одна строка шапки. Уберите второй и третий уровни заголовков, объединённые ячейки в шапке, логотип и «шапку поставщика» над таблицей. Строка с названиями колонок должна быть ровно одна.
  • 🔢 Артикул и код — в текстовом формате. Коды с ведущими нулями (00123) и длинные штрихкоды Excel по умолчанию превращает в число и теряет нули или показывает экспоненту (1,2E+12). Выделите колонку и задайте формат «Текстовый» до того, как вставлять значения.
  • 💰 Цена — чистое число. Без пробелов-разделителей тысяч, без символа валюты и без текста «от». Разделитель дробной части (запятая или точка) должен совпадать с тем, что ждёт механизм загрузки — это видно на шаге сопоставления.
  • 🧹 Ни пустых строк, ни итогов. Удалите строки «ИТОГО», подзаголовки групп посреди таблицы и пустые строки-разделители. Пустая строка часто воспринимается как конец данных, и половина прайса не грузится.
  • 💾 Формат .xlsx и закрытый файл. Сохраните в .xlsx (или .csv с разделителем-точкой с запятой). При загрузке файл должен быть закрыт в Excel, иначе 1С не сможет его прочитать.

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

Когда файл приведён к этому виду, выбирайте способ под свою конфигурацию.

Способ 1. Загрузка цен в УТ, ERP и Рознице через документ установки цен

В конфигурациях на базе «Управления торговлей» цены хранятся не в карточке товара, а в регистре, который заполняется документом «Установка цен номенклатуры». Он и принимает данные из Excel.

  1. Откройте раздел маркетинга (в УТ и ERP — CRM и маркетинг, в Рознице — раздел с ценообразованием) и создайте документ «Установка цен номенклатуры».
  2. Укажите дату, с которой цены вступают в силу, и выберите вид цены (в УТ и ERP термин — «вид цены», не путать с «типом цен» из Бухгалтерии), который заполняете из прайса.
  3. В командной панели табличной части найдите команду загрузки из внешнего файла. Откроется помощник, куда можно либо вставить данные прямо из буфера (Ctrl+V из Excel), либо указать сам файл.
  4. Сопоставьте колонки: где артикул/код, где цена. Товар система ищет по тому полю, которое вы укажете ключевым.
  5. Проверьте строки, где позиция не найдена, — помощник подсветит их отдельно. Создайте недостающую номенклатуру или поправьте артикул и повторите сопоставление.
  6. Проведите документ. Цены встанут с указанной даты.

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

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

Полезно знать два нюанса этого способа:

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

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

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

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

Порядок работы:

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

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

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

Как сопоставить колонки Excel с полями 1С

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

Сопоставление полей
Артикул (текст)→Артикул номенклатуры — поле поиска
Наименование→Наименование
Код поставщика→Код или доп. реквизит
Цена→Цена (регистр цен)
Единица→Единица измерения
Ставка НДС→Ставка НДС

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

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

Способ 3. Автоматическая загрузка больших и регулярных прайсов

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

  • Каталог для обмена + регламентное задание. Поставщик кладёт файл в оговорённую папку, а регламентное задание раз в сутки запускает загрузку. Пользователь не участвует вообще.
  • Внешнее подключение к 1С. Для интеграции со сторонней системой данные грузят через внешнее соединение (COM) или веб-/HTTP-сервис: внешняя программа подключается к базе и передаёт строки прайса напрямую, без промежуточного файла.
  • Готовые модули интеграции. Для типовых конфигураций есть решения, которые забирают прайсы из личных кабинетов поставщиков или с маркетплейсов по расписанию.

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

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

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

Ошибки при загрузке прайса и как их устранить

Большинство сбоев — не в 1С, а в данных. Вот что встречается чаще всего и что с этим делать:

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

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

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

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

Что проверить после загрузки прайса
Выполнено: 0 / 6

Отдельно проверьте позиции с нестандартными ценами — слишком дешёвые или слишком дорогие относительно прежних. Резкий скачок обычно означает съехавшую на строку колонку или лишний ноль в исходнике.

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

Можно ли загрузить прайс сразу по нескольким видам цен?
Да, если механизм загрузки позволяет указать вид цены для каждой колонки. В документе установки цен обычно грузят по одному виду за раз, а универсальная обработка может писать несколько колонок цен за проход — зависит от настройки сопоставления.
Загрузка перезапишет уже существующие цены или добавит новые?
Документ установки цен записывает новые значения с указанной даты, старые остаются в истории. Текущей становится цена с последней датой. Прежние цены никуда не исчезают и доступны на старые даты.
Что будет с позициями, которых нет в прайсе?
Их цены не меняются — остаются прежними. Загрузка трогает только строки из файла. Если позицию нужно снять с продажи, её цену правят отдельно.
Почему часть товаров не нашлась в базе?
Система ищет по выбранному полю (чаще артикул), и значение в файле не совпало с базой. Причины — пробелы, потерянные ведущие нули, разные написания. Сверьте артикул и при необходимости переключите поле поиска.
Подойдёт ли файл `.csv` вместо `.xlsx`?
Да, большинство механизмов читают .csv. Следите за разделителем колонок (обычно точка с запятой) и за кодировкой, иначе русские названия превратятся в «кракозябры».