К статье
Практический материал

Торговля и Склад · 11 мин

Как загрузить цены номенклатуры в 1С из Excel

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

Загрузка цен номенклатуры из Excel — одна из самых частых операций при работе с 1С:Управление торговлей, 1С:Комплексная автоматизация и 1С:ERP. Прайс-листы поставщиков приходят в табличном виде, и вбивать сотни позиций вручную нерационально: это долго и приводит к ошибкам в цифрах. Штатные механизмы 1С позволяют перенести цены из файла Excel за несколько минут, если правильно подготовить данные.

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

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

Что подготовить перед загрузкой

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

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

Проверьте формат чисел: цена должна быть числом, а не текстом. Частая проблема — цены вида «1 250,50 руб.» с неразрывными пробелами и буквой валюты в ячейке. Такие значения 1С не распознает как число. Очистите колонку: уберите пробелы, замените запятую на точку при необходимости, убедитесь, что Excel показывает формат ячейки «Числовой» или «Общий».

Способ 1: документ «Установка цен номенклатуры»

Самый корректный с точки зрения учёта способ — создать документ «Установка цен номенклатуры» и заполнить его табличную часть из файла. В разделе «Закупки» или «CRM и маркетинг» (зависит от конфигурации) откройте список документов установки цен и создайте новый. Укажите вид цены, который будете обновлять, например «Закупочная» или «Розничная».

В табличной части документа найдите кнопку «Заполнить» — в ряде конфигураций там есть пункт «Заполнить из внешнего файла» или «Загрузить из Excel». Если такого пункта нет, используйте универсальную обработку (следующий раздел), указав в ней режим загрузки в табличную часть этого документа.

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

Способ 2: обработка «Загрузка данных из табличного документа»

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

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

Далее настройте соответствие колонок: укажите, из какой колонки брать номенклатуру (и по какому реквизиту искать — код, артикул, наименование), а из какой — цену. Запустите сопоставление: обработка найдёт позиции в базе и покажет результат. Только после контроля сопоставления выполняйте загрузку.

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

Как сопоставить номенклатуру и не ошибиться

Сопоставление — самый ответственный этап. Поиск по коду работает только если коды в файле совпадают с кодами в базе, что бывает редко при загрузке прайсов поставщика. Поиск по артикулу надёжнее, но требует, чтобы артикулы поставщика были заранее внесены в карточки номенклатуры или в регистр «Номенклатура контрагентов».

Поиск по наименованию — самый рискованный вариант. Разница в одном пробеле, кавычках или сокращении («шт.» против «шт») делает строку ненайденной. Если другого идентификатора нет, заранее нормализуйте обе стороны: уберите лишние пробелы функцией СЖПРОБЕЛЫ в Excel и приведите регистр к одному виду.

Обработка после сопоставления показывает список ненайденных позиций. Не игнорируйте его: для этих строк либо создайте новую номенклатуру (некоторые обработки умеют делать это автоматически), либо сопоставьте вручную, либо осознанно исключите из загрузки. «Потерянные» строки — это позиции, которые останутся со старыми ценами.

Типичные ошибки при загрузке цен
01
Цена как текст с пробелами и символом валюты — в базу попадают нули или строка не загружается
02
Объединённые ячейки и многострочная шапка в файле — обработка смещает колонки и цены встают не к тем позициям
03
Поиск по наименованию без нормализации — половина позиций не сопоставляется
04
Загрузка без резервной копии — при ошибке в файле старые цены восстановить нечем
05
Непроведённый документ установки цен — пользователь считает, что цены обновлены, но в продажах действуют старые
06
Неверная дата документа — цены применяются задним числом и искажают уже созданные продажи

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

После проведения документа откройте несколько карточек номенклатуры из загруженного списка и сверьте цену с файлом Excel. Выборочная проверка 5–10 позиций из разных частей файла (начало, середина, конец) позволяет поймать системные ошибки вроде смещения колонок.

Затем сформируйте отчёт по ценам: в УТ это «Прайс-лист» или отчёт по регистру цен номенклатуры. Сравните количество позиций с новой ценой и количество строк в файле — они должны совпадать за вычетом осознанно пропущенных строк.

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

Контрольные точки

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

Количество загруженных строк против строк в файле
Норма

Совпадает с учётом осознанно пропущенных позиций

Тревожный признак

Часть строк потерялась без объяснения

Цены в карточках номенклатуры
Норма

Совпадают с файлом, включая копейки

Тревожный признак

Нули, сдвиг разрядов, цена от другой позиции

Дата и вид цены в документе
Норма

Верная дата начала действия и нужный вид цены

Тревожный признак

Документ задним числом или цены записаны не в тот вид

Отчёт «Прайс-лист»
Норма

Новые цены видны в ценообразовании

Тревожный признак

В отчёте старые цены — документ не проведён

Альтернативные варианты и ограничения

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

Для конфигураций на обычных формах (например, старые редакции УТ 10.3) используется классическая обработка «Загрузка данных из табличного документа» с диска ИТС — логика та же, но интерфейс отличается. В 1С:Бухгалтерии загрузка цен обычно делается через документ «Установка цен номенклатуры» с кнопкой заполнения или через те же универсальные обработки.

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

Сравнение способов загрузки

Документ «Установка цен номенклатуры»

Корректно с точки зрения учёта, сохраняет историю цен. Подходит для регулярного обновления цен продажи

Универсальная обработка загрузки

Гибкая настройка колонок, умеет загружать в разные объекты. Требует внимательной настройки сопоставления

Загрузка напрямую в регистр сведений

Быстро, но без истории и контроля дат. Только для опытных пользователей и разовых технических задач

Внешняя обработка под формат поставщика

Идеальна для регулярных одинаковых прайсов, но требует разработки или доработки

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

Можно ли загрузить цены в 1С из файла CSV вместо Excel?

Да. Большинство обработок читают табличный документ, а CSV открывается в 1С так же, как и Excel. Часто CSV даже надёжнее: в нём нет объединённых ячеек, форматов и формул, которые ломают загрузку. Следите только за кодировкой файла (подойдёт UTF-8) и разделителем колонок.

Что делать, если часть номенклатуры не найдена при сопоставлении?

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

Как отменить ошибочно загруженные цены?

Если цены загружены документом «Установка цен номенклатуры», распроведите и пометьте этот документ на удаление — регистр вернётся к предыдущим значениям, если были более ранние документы. Если документов с прежними ценами нет, восстановить цены можно только из резервной копии или повторной загрузкой старого прайса.

Можно ли загрузить сразу несколько видов цен из одного файла?

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

Почему после загрузки в продажах старые цены?

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

Нужны ли права администратора для загрузки цен?

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

Итог

Что важно запомнить

Загрузка цен из Excel в 1С сводится к трём вещам: чистый «плоский» файл с колонками идентификатора и цены, корректное сопоставление номенклатуры (лучше по артикулу) и проведённый документ «Установка цен номенклатуры» с правильной датой. Перед загрузкой — резервная копия, после — сверка по отчёту и поиск нулевых цен.