Почему цена в прайс-листе отличается от себестоимости в отчете 1С:КА 2.5?

Бизнес-аналитик 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Торговля и дистрибуция
← На главную

В процессе работы с программой «1С:Комплексная автоматизация 2.5» пользователи часто сталкиваются с ситуацией, когда типовой отчет «Себестоимость товаров» показывает одну сумму (например, 452 рубля с учетом доп. расходов), а при попытке сформировать прайс-лист или документ «Установка цен номенклатуры» система выдает совершенно другую цифру (например, 247 рублей). Такая нестыковка может вызвать серьезные ошибки в ценообразовании и привести к убыткам.

Разберем детально, почему возникают такие расхождения и как привести данные к единому знаменателю. Проанализируем ситуацию пошагово, опираясь на внутренние механизмы системы и алгоритмы работы Схемы компоновки данных (СКД).

1. Проверка актуальности расчета себестоимости

Первое, что нам необходимо сделать — это убедиться, что в системе выполнено окончательное закрытие месяца. В 1С:КА 2.5 расчет себестоимости может быть «Предварительным» и «Фактическим».

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

Выясним причину расхождения в настройках вида цены:

  1. Перейдем в раздел CRM и маркетинг — Настройки и справочники — Виды цен.
  2. Откроем проблемный вид цены и перейдем на закладку «Уточнение и расчет».
  3. Обратим внимание на поле «Использовать полные данные за...». Если там указано «Прошлый месяц», система сознательно игнорирует текущие поступления и доп. расходы, которые вы видите в отчете за текущий период.

2. Анализ настроек НДС в виде цены

Одной из самых банальных, но частых причин является разный подход к учету НДС в отчете и в правилах ценообразования. Посмотрим, как настроен ваш вид цены. В карточке Вида цены есть флаг «Цена включает НДС».

Проанализируем ситуацию: в регистре Стоимость товаров себестоимость всегда хранится без НДС. Если в виде цены стоит галочка «Цена включает НДС», система при расчете попытается «накрутить» налог на стоимость. Однако, если для конкретных 2-3 позиций в карточке номенклатуры неверно указана ставка НДС или если запрос в СКД берет уже «грязную» сумму, может произойти двойное начисление или, наоборот, некорректное вычитание налога.

Сравните показатели:

3. Глубинный анализ запроса (СКД) в правилах формирования цен

Как было отмечено в обсуждении, себестоимость в системе не хранится как одна цифра — она состоит из множества слагаемых в различных регистрах. Посмотрим на алгоритм, который использует 1С для вытягивания этих данных в прайс-лист.

Рассмотрим по шагам, как проверить запрос:

  1. В настройках вида цены выберите способ задания цены «Наценка на другой вид цен» или «Произвольный запрос» (если используется типовая схема «Себестоимость с дополнительными расходами»).
  2. Нажмите кнопку «Редактировать схему компоновки».
  3. В открывшемся конструкторе мы увидим, к каким виртуальным таблицам обращается система. Чаще всего это РегистрНакопления.СтоимостьТоваров.Обороты.

Проблема 2-3 позиций часто кроется в том, что по ним были Дополнительные расходы, распределенные документом Распределение расходов на себестоимость товаров. Если этот документ проведен «задним числом» или не в том периоде, который захватывает запрос прайс-листа, вы получите старую цену без учета логистики и хранения.

4. Порог срабатывания и кэширование цен

Выясним, почему цена в прайс-листе «застыла». В 1С:КА существует механизм порога срабатывания. Если себестоимость изменилась на 1-2%, система может не обновлять цену, чтобы не менять прайс слишком часто.

Однако в вашем случае разница составляет почти 200 рублей (с 247 до 452). Проанализируем документ Установка цен номенклатуры. Если вы просто открываете прайс-лист, вы видите данные из регистра сведений Цены номенклатуры. Эти данные записываются туда только специальным документом.

Выполним следующие действия для проверки:

  1. Создайте новый документ «Установка цен номенклатуры».
  2. Выберите нужный вид цены и нажмите «Заполнить по данным ИБ».
  3. Если в документ подтянулась верная цена (452 руб.), значит, проблема была в том, что цена просто не была зафиксирована (не обновлена).
  4. Если же и в документ подтягивается 247 руб. — проблема в самом запросе СКД, который мы разбирали в предыдущем пункте.

5. Разрезы аналитики: Склад и Организация

Система 1С:КА 2.5 позволяет вести учет себестоимости в разрезе организаций и складов. Отчет «Себестоимость товаров» может быть сформирован «в целом по компании», а расчет цены может быть настроен на конкретную Организацию или Склад.

Проанализируем ситуацию: если товар поступил на «Склад №1» по цене 452 рубля, а на «Складе №2» он числится по старой цене 247 рублей, то итоговый результат в прайс-листе будет зависеть от настроек схемы компоновки. Если в схеме указан отбор по конкретному складу, а отчет вы смотрите по другому — данные никогда не совпадут.

Пример анализа кода запроса в СКД

Если вы решите проверить запрос программно, обратите внимание на поле Стоимость и СтоимостьДопРасходы. В типовых запросах расчет может выглядеть примерно так:


ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
    (ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот + ВыручкаИСебестоимостьПродажОбороты.ДопРасходыОборот) / 
    ВЫБОР КОГДА ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот = 0 ТОГДА 1 ИНАЧЕ ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КОНЕЦ КАК СебестоимостьЕдиницы
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода) КАК ВыручкаИСебестоимостьПродажОбороты

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

Итоговые рекомендации

Для устранения расхождения выполните следующие шаги:

Таким образом, мы выяснили, что причина несостыковки чаще всего кроется не в ошибке программы, а в настройках Схемы компоновки данных, которые не учитывают последние движения по регистрам или распределение дополнительных расходов.

← На главную