Цена от цены: как работает базовый тип цен и наценка в 1С 8.3
Содержание
Базовый тип цен в 1С — это тип цен, от которого программа рассчитывает другой тип: берёт его цену, прибавляет процент наценки (или вычитает скидку) и округляет. В 1С:Бухгалтерии 3.0 его выбирают в карточке справочника «Типы цен номенклатуры», в поле «Базовый тип цен». Рядом указывают наценку в процентах и правило округления.
Пример: закупочная цена — базовая, розничная = закупочная + 30 %, оптовая = розничная − 10 %. Правильно настроить такую цепочку один раз — значит не вводить три прайса руками после каждого поступления, а пересчитывать их одним документом.
Что такое базовый тип цен и зачем он нужен
Тип цен в 1С — это просто «колонка прайса»: закупочная, розничная, оптовая, дилерская. Каждый тип хранит свои цены на каждую позицию номенклатуры с датой, с которой цена действует.
Цены любого типа можно вводить вручную. Но если розница всегда равна закупке плюс фиксированная наценка, ручной ввод — лишняя работа и источник опечаток. Базовый тип цен решает эту задачу:
- 🔗 связь — зависимый тип «знает», от какой цены считаться;
- 📈 наценка — процент, на который зависимая цена выше базовой (отрицательный процент даёт скидку);
- 🔢 округление — до копеек, рублей, десятков рублей, при необходимости в большую сторону;
- ⚡ массовый пересчёт — новая цена по сотням позиций получается одной командой.
Сам по себе «базовый» — не особый вид справочника. Это обычный тип цен, на который ссылается другой тип. Один и тот же тип может быть базовым для нескольких других, а зависимый тип сам может стать базой для следующего уровня.
Чем базовый тип отличается от остальных типов цен
Разницу удобно видеть на трёх ролях, которые тип цен может играть в базе.
| Роль типа цен | Откуда берётся цена | Пример |
|---|---|---|
| Самостоятельный | Вводится вручную документом установки цен | Цена поставщика из прайса |
| Базовый | Вводится вручную или заполняется по поступлению, служит источником для других | Закупочная |
| Зависимый (расчётный) | Рассчитывается от базового: наценка + округление | Розничная = закупочная + 30 % |
Ключевое отличие зависимого типа: его цена — результат расчёта, а не исходные данные. Если поменять базовую цену, зависимая сама по себе не изменится. Нужно заново выполнить расчёт и записать результат новым документом установки цен.
Это защищает от неожиданностей. Цена в уже проведённых продажах не «поплывёт» задним числом: документы хранят ту цену, которая действовала на их дату.
Термины в разных конфигурациях
Слово «базовый» встречается не везде. Названия справочников различаются, путать их не стоит.
| Конфигурация | Справочник | Как задаётся зависимость |
|---|---|---|
| 1С:Бухгалтерия 3.0 | «Типы цен номенклатуры» | Поле «Базовый тип цен» + наценка + округление |
| 1С:Управление торговлей 11, КА 2, ERP | «Виды цен» | Способ задания цены «по формуле»: в формуле участвуют другие виды цен |
| Старые УТ 10.3, КА 1.1 | «Типы цен номенклатуры» | Флажок «Рассчитывается» + базовый тип + процент |
Дальше пошаговая настройка показана на Бухгалтерии 3.0, а для УТ 11 — отдельный раздел про формулы.
Где базовый тип цен используется в работе
Тип цен сам по себе ничего не продаёт. Он нужен там, где программа подставляет цену в документ.
- 📄 Договор с покупателем. В договоре указывают тип цен — и в реализацию по этому договору цены подставляются из него.
- 🧾 Документы продажи. В счёте, реализации, заказе тип цен меняют по ссылке с ценами в шапке документа. После смены программа предлагает перезаполнить цены.
- 🏪 Розничный склад. У склада с типом «Розничный магазин» или «Неавтоматизированная торговая точка» есть поле «Тип цен розничной торговли». По нему оценивается товар в рознице.
- 📊 Прайс-лист. Отчёт «Прайс-лист» выводит цены по выбранным типам — удобно сверять, правильно ли пересчиталась цепочка.
- 📥 Поступление. В документе установки цен есть заполнение по данным поступления: так обновляют закупочную цену, которая чаще всего и становится базовой.
Отсюда практическое правило. Базовым делают тот тип, цена которого появляется первой и меняется по объективной причине — обычно закупочная. Делать базовой розничную имеет смысл, если от неё считаются скидки для оптовиков и дилеров.
Как настроить базовый тип цен в 1С:Бухгалтерии 3.0
Настройка состоит из двух частей: сначала связать типы цен, затем рассчитать и записать цены.
Шаг 1. Создайте базовый тип
- Откройте справочник «Типы цен номенклатуры». Надёжный путь —
Главное меню → Все функции → Справочники → Типы цен номенклатуры(команда «Все функции» включается в параметрах программы). Второй путь — из документаСклад → Установка цен номенклатуры: откройте выбор в поле «Тип цен». - Нажмите «Создать». Наименование — например, «Закупочная».
- Решите, включает ли цена НДС. Для закупки от плательщиков НДС флажок «Цена включает НДС» обычно ставят.
- Поле «Базовый тип цен» у этого типа оставьте пустым — он сам источник.
- Нажмите «Записать и закрыть».
Шаг 2. Создайте зависимый тип
- В том же справочнике снова «Создать», наименование «Розничная».
- В поле «Базовый тип цен» выберите «Закупочная».
- В поле наценки укажите 30 — это проценты.
- Задайте округление: до 1 рубля, при необходимости — флажок округления в большую сторону.
- Флажок «Цена включает НДС» поставьте так же, как у базового типа.
- Запишите элемент.
Для оптовой цены от розничной повторите шаг 2: базовый — «Розничная», наценка −10.
Шаг 3. Рассчитайте и запишите цены
- Создайте документ
Склад → Установка цен номенклатуры. - В шапке выберите тип цен «Розничная» и дату, с которой цены действуют.
- Заполните табличную часть нужной номенклатурой: подбором, по группе или по ценам базового типа.
- Запустите пересчёт по базовому типу командой изменения цен над табличной частью. Программа возьмёт закупочную цену на дату документа, прибавит 30 % и округлит.
- Проверьте несколько строк вручную и проведите документ.
Как считается цена: пример
Закупочная цена — 1 234,56 руб., наценка 30 %.
| Округление | Расчёт | Итог |
|---|---|---|
| До 0,01 | 1 234,56 × 1,3 = 1 604,928 | 1 604,93 |
| До 1 | 1 604,928 → ближайший рубль | 1 605,00 |
| До 10 | 1 604,928 → ближайшие 10 руб. | 1 600,00 |
| До 10, в большую сторону | 1 604,928 → вверх | 1 610,00 |
Последние две строки показывают, почему важен флажок округления вверх. Без него при округлении до десятков цена может оказаться ниже, чем «закупка + 30 %».
Документ установки цен перезаписывает цены выбранного типа на свою дату. Перед массовым пересчётом сформируйте прайс-лист по текущим ценам — если ошибётесь с процентом, будет с чем сравнить.
Ошибки при настройке базового типа цен
Большинство проблем возникает не в момент настройки, а через месяц, когда цены «вдруг» оказываются не теми.
- 🔁 Ждут автоматического пересчёта. Поменяли закупочную — розница осталась прежней. Так и должно быть в БП 3.0: зависимые цены нужно пересчитать новым документом установки цен.
- 🧾 Разный признак НДС. База «с НДС», зависимый тип «без НДС» или наоборот. Итоговая цена отличается от ожидаемой на величину налога. Держите флажок одинаковым у всей цепочки, если нет осознанной причины иначе.
- 📅 Не та дата документа. Расчёт берёт базовую цену на дату документа. Если закупочная введена завтрашним числом, сегодняшний пересчёт возьмёт старую цену.
- 🕳 Нет базовой цены у позиции. Для новой номенклатуры без закупочной цены зависимая получится нулевой. Перед проведением отфильтруйте строки с нулевой ценой.
- 🔄 Цепочка из многих уровней. Пересчитывают оптовую от розничной, не обновив саму розничную. Считайте уровни по порядку: сначала первый зависимый тип, потом следующий.
- ✍️ Ручные цены затёрты расчётом. Для части товаров цену правили вручную, а затем пересчитали всю группу. Такие позиции исключайте из документа или ведите для них отдельный тип цен.
Типы цен при обмене между базами 1С
Чаще всего вопрос встаёт при синхронизации Управления торговлей 11 и Бухгалтерии 3.0. Здесь есть принципиальная разница в устройстве: в УТ 11 цены считаются по видам цен и формулам, а в БП — по типам цен с базовым типом.
Что из этого следует на практике:
- 📦 В бухгалтерию приходят готовые значения цен из документов установки цен, а не правила их расчёта. Формула из УТ в БП не переносится.
- 🧩 Виды цен УТ в БП становятся типами цен номенклатуры. Поле «Базовый тип цен» у них при обмене не заполняется так, как вы ожидаете от ручной настройки — рассчитывать что-то в БП по этим типам не нужно.
- ✏️ Если база-получатель только принимает цены, не пересчитывайте их там. Иначе следующий обмен перезапишет вашу правку или, наоборот, ваша правка разойдётся с источником.
- 🔍 Дубли типов цен после первого обмена — частая ситуация: в БП уже был «Розничная», из УТ пришёл ещё один с тем же названием. Сопоставление объектов при первой синхронизации решает это до загрузки данных.
Правило одно: считать цены нужно в одной базе — там, где ведётся ценообразование. Остальные базы получают результат.
Если цены рассчитываются в БП, а в УТ не ведутся, обмен цен в эту сторону лучше отключить в настройках синхронизации, чтобы не держать две версии прайса.
Формулы и автоматизация расчёта цен
Формулы видов цен в Управлении торговлей 11
В УТ 11 вместо поля «Базовый тип цен» используется способ задания цены по формуле. Справочник «Виды цен» находится в разделе маркетинга и CRM (название раздела может отличаться в зависимости от релиза). В карточке вида цен:
- Выбирают способ задания цены — расчёт по формуле.
- Пишут формулу. Другие виды цен в ней обозначаются идентификаторами в квадратных скобках.
- Настраивают округление в табличной части правил округления: можно задать разную точность для разных диапазонов цены.
Пример формулы для розницы с наценкой 30 % от закупки, где идентификатор закупочного вида — ЗАКУПОЧНАЯ:
[ЗАКУПОЧНАЯ] * 1.3
Формула гибче, чем «база + процент». Можно сложить два вида цен, взять максимум или прибавить фиксированную сумму. Зато ошибку в ней сложнее заметить: проверяйте результат на пяти-шести позициях с разными ценами.
Проверка расчёта запросом в Бухгалтерии 3.0
Программисту и опытному пользователю пригодится способ быстро сверить, какими получатся цены, ещё до документа. Цены в БП хранятся в регистре сведений ЦеныНоменклатуры с измерением «Тип цен». Пример для консоли запросов или внешней обработки выводит базовую цену и расчётную с наценкой 30 % до рубля:
Процедура ПроверитьРасчетЦен(БазовыйТип, Наценка) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Цены.Номенклатура КАК Номенклатура,
| Цены.Цена КАК Цена
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &БазовыйТип) КАК Цены
|ГДЕ
| Цены.Цена > 0
|
|УПОРЯДОЧИТЬ ПО
| Цены.Номенклатура.Наименование";
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("БазовыйТип", БазовыйТип);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Расчетная = Окр(Выборка.Цена * (1 + Наценка / 100), 0);
Сообщить(СтрШаблон("%1: база %2, расчётная %3",
Выборка.Номенклатура,
Формат(Выборка.Цена, "ЧДЦ=2"),
Формат(Расчетная, "ЧДЦ=2; ЧГ=0")));
КонецЦикла;
КонецПроцедуры
Код ничего не записывает — только показывает результат. Записывать цены прямо в регистр в обход документа не стоит: пропадёт история изменений, а следующий пересчёт может разойтись с вашими данными.
Для округления до десятков рублей замените в Окр второй параметр на -1: Окр(1604.928, -1) даст 1 600.
Что ещё можно автоматизировать
- 🗓 Регламентный пересчёт. Пересчёт розницы после каждого поступления можно поручить обработке, которая создаёт документ установки цен. Делают её через расширение конфигурации , чтобы не снимать типовую с поддержки.
- 📋 Заполнение по поступлению. Закупочную цену удобно обновлять заполнением документа установки цен по данным приходных документов, а не вводом.
- 🧮 Разные наценки по группам. Если наценка зависит от группы, проще держать несколько зависимых типов или пересчитывать документом с отбором по группе, чем писать код.