Как реализовать отчет по розничным продажам в 1С:Бухгалтерия 3.0 при учете по продажным ценам

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

При реализации отчетности в конфигурации «1С:Бухгалтерия предприятия 3.0» часто возникает задача вывода детализированных данных по розничным продажам. Ситуация усложняется, если на предприятии принята учетная политика ведения товаров по продажным ценам (с использованием счета 42 «Торговая наценка»). В этом случае розничная выручка, себестоимость и сама наценка распределяются специфическим образом, что требует особого подхода к разработке запросов.

Разберем по шагам, как построить отчет, который будет показывать количество, себестоимость, сумму наценки, НДС и средний процент наценки в разрезе товаров и складов.

Анализ источников данных и методологии учета

Прежде чем приступать к написанию кода или настройке СКД, проанализируем, как 1С фиксирует данные в рознице при учете по продажным ценам. Рассмотрим типовую цепочку действий:

  1. При поступлении товара на основной склад (счет 41.01) фиксируется покупная стоимость.
  2. При перемещении в розничную точку (счет 41.11) формируются проводки:
    • Дт 41.11 Кт 41.01 — на сумму покупной стоимости.
    • Дт 41.11 Кт 42.01 — на сумму сформированной торговой наценки.
  3. В итоге на счете 41.11 товар числится по полной розничной цене.
  4. При продаже (документ «Отчет о розничных продажах») формируется проводка Дт 90.02.1 Кт 41.11 на всю розничную сумму.

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

Шаг 1: Определение базового запроса к регистру бухгалтерии

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

Рассмотрим пример построения текста запроса для получения базовых показателей: количества и суммы в розничных ценах.


ВЫБРАТЬ
    ХозрасчетныйОборотыДтКт.СубконтоК1 КАК Номенклатура,
    ХозрасчетныйОборотыДтКт.СубконтоК2 КАК Склад,
    ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество,
    ХозрасчетныйОборотыДтКт.СуммаОборот КАК СуммаВРознице
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, , СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Продажи_СебестоимостьПоДеятельностиСОбщимНалогообложением), , СчетКт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыВРозничнойТорговле), , ) КАК ХозрасчетныйОборотыДтКт

Здесь СубконтоК1 соответствует номенклатуре, а СубконтоК2 — складу. Обратите внимание, что мы используем таблицу ОборотыДтКт, чтобы исключить внутренние перемещения и возвраты поставщику, сосредоточившись только на реализации.

Шаг 2: Расчет себестоимости и наценки

Поскольку на счете 42 (наценка) аналитика по номенклатуре в типовой конфигурации отсутствует (учет ведется в целом по складу), получение точной наценки «на единицу товара» из бухгалтерских проводок напрямую невозможно до момента закрытия месяца. Однако мы можем реализовать алгоритм расчета, который использует 1С.

Проанализируем методику расчета среднего процента наценки. Выясним, что средний процент рассчитывается как отношение сальдо и оборотов по счету 42 к сальдо и оборотам по счету 41. Если же заказчику требуется видеть наценку именно по конкретному товару, нам придется соединить данные о продажах с данными о поступлениях или регистром ЦеныНоменклатуры.

Рассмотрим вариант соединения с ценами закупа для вычисления расчетной наценки:


ВЫБРАТЬ
    Продажи.Номенклатура,
    Продажи.Количество,
    Продажи.СуммаВРознице,
    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупа,
    Продажи.Количество * ЦеныНоменклатурыСрезПоследних.Цена КАК СуммаСебестоимость,
    Продажи.СуммаВРознице - (Продажи.Количество * ЦеныНоменклатурыСрезПоследних.Цена) КАК СуммаНаценки
ИЗ
    ТаблицаПродаж КАК Продажи
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ТипЦен = &ТипЦенЗакупа) КАК ЦеныНоменклатурыСрезПоследних
    ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

Шаг 3: Вычисление НДС в рознице

В розничной торговле при учете по продажным ценам НДС уже включен в стоимость товара на счете 41.11. Чтобы выделить его в отчете, применим математический метод расчета «от обратного». Если ставка НДС составляет 20%, формула будет выглядеть так: СуммаРозница * 20 / 120.

Посмотрим, как реализовать это в вычисляемых полях СКД или в запросе:


ВЫБРАТЬ
    Продажи.СуммаВРознице,
    ВЫБОР 
        КОГДА Продажи.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20) ТОГДА Продажи.СуммаВРознице * 20 / 120
        КОГДА Продажи.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10) ТОГДА Продажи.СуммаВРознице * 10 / 110
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаНДС

Использование ставки из карточки номенклатуры позволяет корректно обрабатывать товары с разными налоговыми режимами в рамках одного отчета.

Шаг 4: Учет особенностей складов (АТТ и НТТ)

При построении отчета крайне важно учитывать тип склада. В «1С:Бухгалтерия 3.0» выделяют:

Проанализируем ситуацию: если в задачу входит отчет по НТТ, данные придется брать из первичных документов (например, «Поступление в НТТ» или «Z-отчеты»), но не из проводок счета 41.12.

Шаг 5: Итоговая сборка в Системе компоновки данных (СКД)

Для создания гибкого отчета лучше всего использовать СКД. Мы рекомендуем создать основной набор данных — запрос, в котором будут соединены обороты счета 41.11 и данные о ценах. Выясним преимущества этого подхода: пользователь сможет самостоятельно группировать данные по Складам, Группам номенклатуры или Периодам.

Практические советы по настройке СКД для этого отчета:

  1. Параметры: Обязательно добавьте параметры НачалоПериода и КонецПериода. Не забудьте про параметр ТипЦенЗакупа, чтобы отчет понимал, с какой ценой сравнивать розничную выручку для расчета себестоимости.
  2. Роли полей: Для поля «Номенклатура» и «Склад» установите роль «Измерение», чтобы итоги рассчитывались корректно.
  3. Вычисляемые поля: Такие показатели, как «Средний процент наценки», лучше выносить в вычисляемые поля на закладке «Настройки» или «Вычисляемые поля», используя агрегатные функции СУММА(...), чтобы избежать ошибок при расчете итогов по группам.

Например, формула для вычисляемого поля «СреднийПроцентНаценки»:

(Сумма(СуммаНаценки) / Сумма(СуммаСебестоимость)) * 100

Резюме

Реализация отчета по розничным продажам в «1С:Бухгалтерия 3.0» требует понимания механизмов закрытия месяца и структуры 42 счета. Главное правило — использовать обороты счета 41.11 в корреспонденции с 90.02.1. Если отчет требуется формировать «на лету» (до закрытия месяца), себестоимость необходимо вычислять расчетным путем, соединяя данные о продажах с регистрами цен или документами поступления.

Соблюдая предложенную структуру запроса и учитывая специфику АТТ/НТТ, вы получите надежный инструмент для анализа рентабельности розничной торговли.

← На главную