Импорт прайс-листа из Excel в 1С: три рабочих способа
Содержание
Быстрее всего прайс из Excel грузится в конфигурациях торговли (УТ, ERP, Розница, Комплексная автоматизация): там есть документ установки цен, который умеет заполняться из внешнего файла прямо через буфер обмена. В Бухгалтерии такого рабочего места нет — для неё и для любой другой базы подойдёт универсальная внешняя обработка. Для регулярных прайсов на тысячи строк оба ручных пути заменяют автоматикой.
От формата исходного файла зависит, пройдёт загрузка с первого раза или рассыплется на ошибках сопоставления. Поэтому начинаем не с 1С, а с самого Excel-файла: его нужно привести к виду, который механизм загрузки понимает без ручной правки каждой строки.
Чтобы сразу выбрать подходящий путь, сравните три способа:
| Способ | Для каких баз | Когда выбирать | Кто настраивает |
|---|---|---|---|
| Документ установки цен | УТ, ERP, Розница, КА | Разовый или периодический прайс на сотни позиций | Пользователь |
| Универсальная обработка | Любая, включая Бухгалтерию | Нет готового рабочего места; грузим в произвольный справочник или регистр | Пользователь с правами на внешние обработки |
| Автоматическая загрузка | Любая | Прайс приходит регулярно, строк тысячи | Специалист |
Дальше — каждый способ по шагам. Но сначала файл.
Как подготовить Excel-файл: 5 правил, без которых загрузка ломается
Механизм загрузки читает таблицу построчно и ждёт предсказуемую структуру. Пять требований закрывают почти все проблемы на входе:
- 📄 Один лист, одна строка шапки. Уберите второй и третий уровни заголовков, объединённые ячейки в шапке, логотип и «шапку поставщика» над таблицей. Строка с названиями колонок должна быть ровно одна.
- 🔢 Артикул и код — в текстовом формате. Коды с ведущими нулями (
00123) и длинные штрихкоды Excel по умолчанию превращает в число и теряет нули или показывает экспоненту (1,2E+12). Выделите колонку и задайте формат «Текстовый» до того, как вставлять значения. - 💰 Цена — чистое число. Без пробелов-разделителей тысяч, без символа валюты и без текста «от». Разделитель дробной части (запятая или точка) должен совпадать с тем, что ждёт механизм загрузки — это видно на шаге сопоставления.
- 🧹 Ни пустых строк, ни итогов. Удалите строки «ИТОГО», подзаголовки групп посреди таблицы и пустые строки-разделители. Пустая строка часто воспринимается как конец данных, и половина прайса не грузится.
- 💾 Формат
.xlsxи закрытый файл. Сохраните в.xlsx(или.csvс разделителем-точкой с запятой). При загрузке файл должен быть закрыт в Excel, иначе 1С не сможет его прочитать.
Отдельной колонкой держите то, по чему 1С будет искать позицию в справочнике, — артикул или код. Поиск по наименованию ненадёжен: один лишний пробел или другая раскладка буквы, и товар не находится.
Когда файл приведён к этому виду, выбирайте способ под свою конфигурацию.
Способ 1. Загрузка цен в УТ, ERP и Рознице через документ установки цен
В конфигурациях на базе «Управления торговлей» цены хранятся не в карточке товара, а в регистре, который заполняется документом «Установка цен номенклатуры». Он и принимает данные из Excel.
- Откройте раздел маркетинга (в УТ и ERP —
CRM и маркетинг, в Рознице — раздел с ценообразованием) и создайте документ «Установка цен номенклатуры». - Укажите дату, с которой цены вступают в силу, и выберите вид цены (в УТ и ERP термин — «вид цены», не путать с «типом цен» из Бухгалтерии), который заполняете из прайса.
- В командной панели табличной части найдите команду загрузки из внешнего файла. Откроется помощник, куда можно либо вставить данные прямо из буфера (
Ctrl+Vиз Excel), либо указать сам файл. - Сопоставьте колонки: где артикул/код, где цена. Товар система ищет по тому полю, которое вы укажете ключевым.
- Проверьте строки, где позиция не найдена, — помощник подсветит их отдельно. Создайте недостающую номенклатуру или поправьте артикул и повторите сопоставление.
- Проведите документ. Цены встанут с указанной даты.
Загрузка не удаляет старые цены — она записывает новые значения с новой датой. Если в прайсе нет какой-то позиции, её прежняя цена останется действующей. Чтобы обнулить снятые с продажи товары, их цены меняют отдельно.
Если позиций в прайсе больше, чем в вашем справочнике, сначала загрузите номенклатуру (отдельным помощником загрузки товаров из файла), а потом цены — иначе половина строк не найдёт товар.
Полезно знать два нюанса этого способа:
- Цены привязаны к дате. Документ не «перезаписывает» справочник, а фиксирует значение на дату. Поэтому один файл можно загрузить как цены будущего месяца заранее — они вступят в силу автоматически.
- Виды цен грузятся по одному. Если поставщик присылает в одном файле закупочную и розничную цену разными колонками, обычно делают два документа установки цен — по одному на каждый вид. Разложить один файл на несколько видов цен за проход умеет не каждый релиз.
В Рознице у цен добавляется привязка к магазину: если магазинов несколько и цены различаются, документ установки цен заполняют отдельно под каждый или грузят файл, где магазин вынесен в колонку.
Способ 2. Универсальная обработка «Загрузка данных из табличного документа» для любой базы
Для Бухгалтерии и для нетиповых конфигураций, где нет готового рабочего места, подходит универсальная внешняя обработка «Загрузка данных из табличного документа» (файл вида ЗагрузкаДанныхИзТабличногоДокумента.epf). Она поставляется с диска ИТС и грузит данные практически в любой справочник или регистр.
Порядок работы:
- Откройте обработку через
Файл → Открытьи выберите файл.epf. Платформа предупредит про запуск внешней обработки — подтвердите, если файл получен из доверенного источника. - В обработке выберите, куда грузим: справочник (например, «Номенклатура») или регистр сведений с ценами.
- Загрузите исходный Excel в табличное поле обработки — кнопкой открытия файла или вставкой из буфера.
- На вкладке сопоставления свяжите колонки файла с реквизитами объекта: наименование, артикул, цена, единица. Укажите, по какому полю искать существующие элементы (поле поиска).
- Запустите загрузку в режиме проверки (если обработка это поддерживает) — она покажет, что будет создано, а что обновлено, не записывая изменений.
- Выполните реальную загрузку.
Перед первой массовой загрузкой в рабочую базу сделайте резервную копию. Универсальная обработка пишет данные напрямую и не всегда проводит их через проверки, встроенные в документы. Ошибку в сопоставлении колонок проще откатить из копии, чем вычищать вручную.
Запуск внешних обработок иногда закрыт политикой безопасности базы. Если Файл → Открыть не предлагает .epf или обработка не запускается, право на внешние обработки включается в настройках администрирования — обратитесь к администратору базы.
Как сопоставить колонки Excel с полями 1С
Сопоставление — ключевой шаг в любом способе. 1С не угадывает, что в третьей колонке цена: вы связываете каждую колонку файла с конкретным полем справочника или регистра. Типовое соответствие для прайса выглядит так:
Главное — правильно выбрать поле поиска. Это реквизит, по которому система решает, обновить существующую позицию или создать новую. Для прайса надёжнее всего искать по артикулу: он уникален и не зависит от написания названия. Если артикула в базе нет, его придётся сначала проставить.
Колонку с ценой проверьте на формат ещё в сопоставлении: если механизм ждёт точку, а в файле запятая, все цены либо не загрузятся, либо встанут нулями.
Способ 3. Автоматическая загрузка больших и регулярных прайсов
Если прайс приходит от поставщика каждую неделю и в нём десятки тысяч строк, ручная загрузка превращается в рутину. Её автоматизируют.
- Каталог для обмена + регламентное задание. Поставщик кладёт файл в оговорённую папку, а регламентное задание раз в сутки запускает загрузку. Пользователь не участвует вообще.
- Внешнее подключение к 1С. Для интеграции со сторонней системой данные грузят через внешнее соединение (COM) или веб-/HTTP-сервис: внешняя программа подключается к базе и передаёт строки прайса напрямую, без промежуточного файла.
- Готовые модули интеграции. Для типовых конфигураций есть решения, которые забирают прайсы из личных кабинетов поставщиков или с маркетплейсов по расписанию.
Выбор между файлом и прямым подключением зависит от того, кто инициирует обмен. Если прайс присылает поставщик — удобнее папка обмена: он кладёт файл, база сама его подхватывает. Если данные тянет внешняя система (сайт, учётная программа на стороне поставщика) — чаще используют прямое подключение, когда программа сама открывает сеанс к базе и передаёт строки.
Автоматизацию почти всегда настраивает специалист: нужно описать формат файла, правила поиска номенклатуры и обработку новых позиций — создавать их, пропускать или складывать в отдельную «папку на разбор». Но разовая настройка окупается, если прайс обновляется регулярно: вместо получаса ручной сверки каждую неделю загрузка идёт сама и ночью.
Регламентную загрузку запускайте на копии или в тестовом контуре, пока не убедитесь, что сопоставление и поиск работают корректно. Автоматика, которая молча создаёт дубли номенклатуры, за неделю засоряет справочник так, что чистить придётся вручную.
Ошибки при загрузке прайса и как их устранить
Большинство сбоев — не в 1С, а в данных. Вот что встречается чаще всего и что с этим делать:
.xlsx.Если механизм ругается на всю таблицу сразу, проблема почти всегда в шапке: лишняя строка над заголовками или объединённые ячейки сбивают разметку колонок.
Проверка результата после загрузки
Загрузка прошла без красных строк — это ещё не гарантия, что цены встали правильно. Пробегитесь по короткому списку, прежде чем отдавать базу в работу.
Отдельно проверьте позиции с нестандартными ценами — слишком дешёвые или слишком дорогие относительно прежних. Резкий скачок обычно означает съехавшую на строку колонку или лишний ноль в исходнике.
Частые вопросы
Можно ли загрузить прайс сразу по нескольким видам цен?
Загрузка перезапишет уже существующие цены или добавит новые?
Что будет с позициями, которых нет в прайсе?
Почему часть товаров не нашлась в базе?
Подойдёт ли файл `.csv` вместо `.xlsx`?
.csv. Следите за разделителем колонок (обычно точка с запятой) и за кодировкой, иначе русские названия превратятся в «кракозябры».