В процессе работы с программой «1С:Комплексная автоматизация 2.5» пользователи часто сталкиваются с ситуацией, когда типовой отчет «Себестоимость товаров» показывает одну сумму (например, 452 рубля с учетом доп. расходов), а при попытке сформировать прайс-лист или документ «Установка цен номенклатуры» система выдает совершенно другую цифру (например, 247 рублей). Такая нестыковка может вызвать серьезные ошибки в ценообразовании и привести к убыткам.
Разберем детально, почему возникают такие расхождения и как привести данные к единому знаменателю. Проанализируем ситуацию пошагово, опираясь на внутренние механизмы системы и алгоритмы работы Схемы компоновки данных (СКД).
Первое, что нам необходимо сделать — это убедиться, что в системе выполнено окончательное закрытие месяца. В 1С:КА 2.5 расчет себестоимости может быть «Предварительным» и «Фактическим».
Рассмотрим ситуацию: отчет «Себестоимость товаров» может быть сформирован на текущую дату и показывать оперативные данные с учетом еще не распределенных доп. расходов или предварительных расчетов. В то же время запрос в настройках Вида цены может быть настроен на получение данных из регистра Стоимость товаров за прошлый завершенный период.
Выясним причину расхождения в настройках вида цены:
Одной из самых банальных, но частых причин является разный подход к учету НДС в отчете и в правилах ценообразования. Посмотрим, как настроен ваш вид цены. В карточке Вида цены есть флаг «Цена включает НДС».
Проанализируем ситуацию: в регистре Стоимость товаров себестоимость всегда хранится без НДС. Если в виде цены стоит галочка «Цена включает НДС», система при расчете попытается «накрутить» налог на стоимость. Однако, если для конкретных 2-3 позиций в карточке номенклатуры неверно указана ставка НДС или если запрос в СКД берет уже «грязную» сумму, может произойти двойное начисление или, наоборот, некорректное вычитание налога.
Сравните показатели:
Как было отмечено в обсуждении, себестоимость в системе не хранится как одна цифра — она состоит из множества слагаемых в различных регистрах. Посмотрим на алгоритм, который использует 1С для вытягивания этих данных в прайс-лист.
Рассмотрим по шагам, как проверить запрос:
РегистрНакопления.СтоимостьТоваров.Обороты.Проблема 2-3 позиций часто кроется в том, что по ним были Дополнительные расходы, распределенные документом Распределение расходов на себестоимость товаров. Если этот документ проведен «задним числом» или не в том периоде, который захватывает запрос прайс-листа, вы получите старую цену без учета логистики и хранения.
Выясним, почему цена в прайс-листе «застыла». В 1С:КА существует механизм порога срабатывания. Если себестоимость изменилась на 1-2%, система может не обновлять цену, чтобы не менять прайс слишком часто.
Однако в вашем случае разница составляет почти 200 рублей (с 247 до 452). Проанализируем документ Установка цен номенклатуры. Если вы просто открываете прайс-лист, вы видите данные из регистра сведений Цены номенклатуры. Эти данные записываются туда только специальным документом.
Выполним следующие действия для проверки:
Система 1С:КА 2.5 позволяет вести учет себестоимости в разрезе организаций и складов. Отчет «Себестоимость товаров» может быть сформирован «в целом по компании», а расчет цены может быть настроен на конкретную Организацию или Склад.
Проанализируем ситуацию: если товар поступил на «Склад №1» по цене 452 рубля, а на «Складе №2» он числится по старой цене 247 рублей, то итоговый результат в прайс-листе будет зависеть от настроек схемы компоновки. Если в схеме указан отбор по конкретному складу, а отчет вы смотрите по другому — данные никогда не совпадут.
Если вы решите проверить запрос программно, обратите внимание на поле Стоимость и СтоимостьДопРасходы. В типовых запросах расчет может выглядеть примерно так:
ВЫБРАТЬ
ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
(ВыручкаИСебестоимостьПродажОбороты.СтоимостьОборот + ВыручкаИСебестоимостьПродажОбороты.ДопРасходыОборот) /
ВЫБОР КОГДА ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот = 0 ТОГДА 1 ИНАЧЕ ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот КОНЕЦ КАК СебестоимостьЕдиницы
ИЗ
РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода) КАК ВыручкаИСебестоимостьПродажОбороты
В данном примере мы видим, что себестоимость рассчитывается как сумма основной стоимости и доп. расходов, деленная на количество. Если по вашим «ошибочным» позициям были возвраты (КоличествоОборот уменьшилось) или специфические корректировки регистра, это напрямую повлияет на результат деления в запросе прайс-листа, в то время как отчет может выводить данные иначе (например, по остаткам, а не по оборотам).
Для устранения расхождения выполните следующие шаги:
Установка цен номенклатуры, выберите режим «Рассчитать по правилам от вида цены» и посмотрите, какая сумма заполнится автоматически.Таким образом, мы выяснили, что причина несостыковки чаще всего кроется не в ошибке программы, а в настройках Схемы компоновки данных, которые не учитывают последние движения по регистрам или распределение дополнительных расходов.