Установка цен в 1С — одна из самых частых операций в торговле, но даже опытные пользователи иногда сталкиваются с ошибками: неправильно применяются типы цен, теряются наценки или не обновляются остатки. Эта статья поможет разобраться, как корректно назначить цены на товары в разных конфигурациях (1С:Управление торговлей, ERP, Бухгалтерия), избежать типичных проблем и автоматизировать процесс.
Мы рассмотрим не только базовые методы (ручной ввод, загрузка из Excel), но и продвинутые инструменты: массовое изменение цен, работу с видами цен (опт/розница), настройку автоматического пересчёта по правилам. Отдельное внимание уделим нюансам, которые часто упускают: как цены связываются с документами поступления, почему они могут «слетать» при обмене данными и как это исправить.
Если вы только начинаете работать с 1С или хотите оптимизировать текущие процессы — здесь найдёте чек-листы, таблицы соответствия типов цен и практические советы от экспертов. А для программистов добавили раздел с примерами кода для автоматизации через 1С:Предприятие 8.3.
1. Типы цен в 1С: какие бывают и как их настроить
Прежде чем устанавливать цены, нужно понять, с какими видами цен вы работаете. В 1С они делятся на две категории:
- 📌 Базовые — основные цены, которые используются в документах (например, «Розничная», «Оптовая»).
- 📈 Расчётные — формируются автоматически на основе базовых (например, «Оптовая + 10%», «Розница с НДС»).
Чтобы проверить или добавить новые типы, перейдите в Справочники → Типы цен номенклатуры. Здесь можно:
- 🔹 Создать новый тип (например, «Акционная цена» или «Цена для VIP-клиентов»).
- 🔹 Настроить валюту (рубли, доллары, евро) и округление.
- 🔹 Указать приоритет — какая цена будет применяться по умолчанию в документах.
Важно: если вы работаете с ERP 2.5 или УТ 11, здесь же настраиваются правила округления (например, до 0.50 или 0.99). В Бухгалтерии 3.0 функционал упрощён — типы цен привязываются к видам номенклатуры.
⚠️ Внимание: Если в вашей базе уже есть документы с устаревшими типами цен, их нельзя просто удалить — это приведёт к ошибкам при проведении старых операций. Вместо этого отметьте их как «Неиспользуемые» в настройках справочника.
| Тип конфигурации | Где настраиваются типы цен | Макс. количество типов | Поддержка валют |
|---|---|---|---|
| 1С:Управление торговлей 11 | Справочники → Типы цен номенклатуры |
Неограничено | Да (многовалютность) |
| 1С:ERP 2.5 | НСИ → Типы цен |
Неограничено | Да + курсы ЦБ |
| 1С:Бухгалтерия 3.0 | Справочники → Номенклатура → Типы цен |
Ограничено настройками | Только рубли |
2. Ручной ввод цен: пошаговая инструкция
Самый простой способ — ввести цены вручную через документ Установка цен номенклатуры. Он доступен в меню Документы → Ценообразование (в УТ 11) или Продажи → Установка цен (в ERP).
Алгоритм действий:
- Создайте новый документ
Установка цен номенклатуры. - Укажите тип цены (например, «Розничная»).
- Добавьте номенклатуру в табличную часть (можно подгрузить из справочника или отсканировать штрихкоды).
- Введите цены вручную или используйте кнопку
Заполнить → По ценам поставщика(если они есть в базе). - Проверьте дату действия — по умолчанию цены применяются с текущей даты.
- Проведите документ.
Если нужно установить цены на группу товаров (например, всю категорию «Электроника»), используйте Заполнить → По группам номенклатуры. Это сэкономит время, но будьте осторожны: при массовом заполнении цены перезапишутся без подтверждения.
Дата действия цен актуальна|Тип цены выбран правильно|Номенклатура не дублируется|Цены округлены по правилам компании
-->
3. Массовое изменение цен: наценки, скидки, округление
Если цен много, ручной ввод неэффективен. В 1С есть инструменты для массового пересчёта:
- 🔄 Пересчёт по формуле — например, увеличить все цены на 5% или округлить до 99 копеек.
- 📊 Импорт из Excel — если цены приходят от поставщика в таблице.
- 🔗 Копирование цен — перенести цены из одного типа в другой (например, из «Оптовой» в «Розничную»).
Рассмотрим пересчёт по формуле на примере 1С:УТ 11:
- Откройте документ
Установка цен номенклатуры. - Заполните табличную часть номенклатурой (можно выбрать всю группу).
- Нажмите
Заполнить → По формуле. - Введите формулу, например:
Цена * 1.05 // Увеличение на 5%ЦЕЛ(Цена 1.2 / 0.99) 0.99 // Округление до 0.99 с наценкой 20%
- Проверьте результат в колонке «Новая цена» и проведите документ.
Для импорта из Excel используйте обработку Универсальный обмен данными (входит в стандартную поставку). Формат файла:
Артикул;Наименование;Цена
A001;Монитор 24";12500.50
Подробнее о форматах — в FAQ.
Вручную через документ|Массовым пересчётом по формуле|Импортом из Excel|Автоматически по правилам|Другой способ-->
4. Автоматическое обновление цен: правила и регламентные задания
Чтобы цены обновлялись без ручного вмешательства, настройте регламентные задания или правила ценообразования. Это актуально, если:
- 📅 Цены меняются по расписанию (например, каждую пятницу).
- 🔄 Они зависят от курса валюты или цен поставщика.
- 🛒 Нужно автоматически применять скидки для определённых клиентов.
В 1С:ERP 2.5 и УТ 11 для этого есть механизм Правила регистрации цен (НСИ → Ценообразование → Правила регистрации цен). Пример настройки:
- Создайте новое правило, укажите тип цены (например, «Розничная»).
- Задайте источник данных:
- 📄 Из документа
Поступление товаров(если цены берутся от поставщика). - 📈 По формуле (например,
Себестоимость * 1.3).
- 📄 Из документа
- Установите периодичность (ежедневно, еженедельно) или привяжите к событию (например, при проведении
Заказа поставщику). - Сохраните и запустите
Регламентное заданиедля автоматического выполнения. - 🔹
Использовать цены поставщика как закупочные. - 🔹
Обновлять цены номенклатуры при поступлении. - 🔹 Дату действия цены (может быть просрочена).
- 🔹 Приоритет типа цены в настройках.
- 🔹 Наличие цены для данной
номенклатурыв регистреЦены номенклатуры. - 🔍
Цены номенклатуры— здесь хранятся все актуальные цены. - 🔍
Себестоимость товаров— если цены рассчитываются от себестоимости.
В Бухгалтерии 3.0 автоматического ценообразования нет — здесь цены обновляются только вручную или через обработки (требуется доработка программиста).
Если цены зависят от курса валюты, настройте в правиле ценообразования параметр «Валюта» и укажите источник курса (ЦБ РФ или ручной ввод). Это избавит от ручной корректировки при скачках курса.
5. Связь цен с документами: поступление, продажа, инвентаризация
Цены в 1С не существуют сами по себе — они привязаны к документам и регистрам. Разберём ключевые моменты:
1. Поступление товаров: цены поставщика фиксируются в документе Поступление (акты, накладные). Чтобы они автоматически стали закупочными, настройте в параметрах учета:
2. Продажа: в документах Реализация или Чек ККМ цена подтягивается из текущего типа цены, указанного в соглашении с клиентом. Если цена не подтянулась, проверьте:
3. Инвентаризация: при проведении Инвентаризации товаров цены не меняются, но если вы обнаружили расхождения, можно создать документ Корректировка цен для переоценки.
⚠️ Внимание: Если в документеРеализациявручную изменить цену, она не обновляет справочник цен! Это одноразовая корректировка только для текущего документа. Чтобы зафиксировать новую цену, создайте отдельный документУстановка цен номенклатуры.
6. Ошибки при работе с ценами и как их исправить
Даже опытные пользователи сталкиваются с проблемами при установке цен. Вот самые распространённые ошибки и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
| Цены не подтягиваются в документ продажи | Не указан тип цены в соглашении с клиентом | Проверьте настройки Договора контрагента → вкладка «Цены» |
| Цены «слетают» после обмена данными | Конфликт версий при синхронизации с другими базами | Настройте правила обмена в Планах обмена (приоритет данных) |
| При массовом изменении цены обнуляются | Ошибка в формуле или неверный отбор номенклатуры | Проверьте формулу в документе Установка цен и фильтры |
| Цены в валюте не пересчитываются | Не обновлён курс валют | Загрузите актуальные курсы через Обмен данными → Курсы валют |
Если проблема не решается стандартными методами, проверьте регистры сведений:
Для диагностики используйте Отчёт по ценам номенклатуры (Отчёты → Ценообразование). Он покажет, какие цены действуют на выбранную дату и почему.
Как восстановить цены после сбоя?
Если цены пропали после обновления 1С или сбоя, попробуйте:
1. Восстановить базу из резервной копии (если она есть).
2. Провести документ Установка цен повторно с датой ретроактивно.
3. Использовать обработку Восстановление последовательности документов (доступна в поддержке 1С).
7. Автоматизация через 1С:Предприятие 8.3 (для программистов)
Если стандартных инструментов недостаточно, можно написать собственный код для управления ценами. Примеры:
1. Массовое обновление цен по условию (например, для товаров с низкой маржой):
Процедура ОбновитьЦеныСНизкойМаржей()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатуры.Номенклатура КАК Номенклатура,
| ЦеныНоменклатуры.Цена КАК ТекущаяЦена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
|ГДЕ
| ЦеныНоменклатуры.ТипЦен = &ТипЦены
| И ЦеныНоменклатуры.Цена / Себестоимость(&Дата) < 0.2"; // Маржа < 20%
Запрос.УстановитьПараметр("ТипЦены", ТипЦены);
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяЦена = Выборка.ТекущаяЦена * 1.1; // Увеличиваем на 10%
Документ = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Документ.Дата = ТекущаяДата();
Документ.ТипЦен = ТипЦены;
Строка = Документ.Товары.Добавить();
Строка.Номенклатура = Выборка.Номенклатура;
Строка.Цена = НоваяЦена;
Документ.Записать();
КонецЦикла;
КонецПроцедуры
2. Экспорт цен в Excel:
Процедура ЭкспортироватьЦеныВExcel()
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Артикул");
Таблица.Колонки.Добавить("Наименование");
Таблица.Колонки.Добавить("Цена");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Наименование КАК Наименование,
| ЦеныНоменклатуры.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО ЦеныНоменклатуры.Номенклатура = Номенклатура.Ссылка
|ГДЕ
| ЦеныНоменклатуры.ТипЦен = &ТипЦены";
Запрос.УстановитьПараметр("ТипЦены", ТипЦены);
Результат = Запрос.Выполнить();
Пока Результат.Следующий() Цикл
Строка = Таблица.Добавить();
Строка.Артикул = Результат.Артикул;
Строка.Наименование = Результат.Наименование;
Строка.Цена = Результат.Цена;
КонецЦикла;
Экспорт = Новый ЭкспортВExcel;
Экспорт.Экспортировать(Таблица, "Цены_" + Формат(ТекущаяДата(), "ДФ=ddMMyyyy") + ".xlsx");
КонецПроцедуры
Для интеграции с внешними системами (например, Bitrix24 или МойСклад) используйте REST API или COM-соединение. Пример подключения:
Попытка
Соединение = Новый COMОбъект("V83.ComConnector");
База = Соединение.Connect("File=""C:\Base\1C"";Usr=""Администратор"";");
Документ = База.Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
Исключение
Сообщить("Ошибка подключения: " + ОписаниеОшибки());
КонецПопытки;
8. Особенности работы с ценами в разных конфигурациях 1С
Функционал ценообразования отличается в зависимости от конфигурации. Сравним ключевые моменты:
| Функция | 1С:Управление торговлей 11 | 1С:ERP 2.5 | 1С:Бухгалтерия 3.0 |
|---|---|---|---|
| Многовалютные цены | Да | Да + автообновление курсов | Нет (только рубли) |
| Автоматическое ценообразование | Правила регистрации цен | Расширенные правила + регламентные задания | Отсутствует |
| Скидки и наценки | Да (гибкие настройки) | Да + сегментация клиентов | Ограничено |
| Импорт/экспорт цен | Универсальный обмен данными | Расширенный функционал | Только через обработки |
В 1С:Розница 2.3 цены управляются через Центральный узел (если используется распределённая база) или напрямую в Магазине. Здесь есть уникальная функция — ценники, которые печатаются автоматически при изменении цен.
В 1С:Комплексная автоматизация 2 ценообразование похоже на ERP, но добавлена интеграция с производством: можно рассчитывать цены исходя из калькуляции себестоимости готовой продукции.
⚠️ Внимание: В 1С:Бухгалтерия 3.0 нет полноценного ценообразования — здесь цены фиксируются только для целей учёта. Для торговли рекомендуется использовать Управление торговлей или ERP.
В ERP 2.5 и УТ 11 цены можно привязать к сегментам клиентов (например, оптовики, розница, VIP). Это позволяет гибко управлять скидками без ручного контроля.
FAQ: Частые вопросы по ценам в 1С
Как импортировать цены из Excel, если в файле нет артикулов?
Если в файле только наименования, используйте поиск по названию в обработке импорта. Для этого:
- В обработке
Универсальный обмен данныминастройте соответствие колонок. - В поле «Номенклатура» укажите поиск по
Наименованию(а не поАртикулу). - Перед импортом проверьте, нет ли в базе дублей наименований — это приведёт к ошибкам.
Если дубли есть, предварительно очистите справочник или используйте Поиск и замена дублей (обработка от 1С).
Почему при массовом изменении цен некоторые товары пропускаются?
Это происходит из-за:
- 🔹 Фильтров в документе (например, выбрана только одна группа товаров).
- 🔹 Отсутствия прав у пользователя на редактирование цен.
- 🔹 Блокировки номенклатуры (если товар помечен на удаление).
Проверьте:
- Отбор в документе
Установка цен(кнопкаЕщё → Настройка отбора). - Права пользователя в
Администрирование → Пользователи. - Статус номенклатуры в справочнике (не должна быть помечена на удаление).
Можно ли сделать так, чтобы цены автоматически округлялись до 0.99?
Да, для этого:
- В УТ 11 или ERP 2.5 настройте правило округления в типе цены (
Справочники → Типы цен → Округление). - Выберите вариант
До 0.99или введите формулу:ЦЕЛ(Цена / 0.99) * 0.99 - В Бухгалтерии 3.0 округление придётся делать вручную или через обработку.
Если нужно округлить уже существующие цены, используйте документ Установка цен с формулой:
ЦЕЛ(ТекущаяЦена / 0.99) * 0.99
Как перенести цены из одной базы 1С в другую?
Способы переноса:
- Через универсальный обмен:
- В исходной базе экспортируйте цены в XML через
Администрирование → Выгрузка данных. - В целевой базе загрузите файл через
Администрирование → Загрузка данных.
- В исходной базе экспортируйте цены в XML через
- Используйте обработку
ВыгрузкаЗагрузкаДанныхXML(доступна на Инфостарте). - Настройте соответствие
Типов цениНоменклатурымежду базами.
ИсходнаяБаза = Новый COMОбъект("V83.ComConnector").Connect("File=""C:\Base1"";");
ЦелеваяБаза = Новый COMОбъект("V83.ComConnector").Connect("File=""C:\Base2"";");
Запрос = Новый Запрос(ИсходнаяБаза);
Запрос.Текст = "ВЫБРАТЬ ЦеныНоменклатуры.Номенклатура, ЦеныНоменклатуры.Цена...";
// ... код выгрузки и загрузки
Важно: Перед перenosom сверьте справочники номенклатуры в обеих базах — артикулы и наименования должны совпадать!
Как отследить, кто и когда изменил цену на товар?
В 1С ведётся журнал изменений для документов. Чтобы посмотреть историю:
- Откройте документ
Установка цен номенклатуры. - Нажмите
Ещё → История изменений. - В журнале будет указано, кто и когда проводил документ.
Если нужно отследить изменения конкретной цены (не документа), используйте Отчёт по движениям регистра "Цены номенклатуры":
- Перейдите в
Отчёты → Стандартные → Регистры сведений → Цены номенклатуры. - Установите фильтр по
НоменклатуреиТипу цены. - В результатах будет история всех изменений с указанием документов-источников.
В ERP 2.5 и УТ 11 также доступен Отчёт "Анализ изменений цен" с визуализацией динамики.