Загрузка прайса поставщика в 1С 8.3: Excel, XML и обновление цен

· 10 мин

Содержание

Прайс-лист в 1С добавляют в два действия: сначала загружают или обновляют позиции в справочнике «Номенклатура», затем записывают цены документом «Установка цен номенклатуры» с нужным типом (видом) цен. Для Excel в типовых конфигурациях на 8.3 есть встроенная загрузка из файла, для XML — обмен по правилам или формат CommerceML.

Главная работа — не нажатие кнопки «Загрузить», а подготовка файла и правила сопоставления. Если 1С не узнает позицию поставщика, она создаст дубль. Дальше — как подготовить прайс, как загрузить его из Excel и XML, как настроить поиск номенклатуры и поставить загрузку на расписание.

1. Подготовка прайс-листа к загрузке в 1С

Прайс поставщика почти никогда не готов к загрузке «как есть». В нём шапка с логотипом, объединённые ячейки, группы строк, цены с припиской «руб.». Всё это мешает программе распознать таблицу.

Приведите файл к виду «одна строка — одна позиция, один столбец — одно поле»:

  • 🧹 удалите шапку, контакты, логотипы и пустые строки над таблицей — первой должна идти строка заголовков или сразу данные;
  • 🔗 разъедините объединённые ячейки и уберите строки-группы («Крепёж», «Инструмент»), если не собираетесь грузить иерархию;
  • 🔢 цены сделайте числами: без «руб.», без пробелов-разделителей тысяч, с одним видом десятичного разделителя;
  • 🏷️ проверьте артикулы: формат ячейки «Текстовый», иначе Excel срежет ведущие нули (00451 превратится в 451);
  • 📐 единицы измерения запишите так, как они названы в 1С (шт, кг, м), а не «штук», «шт.» вперемешку;
  • 🧮 замените формулы значениями: Копировать → Специальная вставка → Значения.

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

СтолбецЗачем нуженПример
Артикулосновной ключ поискаKR-1204
Наименованиепоиск и создание новой позицииСаморез 4,2×32 оцинк.
Единица измерениязаполнение карточкишт
Ценазначение цены1,85
Штрихкод (если есть)самый надёжный ключ4601234567890
Ставка НДС (для новых позиций)заполнение карточки20%

Сохраните подготовленный прайс отдельным файлом, например price_2026-10_clean.xlsx. Исходник поставщика не трогайте: при следующем обновлении станет видно, что поменялось в его структуре.

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

2. Как загрузить прайс-лист из Excel

Современные релизы платформы 8.3 читают xlsx, xls, ods и csv сами, установленный Excel на компьютере не нужен. Порядок действий отличается по конфигурациям.

КонфигурацияГде загружать номенклатуруГде ставить цены
Бухгалтерия предприятия 3.0Справочники → Товары и услуги → Номенклатура, кнопка «Загрузить» над спискомСклад → Цены → Установка цен номенклатуры, тип цен из справочника «Типы цен номенклатуры»
Управление торговлей 11Список «Номенклатура», команда загрузки из файла в меню «Ещё»документ «Установка цен номенклатуры», вид цен из справочника «Виды цен»

В БП цены называются «типами цен», в УТ — «видами цен». Это разные справочники с разной логикой: в УТ вид цены может рассчитываться по формуле от другого вида, в БП такой схемы нет.

Загрузка в Бухгалтерии 3.0

  1. Откройте список номенклатуры и выделите группу, куда пойдут новые позиции.
  2. Нажмите «Загрузить» и выберите файл прайса.
  3. Программа покажет таблицу из файла. Щёлкните по заголовку каждого столбца и укажите, какому реквизиту он соответствует: «Артикул», «Наименование», «Цена» и так далее.
  4. Столбцы, которые грузить не нужно, оставьте без сопоставления.
  5. Укажите вид номенклатуры для новых позиций и тип цен, в который запишется цена.
  6. Нажмите «Загрузить». По строкам с ценой программа создаст документ установки цен.

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

Загрузка в Управлении торговлей 11

В УТ работает механизм «Загрузка данных из файла» из библиотеки стандартных подсистем. Он устроен как мастер из трёх шагов:

  1. Заполнение таблицы. Программа показывает шаблон с колонками реквизитов. Данные вставляют из буфера обмена (скопировали столбцы в Excel — вставили в 1С) или загружают из файла.
  2. Сопоставление. 1С ищет каждую строку в справочнике по выбранным полям и показывает статус: найдено, не найдено, неоднозначно.
  3. Загрузка. Вы выбираете, создавать ли новые элементы и обновлять ли существующие, и подтверждаете.

Для цен в УТ удобнее идти через документ «Установка цен номенклатуры»: в его табличной части также есть загрузка из файла. Так цены не смешиваются с изменением карточек.

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

Если встроенной загрузки нет

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

3. Обновление цен из прайса без создания дублей

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

Порядок:

  1. Создайте документ «Установка цен номенклатуры» на дату, с которой действуют новые цены.
  2. Выберите тип (вид) цен — например, «Закупочная» или «Цена поставщика ООО Ромашка».
  3. Загрузите в табличную часть столбцы «Артикул» (или «Наименование») и «Цена».
  4. Строки, по которым позиция не нашлась, программа подсветит или пропустит — выгрузите их списком и разберите вручную.
  5. Проведите документ.

