При реализации отчетности в конфигурации «1С:Бухгалтерия предприятия 3.0» часто возникает задача вывода детализированных данных по розничным продажам. Ситуация усложняется, если на предприятии принята учетная политика ведения товаров по продажным ценам (с использованием счета 42 «Торговая наценка»). В этом случае розничная выручка, себестоимость и сама наценка распределяются специфическим образом, что требует особого подхода к разработке запросов.
Разберем по шагам, как построить отчет, который будет показывать количество, себестоимость, сумму наценки, НДС и средний процент наценки в разрезе товаров и складов.
Прежде чем приступать к написанию кода или настройке СКД, проанализируем, как 1С фиксирует данные в рознице при учете по продажным ценам. Рассмотрим типовую цепочку действий:
41.01) фиксируется покупная стоимость.41.11) формируются проводки:
Дт 41.11 Кт 41.01 — на сумму покупной стоимости.Дт 41.11 Кт 42.01 — на сумму сформированной торговой наценки.41.11 товар числится по полной розничной цене.Дт 90.02.1 Кт 41.11 на всю розничную сумму.Важно понимать: в момент продажи система «не знает» реальную себестоимость конкретной единицы товара. Эта информация рассчитывается только в конце периода регламентной операцией «Расчет торговой наценки по проданным товарам», которая делает сторнирующую проводку по счету 90.02.1 в корреспонденции со счетом 42.
Для получения данных о продажах нам необходимо обратиться к виртуальной таблице оборотов регистра бухгалтерии. Выясним причину, почему не стоит использовать движения документа «Перемещение товаров»: перемещение лишь фиксирует факт передачи и плановую наценку, но не отражает реальную реализацию покупателю. Для отчета о продажах основным источником будет корреляция счетов 90.02.1 и 41.11.
Рассмотрим пример построения текста запроса для получения базовых показателей: количества и суммы в розничных ценах.
ВЫБРАТЬ
ХозрасчетныйОборотыДтКт.СубконтоК1 КАК Номенклатура,
ХозрасчетныйОборотыДтКт.СубконтоК2 КАК Склад,
ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаВРознице
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_СебестоимостьПоДеятельностиСОбщимНалогообложением), , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыВРозничнойТорговле), , ) КАК ХозрасчетныйОборотыДтКт
Здесь СубконтоК1 соответствует номенклатуре, а СубконтоК2 — складу. Обратите внимание, что мы используем таблицу ОборотыДтКт, чтобы исключить внутренние перемещения и возвраты поставщику, сосредоточившись только на реализации.
Поскольку на счете 42 (наценка) аналитика по номенклатуре в типовой конфигурации отсутствует (учет ведется в целом по складу), получение точной наценки «на единицу товара» из бухгалтерских проводок напрямую невозможно до момента закрытия месяца. Однако мы можем реализовать алгоритм расчета, который использует 1С.
Проанализируем методику расчета среднего процента наценки. Выясним, что средний процент рассчитывается как отношение сальдо и оборотов по счету 42 к сальдо и оборотам по счету 41. Если же заказчику требуется видеть наценку именно по конкретному товару, нам придется соединить данные о продажах с данными о поступлениях или регистром ЦеныНоменклатуры.
Рассмотрим вариант соединения с ценами закупа для вычисления расчетной наценки:
ВЫБРАТЬ
Продажи.Номенклатура,
Продажи.Количество,
Продажи.СуммаВРознице,
ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупа,
Продажи.Количество * ЦеныНоменклатурыСрезПоследних.Цена КАК СуммаСебестоимость,
Продажи.СуммаВРознице - (Продажи.Количество * ЦеныНоменклатурыСрезПоследних.Цена) КАК СуммаНаценки
ИЗ
ТаблицаПродаж КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ТипЦен = &ТипЦенЗакупа) КАК ЦеныНоменклатурыСрезПоследних
ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
В розничной торговле при учете по продажным ценам НДС уже включен в стоимость товара на счете 41.11. Чтобы выделить его в отчете, применим математический метод расчета «от обратного». Если ставка НДС составляет 20%, формула будет выглядеть так: СуммаРозница * 20 / 120.
Посмотрим, как реализовать это в вычисляемых полях СКД или в запросе:
ВЫБРАТЬ
Продажи.СуммаВРознице,
ВЫБОР
КОГДА Продажи.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) ТОГДА Продажи.СуммаВРознице * 20 / 120
КОГДА Продажи.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ТОГДА Продажи.СуммаВРознице * 10 / 110
ИНАЧЕ 0
КОНЕЦ КАК СуммаНДС
Использование ставки из карточки номенклатуры позволяет корректно обрабатывать товары с разными налоговыми режимами в рамках одного отчета.
При построении отчета крайне важно учитывать тип склада. В «1С:Бухгалтерия 3.0» выделяют:
41.11 с детальной аналитикой по номенклатуре. Наш отчет будет работать идеально.41.12. Внимание! На этом счете нет аналитики по товарам, учет ведется только в суммовом выражении по складу. Если ваш склад типа НТТ, получить отчет в разрезе товаров по данным регистра бухгалтерии невозможно.Проанализируем ситуацию: если в задачу входит отчет по НТТ, данные придется брать из первичных документов (например, «Поступление в НТТ» или «Z-отчеты»), но не из проводок счета 41.12.
Для создания гибкого отчета лучше всего использовать СКД. Мы рекомендуем создать основной набор данных — запрос, в котором будут соединены обороты счета 41.11 и данные о ценах. Выясним преимущества этого подхода: пользователь сможет самостоятельно группировать данные по Складам, Группам номенклатуры или Периодам.
Практические советы по настройке СКД для этого отчета:
НачалоПериода и КонецПериода. Не забудьте про параметр ТипЦенЗакупа, чтобы отчет понимал, с какой ценой сравнивать розничную выручку для расчета себестоимости.СУММА(...), чтобы избежать ошибок при расчете итогов по группам.Например, формула для вычисляемого поля «СреднийПроцентНаценки»:
(Сумма(СуммаНаценки) / Сумма(СуммаСебестоимость)) * 100
Реализация отчета по розничным продажам в «1С:Бухгалтерия 3.0» требует понимания механизмов закрытия месяца и структуры 42 счета. Главное правило — использовать обороты счета 41.11 в корреспонденции с 90.02.1. Если отчет требуется формировать «на лету» (до закрытия месяца), себестоимость необходимо вычислять расчетным путем, соединяя данные о продажах с регистрами цен или документами поступления.
Соблюдая предложенную структуру запроса и учитывая специфику АТТ/НТТ, вы получите надежный инструмент для анализа рентабельности розничной торговли.