Прайс-лист поставщика в 1С: от файла Excel до новых цен в базе
Содержание
Прайс загружают в 1С не «в справочник», а в документ цен: в Бухгалтерии 3.0 это «Установка цен номенклатуры», в Управлении торговлей 11 — тот же документ, но цены в нём привязаны к видам цен. Таблицу документа заполняют из Excel встроенной командой загрузки из файла, сопоставляют колонки с реквизитами и проводят документ. С этой даты новые цены начинают подставляться в продажи и закупки.
Частое заблуждение — что загрузить прайс значит «завести товары». Без документа цен номенклатура появится, а цена останется пустой. Вторая ошибка — грузить файл поставщика как есть, с объединёнными ячейками и логотипом в шапке. Ниже порядок, при котором импорт проходит с первого раза и не плодит дубли.
Подготовка прайс-листа к загрузке в 1С
90% проблем импорта решается до открытия 1С. Файл поставщика сделан для людей, а 1С нужна плоская таблица.
Что сделать с файлом:
- 🧹 Удалите шапку с реквизитами, логотипом и контактами. Первая строка — заголовки колонок, со второй — данные.
- 🔗 Разъедините объединённые ячейки. Группы товаров, растянутые на всю строку, удалите или вынесите в отдельную колонку «Группа».
- 🔢 Колонку с артикулом переведите в текстовый формат. Иначе
000123превратится в123, а12-05— в дату. - 💰 Цены оставьте числами без «руб.», пробелов-разделителей тысяч и формул. Формулы замените значениями:
Копировать → Вставить как значения. - 🧾 Проверьте, включает ли цена НДС. Если в прайсе две колонки, «с НДС» и «без НДС», грузите одну — ту, что соответствует настройке типа цены в 1С.
- 🗑 Уберите пустые строки и итоги внизу листа.
- 💾 Сохраните в
.xlsx. Если прайс многостраничный, оставьте один лист: загрузка читает первый лист или выбранный.
Сделайте в Excel ключевую колонку для поиска товара: артикул поставщика, штрихкод или код. Поиск по наименованию работает хуже всего: «Кабель ВВГ 3х2,5» и «Кабель ВВГнг 3*2.5» для 1С — разные товары.
Минимальный набор колонок для загрузки цен:
| Колонка | Обязательна | Зачем |
|---|---|---|
| Артикул или штрихкод | да | поиск существующей номенклатуры |
| Наименование | желательно | создание новой позиции, контроль глазами |
| Цена | да | значение, которое запишется в документ |
| Единица измерения | при разных упаковках | «шт» и «упак» по 10 дают разницу в 10 раз |
| Валюта | если прайс не в рублях | проверка, что тип цены выбран верно |
Встроенная загрузка прайса в 1С: какие есть способы
В типовых конфигурациях на платформе 8.3 загрузка из табличного файла встроена в формы. Отдельная обработка нужна редко.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Команда «Загрузить» в списке номенклатуры | новые товары от поставщика, без цен или вместе с ценами | создаёт карточки, цену отдельно не проводит |
| Загрузка из файла в табличную часть документа цен | обновить цены по существующим товарам | товар должен найтись, иначе строку придётся сопоставить вручную |
| Обработка «Загрузка данных из табличного документа» | старые релизы, нестандартные реквизиты, массовая загрузка в любой справочник | внешняя обработка, нужен доступ к её запуску |
| Обмен в формате XML (EnterpriseData, правила КД) | поставщик тоже на 1С и выгружает каталог | нужна настройка правил обмена |
Порядок для типичной задачи «пришёл новый прайс, обновить цены»:
- Создайте документ установки цен. В БП 3.0: раздел
Склад, группа «Цены» → «Установка цен номенклатуры». В УТ 11 документ ищите в разделе «Маркетинг» или «Продажи» по слову «цен». - Укажите дату, с которой цены действуют, и тип (вид) цены.
- Над табличной частью нажмите «Загрузить» или найдите команду загрузки из файла в меню
Ещё. - Выберите файл. Откроется окно в виде таблицы с вашими колонками.
- Сопоставьте колонки с реквизитами (раздел ниже), запустите проверку.
- Посмотрите итог: сколько строк сопоставлено, сколько нет. Несопоставленные исправьте и повторите.
- Перенесите данные в документ, проверьте 3–5 случайных строк глазами и проведите.
Дата документа — это дата начала действия цены. Документ, проведённый «задним числом», меняет цены в уже введённых, но ещё не перезаполненных документах. Для нового прайса ставьте текущую или будущую дату.
Сопоставление колонок прайса с реквизитами 1С
В окне загрузки у каждой колонки файла есть заголовок, по клику на который выбирают реквизит 1С. Главная настройка — не колонки, а способ поиска номенклатуры.
Как выбирать поле поиска:
- ✅ Артикул — лучший вариант, если артикулы в базе заполнены так же, как у поставщика.
- ✅ Штрихкод — надёжно для розницы, если штрихкоды уже зарегистрированы в базе.
- ⚠️ Код 1С — только если файл выгружен из вашей же базы и вы правили в нём цены.
- ❌ Наименование — крайняя мера. Одна лишняя точка или пробел — и создаётся дубль.
Что делать с несопоставленными строками. Окно загрузки показывает их отдельно. Варианты:
- Сопоставить вручную, выбрав товар из справочника. Подходит для 5–20 строк.
- Разрешить создание новых позиций. Тогда заранее выберите группу номенклатуры, вид номенклатуры и ставку НДС — иначе новые карточки окажутся в корне и без ставки.
- Пропустить и разобрать позже. Для больших прайсов это нормально: цены обновятся по найденным, а новинки заведёте отдельной загрузкой в справочник.
Если поставщик постоянный, заведите в карточке номенклатуры его артикул (в УТ 11 для этого есть номенклатура поставщиков, связанная с вашей). Тогда каждый следующий прайс сопоставляется сам.
Типы и виды цен, валюта и НДС при загрузке прайса
Перед первой загрузкой настройте, куда будут записаны цены. В двух основных конфигурациях это разные объекты.
| Конфигурация | Что выбирают в документе | Где настраивается |
|---|---|---|
| Бухгалтерия 3.0 | Тип цен номенклатуры | Справочники → Товары и услуги → Типы цен |
| Управление торговлей 11 | Вид цены | справочник «Виды цен» в разделе маркетинга и ценообразования |
Не путайте термины. «Типы цен» — это БП, «виды цен» — УТ 11 и ERP. В УТ 11 цены поставщиков хранятся отдельно от ваших продажных: закупочные регистрируются по партнёру, а продажные — по виду цены.
Что проверить в типе (виде) цены:
- 💱 Валюта. Если прайс в долларах или евро, заведите отдельный тип цены в этой валюте и грузите цены как есть. Пересчёт в рубли 1С сделает в документе продажи по курсу на дату.
- 🧾 Цена включает НДС. Флажок должен совпадать с тем, что в колонке прайса. Ошибка здесь даёт расхождение ровно на 22% или 10%: цена 1 220 ₽ с НДС, загруженная как цена без НДС, в продаже превратится в 1 488,40 ₽.
- 🔁 Округление. В УТ 11 у вида цены задают правило округления, например до 1 ₽ или до 0,99. Загруженная цена записывается как есть, округление работает для рассчитываемых цен.
Курсы валют должны быть загружены на дату продажи: справочник «Валюты» в разделе «Банк и касса» в БП, кнопка загрузки курсов. Без курса документ в рублях посчитает ноль или откажется проводиться.
Розничная цена от закупочной
Частая задача: загрузить закупочный прайс и сразу получить розничные цены с наценкой. В УТ 11 вид цены можно сделать расчётным: формула от другого вида цены, например «Закупочная × 1,35». Загружаете только закупочную, а в документе установки цен перерассчитываете зависимые виды.
В БП 3.0 расчётных видов нет. Удобнее сделать колонку с наценкой прямо в Excel и загрузить её как второй тип цены тем же документом.
Автоматическое обновление цен из прайса по расписанию
Ручная загрузка раз в неделю — нормально. Если поставщиков десять и прайсы приходят каждый день, процесс стоит автоматизировать.
Варианты от простого к сложному:
- Шаблон сопоставления. Окно загрузки запоминает соответствие колонок. При одном и том же формате файла второй раз нажать нужно три кнопки.
- Обмен с поставщиком в XML. Если поставщик на 1С, договоритесь о выгрузке каталога в EnterpriseData или по правилам «Конвертации данных». Колонки сопоставлять не нужно, товары связываются по идентификаторам.
- Дополнительная обработка с расписанием. Через
Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработкиподключают обработку, которая читает файл из папки и создаёт документ цен. В карточке обработки задаётся расписание выполнения на сервере. - Загрузка по ЭДО или от B2B-сервиса. Часть поставщиков отправляет прайс через электронный документооборот или API. Это уже доработка под конкретного поставщика.
Регламентное задание выполняется на сервере 1С, а не на компьютере бухгалтера. Папка с прайсами должна быть доступна по сетевому пути (\\server\prices\) учётной записи, под которой работает служба сервера 1С. Путь C:\Users\Ivanov\Downloads сервер не увидит.
Минимальный каркас чтения Excel на сервере (платформа 8.3, файл .xlsx, Excel на сервере не нужен):
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1).Текст);
ЦенаТекст = СтрЗаменить(ТабДок.Область(НомерСтроки, 3).Текст, " ", "");
Цена = Число(СтрЗаменить(ЦенаТекст, ".", ","));
// поиск номенклатуры по артикулу и добавление строки в документ цен
КонецЦикла;
Если в колонке цены попадётся текст, Число() вызовет исключение. В рабочей обработке оборачивайте преобразование в Попытка … Исключение и пишите номер строки в журнал.
Автоматика должна создавать документ, но не проводить его. Бухгалтер или менеджер просматривает изменения и проводит сам. Ошибка поставщика с лишним нулём в цене иначе уйдёт в отгрузки к вечеру.
Ошибки при импорте прайса и как их исправить
Отдельно о датах. Если цена не подтягивается в заказ, хотя документ проведён, сравните даты. Документ цен от 08.10, а заказ от 07.10 — в заказе останется прежняя цена. Это не сбой, так работает периодический учёт цен.
Проверить результат загрузки удобно отчётом по ценам номенклатуры: в БП это прайс-лист в разделе Склад → Отчёты, в УТ 11 — отчёт «Прайс-лист» в маркетинге. Сформируйте его на дату документа и сравните 5–10 позиций с файлом поставщика.