Цены в 1С хранятся периодически: новый документ не затирает старые значения, а начинает действовать с указанной даты. Поэтому дату ставьте осознанно. Документ «задним числом» изменит цены, которые подставлялись в уже введённые заказы и накладные при их повторном заполнении.

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

Цены продажи из прайса поставщика лучше не грузить напрямую. Загрузите закупочную цену, а розничную в УТ рассчитайте от неё вторым видом цен с формулой наценки.

4. Сопоставление позиций прайса с номенклатурой в 1С

От правил поиска зависит, обновит ли 1С существующую позицию или создаст новую. Варианты ключа поиска:

КлючНадёжностьКогда использоватьРиск
Штрихкодвысокаятовары с заводской маркировкойу поставщика может не быть штрихкодов
Артикулвысокаяу поставщика стабильная система артикуловсовпадение артикулов разных производителей
Наименованиенизкаяразовая загрузка небольшого прайсалишний пробел или точка — и уже дубль
Код в 1Свысокаяфайл ранее выгружен из вашей же базыу поставщика вашего кода нет

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

Свои артикулы и артикулы поставщика

Частая ситуация: у вас свой артикул KR-1204, у поставщика — 12-04-ZN. Прямой поиск не сработает. Решения:

  • 🔁 в УТ 11 использовать справочник «Номенклатура поставщиков»: он хранит соответствие позиции поставщика вашей номенклатуре, и при загрузке ищут уже по нему;
  • 📎 добавить в файл столбец с вашим артикулом через ВПР по таблице соответствия, которую один раз собрали вручную;
  • 🏷️ в БП завести дополнительный реквизит «Артикул поставщика» и сопоставлять по нему — при условии, что загрузка позволяет выбрать этот реквизит как ключ.
Сопоставление полей
Артикул поставщика→Номенклатура поставщиков / доп. реквизит
Наименование→Наименование (только для новых позиций)
Ед. изм.→Единица измерения (классификатор единиц)
Цена, руб.→Цена в документе «Установка цен номенклатуры»
НДС→Ставка НДС в карточке номенклатуры
Штрихкод→Штрихкоды номенклатуры

Режимы загрузки

При каждой загрузке выбирают одно из сочетаний:

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

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

5. Загрузка прайс-листа через XML

XML-прайс используют, когда данные идут из другой программы или с сайта поставщика. Тут три пути.

CommerceML. Это формат обмена с интернет-магазинами. Цены в нём лежат в файле предложений (offers.xml), товары — в каталоге (import.xml). Если поставщик отдаёт прайс в CommerceML, его можно принять механизмом обмена с сайтом в УТ или БП, указав вид цен, в который записываются значения.

Универсальный обмен данными в формате XML. Внешняя обработка УниверсальныйОбменДаннымиXML.epf загружает файл, выгруженный другой базой 1С по правилам конвертации. Правила готовят в конфигурации «Конвертация данных». Путь подходит, если у поставщика тоже 1С и вы договорились о структуре обмена. Для чужого произвольного XML без правил он не работает.

Своя обработка. Произвольный XML поставщика читают внешней обработкой: ЧтениеXML или ЧтениеDOM, обход узлов, поиск номенклатуры, запись в документ установки цен. Это работа программиста, зато такую обработку легко поставить на расписание.

СпособКогда подходитЧто нужно
Excel (встроенная загрузка)разовые и ежемесячные прайсытолько пользователь
CommerceMLпоставщик выгружает каталог для сайтовнастройка узла обмена
Универсальный обмен XMLу поставщика тоже 1Справила конвертации
Своя обработка XMLнестандартный формат, частое обновлениепрограммист 1С

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

6. Автоматическая загрузка прайса по расписанию

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

Вариант 1: регламентная команда дополнительной обработки

  1. Программист делает обработку с серверной командой загрузки.
  2. Её регистрируют в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
  3. В карточке обработки у серверной команды задают расписание: например, каждый день в 06:00.

В клиент-серверной базе такие задания выполняет сервер 1С. В файловой базе регламентные задания срабатывают, только пока в базе открыт хотя бы один сеанс, — на это часто натыкаются, когда «по расписанию ничего не загрузилось».

Вариант 2: планировщик Windows

Для файловой базы надёжнее запускать 1С из планировщика заданий Windows с параметром /Execute, который открывает внешнюю обработку сразу при старте:

"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /N"Робот" /P"пароль" /Execute"D:\Obr\load_price.epf" /DisableStartupMessages

Номер версии в пути замените на установленный у вас. Обработка должна в конце работы закрыть сеанс (ЗавершитьРаботуСистемы(Ложь)), иначе окно 1С останется висеть и следующий запуск не пройдёт.

Для отдельного пользователя «Робот»:

  • 👤 выдайте права на открытие внешних обработок и изменение цен — не полные права;
  • 🛡️ снимите в его свойствах флажок защиты от опасных действий, иначе при каждом запуске обработки появится окно с предупреждением и автозапуск остановится;
  • 📝 пусть обработка пишет итог в журнал регистрации или файл: сколько строк обновлено, сколько не найдено.

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

7. Ошибки при загрузке прайса и что с ними делать

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

Ещё две ошибки, которые видны не сразу:

  • 📅 Дата документа в будущем. Цены «не работают», хотя документ проведён. Проверьте дату: цены действуют с неё, а не с момента проведения.
  • 🧾 Неверная ставка НДС у новых позиций. Если в файле не было столбца НДС, новые элементы получат ставку по умолчанию. Перед проведением первой закупки отберите созданные за день элементы и проверьте ставку.

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

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