Как посмотреть себестоимость доступных (свободных) остатков в 1С:УТ 11.4

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

В конфигурации 1С:Управление торговлей 11.4 пользователи часто сталкиваются с необходимостью оценить не только количественный свободный остаток, но и его денежный эквивалент (себестоимость). Это критично для финансового планирования, оценки маржинальности будущих сделок или формирования резервов в бухгалтерском учете. Однако, открыв стандартный список отчетов, мы обнаружим, что данные о доступности товара и его себестоимости разнесены по разным подсистемам.

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

Почему в системе нет типового отчета по себестоимости доступных остатков

Проанализируем архитектуру данных в УТ 11. Система разделяет оперативный учет складских остатков и финансовый учет себестоимости. Количественный остаток, включая резервы, доступен «здесь и сейчас», в то время как себестоимость — это величина, которая окончательно формируется только после выполнения регламентной операции Закрытие месяца.

Рассмотрим основные причины отсутствия единого отчета:

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

Вариант 1. Оценка данных «вручную» (методика для пользователя)

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

Рассмотрим последовательность действий:

  1. Сформируем отчет «Остатки и доступность товаров». Нас интересует колонка Доступно. Этот показатель учитывает все текущие остатки на складах за вычетом всех видов резервов (под заказы, к отгрузке и т.д.).
  2. Сформируем отчет «Ведомость по товарам организаций» или «Себестоимость товаров предприятия». Здесь мы видим общее количество остатка и его общую стоимость.
  3. Вычислим среднюю цену единицы товара: СредняяЦена = СтоимостьОстатка / КоличествоОстатка.
  4. Рассчитаем примерную себестоимость доступного остатка: Доступно * СредняяЦена.

Важно: Этот метод дает погрешность, если на складе лежат партии с разной ценой закупки, а в настройках программы включен метод оценки ФИФО. Однако для большинства управленческих задач такой точности бывает достаточно.

Вариант 2. Техническое решение: создание отчета на СКД

Для программиста задача сводится к объединению данных из нескольких таблиц в одном запросе. Чтобы отчет был корректным, выясним, какие источники данных нам потребуются. Нам необходимо соединить данные о фактических остатках и их стоимости с данными о распределении запасов.

Рассмотрим структуру запроса для схемы компоновки данных (СКД):

Шаг 1. Получение себестоимости

Обратимся к виртуальной таблице РегистрНакопления.СебестоимостьТоваров.Остатки. Из нее нам нужны измерения Номенклатура, Склад, Организация и ресурс Стоимость. Помните, что для получения актуальных данных в середине месяца в базе должен быть настроен и выполнен предварительный расчет себестоимости.

Шаг 2. Получение доступных остатков

В УТ 11.4 наиболее полные данные о доступности находятся в регистре РаспределениеЗапасов. Нам необходимо просуммировать состояния, которые определяют свободный остаток. В упрощенном виде свободный остаток — это разница между фактическим остатком на складе и зарезервированным количеством.

Шаг 3. Соединение данных в запросе

Выполним соединение по полям Номенклатура, Склад и Характеристика. Рассмотрим пример логики запроса:


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

Особенности учета обособленных товаров

Проанализируем ситуацию, когда товар зарезервирован под конкретный заказ с типом обеспечения «Обособленно». В этом случае себестоимость такого товара в регистре СебестоимостьТоваров будет иметь заполненное измерение Назначение.

Это значительно упрощает задачу: свободный остаток — это товар, у которого измерение Назначение пустое. Если ваша учетная политика предполагает массовое использование обособленного обеспечения, то для получения себестоимости свободных остатков вам достаточно просто отфильтровать стандартный отчет по себестоимости, установив фильтр Назначение НЕ ЗАПОЛНЕНO.

Практические рекомендации

Подведем итог и определим порядок действий для получения корректных цифр:

  1. Проверьте актуальность расчета: Перед формированием любых отчетов по стоимости убедитесь, что выполнена регламентная операция Формирование движений по партиям товаров и Расчет себестоимости (хотя бы предварительный). Без этого цифры в колонке стоимости будут нулевыми или неактуальными.
  2. Учитывайте Intercompany: Если вы ведете учет по нескольким организациям, помните, что остатки на складе могут принадлежать разным юрлицам. Используйте отчеты по организациям, если вам нужна регламентированная стоимость, и отчеты по предприятию, если нужна управленческая оценка.
  3. Используйте Универсальный отчет: Если вы не хотите писать код, можно попробовать настроить Универсальный отчет по регистру Себестоимость товаров, добавив в него группировки по складам и номенклатуре, но помните, что вычесть из него резервы автоматически не получится — это придется делать в Excel.

Таким образом, хотя штатного «однокнопочного» решения не существует, понимание структуры регистров СебестоимостьТоваров и РаспределениеЗапасов позволяет либо быстро рассчитать данные вручную, либо создать надежный инструмент на базе СКД.

← На главную