Установка цен в — одна из самых частых операций в торговле, но даже опытные пользователи иногда сталкиваются с ошибками: неправильно применяются типы цен, теряются наценки или не обновляются остатки. Эта статья поможет разобраться, как корректно назначить цены на товары в разных конфигурациях (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).

Алгоритм действий:

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

Если нужно установить цены на группу товаров (например, всю категорию «Электроника»), используйте Заполнить → По группам номенклатуры. Это сэкономит время, но будьте осторожны: при массовом заполнении цены перезапишутся без подтверждения.

Дата действия цен актуальна|Тип цены выбран правильно|Номенклатура не дублируется|Цены округлены по правилам компании

-->

3. Массовое изменение цен: наценки, скидки, округление

Если цен много, ручной ввод неэффективен. В 1С есть инструменты для массового пересчёта:

  • 🔄 Пересчёт по формуле — например, увеличить все цены на 5% или округлить до 99 копеек.
  • 📊 Импорт из Excel — если цены приходят от поставщика в таблице.
  • 🔗 Копирование цен — перенести цены из одного типа в другой (например, из «Оптовой» в «Розничную»).

Рассмотрим пересчёт по формуле на примере 1С:УТ 11:

  1. Откройте документ Установка цен номенклатуры.
  2. Заполните табличную часть номенклатурой (можно выбрать всю группу).
  3. Нажмите Заполнить → По формуле.
  4. Введите формулу, например:
    Цена * 1.05  // Увеличение на 5%
    

    ЦЕЛ(Цена 1.2 / 0.99) 0.99 // Округление до 0.99 с наценкой 20%

  5. Проверьте результат в колонке «Новая цена» и проведите документ.

Для импорта из Excel используйте обработку Универсальный обмен данными (входит в стандартную поставку). Формат файла:

Артикул;Наименование;Цена

A001;Монитор 24";12500.50

Подробнее о форматах — в FAQ.

Вручную через документ|Массовым пересчётом по формуле|Импортом из Excel|Автоматически по правилам|Другой способ-->

4. Автоматическое обновление цен: правила и регламентные задания

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

  • 📅 Цены меняются по расписанию (например, каждую пятницу).
  • 🔄 Они зависят от курса валюты или цен поставщика.
  • 🛒 Нужно автоматически применять скидки для определённых клиентов.

В 1С:ERP 2.5 и УТ 11 для этого есть механизм Правила регистрации цен (НСИ → Ценообразование → Правила регистрации цен). Пример настройки:

  1. Создайте новое правило, укажите тип цены (например, «Розничная»).
  2. Задайте источник данных:
    • 📄 Из документа Поступление товаров (если цены берутся от поставщика).
    • 📈 По формуле (например, Себестоимость * 1.3).
  3. Установите периодичность (ежедневно, еженедельно) или привяжите к событию (например, при проведении Заказа поставщику).
  4. Сохраните и запустите Регламентное задание для автоматического выполнения.
  5. В Бухгалтерии 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. В обработке Универсальный обмен данными настройте соответствие колонок.
  2. В поле «Номенклатура» укажите поиск по Наименованию (а не по Артикулу).
  3. Перед импортом проверьте, нет ли в базе дублей наименований — это приведёт к ошибкам.

Если дубли есть, предварительно очистите справочник или используйте Поиск и замена дублей (обработка от 1С).

Почему при массовом изменении цен некоторые товары пропускаются?

Это происходит из-за:

  • 🔹 Фильтров в документе (например, выбрана только одна группа товаров).
  • 🔹 Отсутствия прав у пользователя на редактирование цен.
  • 🔹 Блокировки номенклатуры (если товар помечен на удаление).

Проверьте:

  1. Отбор в документе Установка цен (кнопка Ещё → Настройка отбора).
  2. Права пользователя в Администрирование → Пользователи.
  3. Статус номенклатуры в справочнике (не должна быть помечена на удаление).
Можно ли сделать так, чтобы цены автоматически округлялись до 0.99?

Да, для этого:

  1. В УТ 11 или ERP 2.5 настройте правило округления в типе цены (Справочники → Типы цен → Округление).
  2. Выберите вариант До 0.99 или введите формулу:
    ЦЕЛ(Цена / 0.99) * 0.99
  3. В Бухгалтерии 3.0 округление придётся делать вручную или через обработку.

Если нужно округлить уже существующие цены, используйте документ Установка цен с формулой:

ЦЕЛ(ТекущаяЦена / 0.99) * 0.99
Как перенести цены из одной базы 1С в другую?

Способы переноса:

  1. Через универсальный обмен:
    • В исходной базе экспортируйте цены в XML через Администрирование → Выгрузка данных.
    • В целевой базе загрузите файл через Администрирование → Загрузка данных.
  • Через обработку:
    • Используйте обработку ВыгрузкаЗагрузкаДанныхXML (доступна на Инфостарте).
    • Настройте соответствие Типов цен и Номенклатуры между базами.
    • Через COM-соединение (для программистов):
      ИсходнаяБаза = Новый COMОбъект("V83.ComConnector").Connect("File=""C:\Base1"";");
      

      ЦелеваяБаза = Новый COMОбъект("V83.ComConnector").Connect("File=""C:\Base2"";");

      Запрос = Новый Запрос(ИсходнаяБаза);

      Запрос.Текст = "ВЫБРАТЬ ЦеныНоменклатуры.Номенклатура, ЦеныНоменклатуры.Цена...";

      // ... код выгрузки и загрузки

    • Важно: Перед перenosom сверьте справочники номенклатуры в обеих базах — артикулы и наименования должны совпадать!

  • Как отследить, кто и когда изменил цену на товар?

    В 1С ведётся журнал изменений для документов. Чтобы посмотреть историю:

    1. Откройте документ Установка цен номенклатуры.
    2. Нажмите Ещё → История изменений.
    3. В журнале будет указано, кто и когда проводил документ.

    Если нужно отследить изменения конкретной цены (не документа), используйте Отчёт по движениям регистра "Цены номенклатуры":

    1. Перейдите в Отчёты → Стандартные → Регистры сведений → Цены номенклатуры.
    2. Установите фильтр по Номенклатуре и Типу цены.
    3. В результатах будет история всех изменений с указанием документов-источников.

    В ERP 2.5 и УТ 11 также доступен Отчёт "Анализ изменений цен" с визуализацией динамики.