Как вывести состав номенклатурных групп в отчете по 20 счету в 1С:Бухгалтерии?

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

Многие пользователи сталкиваются с задачей детализации затрат на производстве. Часто возникает вопрос: как увидеть не просто общую сумму по «Номенклатурной группе» на 20 счете, а детализацию до конкретной номенклатуры, которая была списана в состав этой группы? Давайте разберемся, почему стандартные отчеты не дают такой возможности «из коробки» и как можно решить эту задачу техническими средствами.

Понимание архитектурной проблемы

Прежде всего, важно уяснить, что в 1С:Бухгалтерии счет 20 «Основное производство» в качестве аналитики (субконто) использует только Номенклатурную группу. Сама номенклатура, которая потребляется в производстве, не является субконто 20 счета. Она отражается на других счетах (например, 10 «Материалы» или 41 «Товары») в момент списания. Таким образом, в регистре бухгалтерии 20 счет «не знает» о конкретной номенклатуре, он хранит только связь с группой.

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

Решение через использование корреспондирующей аналитики

Чтобы получить данные о составе затрат, нам необходимо обратиться к регистру бухгалтерии через язык запросов. Когда мы списываем материалы на 20 счет, программа создает проводку: Дебет 20 — Кредит 10. В этой проводке субконто счета 10 (где находится наша Номенклатура) становится доступным в запросе как КорСубконто.

Рассмотрим, как реализовать выборку таких данных с помощью запроса к виртуальной таблице ХозрасчетныйОбороты.

  1. Создайте новый отчет на базе Системы компоновки данных (СКД). Это позволит гибко настроить группировки.
  2. В качестве набора данных используйте запрос к виртуальной таблице ХозрасчетныйОбороты.
  3. Настройте параметры виртуальной таблицы так, чтобы извлекать КорСубконто для корреспондирующих счетов.

Пример структуры запроса, который позволит вытянуть необходимые данные:


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

Особенности и ограничения подхода

При работе с этим методом важно учитывать несколько нюансов:

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

← На главную