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

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

Разработка отчетов по продажам в конфигурации «1С:Бухгалтерия 3.0» (БП 3.0) имеет свои уникальные особенности, связанные с архитектурой типового плана счетов. Часто перед разработчиком встает задача: вывести в одном отчете на схеме компоновки данных (СКД) номенклатуру, количество, сумму выручки и себестоимость списанных товаров. На первый взгляд задача кажется простой, но при попытке получить данные напрямую из проводок многие сталкиваются со сложностями.

В этой статье мы подробно разберем, почему нельзя получить продажи по номенклатуре напрямую из счета 90.01, как правильно связать табличную часть документа реализации с регистром бухгалтерии и как написать оптимальный запрос для СКД.

Архитектурная особенность учета доходов и расходов в БП 3.0

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

Связывание выручки из документа и себестоимости из проводок

Выясним, как соединить эти данные. Чтобы получить итоговую таблицу, где для каждой строки проданного товара будет сопоставлена его себестоимость из проводок, мы применим ЛЕВОЕ СОЕДИНЕНИЕ.

В качестве левой (основной) таблицы мы возьмем табличную часть документа продажи. Правой таблицей выступит виртуальная таблица оборотов регистра бухгалтерии.

Рассмотрим детально условия связи двух таблиц:

  1. Связь по регистратору: документ реализации должен выступать регистратором проводки по списанию себестоимости. Условие: РеализацияТовары.Ссылка = ХозрасчетныйОбороты.Регистратор.
  2. Связь по номенклатуре: номенклатура из табличной части должна соответствовать номенклатуре на счете учета товаров. Поскольку счет 41 находится в кредите проводки, его первое субконто будет содержать товар. Условие: РеализацияТовары.Номенклатура = ХозрасчетныйОбороты.СубконтоКт1.

Шаг 1. Расчет чистой выручки (без НДС)

Обычно в табличной части документа реализации поле Сумма содержит стоимость проданного товара с учетом НДС (в зависимости от флага «НДС в сумме»). Однако для корректного расчета валовой прибыли нам нужна чистая выручка предприятия — то есть сумма продаж за вычетом налога. В запросе мы вычислим ее по формуле:

РеализацияТоваровУслугТовары.Сумма - РеализацияТоваровУслугТовары.СуммаНДС

Шаг 2. Написание запроса для СКД

Перейдем к практике и соберем готовый запрос. Мы будем использовать виртуальную таблицу РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт, так как она работает значительно быстрее и стабильнее, чем таблица движений с субконто, исключая дублирование записей при получении итогов.

Посмотрим на пример запроса:


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

Проанализируем структуру этого запроса:

Важный нюанс: Влияние закрытия месяца

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

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

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

Существование готового альтернативного решения

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

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

Инструкция, как его открыть:

  1. Перейдите в раздел главного меню «Руководителю».
  2. В блоке «Продажи» выберите отчет «Анализ продаж» (в предыдущих редакциях программы он мог называться «Валовая прибыль»).
  3. Этот отчет в автоматическом режиме собирает данные по описанному нами алгоритму: анализирует выручку по товарам и сопоставляет ее с проводками списания себестоимости. Вы получите готовые данные по количеству, чистой выручке, себестоимости, валовой прибыли и даже рентабельности в процентном соотношении.
← На главную