Как найти материалы, которые «зависли» в производстве УПП 1.3?

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

В процессе работы с конфигурацией 1С:Управление производственным предприятием (УПП) 1.3 часто возникает ситуация, когда стандартные отчеты, такие как «Материалы в производстве», не позволяют в полной мере проанализировать эффективность использования ресурсов. Стандартный отчет показывает срез остатков на конкретную дату, но он не дает ответа на вопрос: «Какие материалы попали в цех давно и до сих пор не были списаны на выпуск продукции?».

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

Метод 1. Анализ минимального остатка за период

Самый надежный способ выявить «зависшие» позиции — это проанализировать состояние остатков в динамике. Если в течение всего выбранного периода (например, с сентября по ноябрь) конечный остаток по конкретному материалу (в разрезе заказов, складов и аналитик) ни разу не опускался до нуля, значит, определенное количество материала гарантированно находилось в цеху все это время.

Разберем логику построения такого запроса по шагам. Нам необходимо обратиться к виртуальной таблице ОстаткиИОбороты регистра накопления МатериалыВПроизводстве.

  1. Устанавливаем периодичность запроса «День». Это критически важно для отслеживания ежедневных колебаний.
  2. Выбираем измерения: Номенклатура, Заказ, Подразделение.
  3. Получаем поле КонечныйОстаток.
  4. Группируем результат по аналитике и находим Минимум от конечного остатка.

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


ВЫБРАТЬ
    ВТ_ЕжедневныеОстатки.Номенклатура КАК Номенклатура,
    ВТ_ЕжедневныеОстатки.Заказ КАК Заказ,
    МИНИМУМ(ВТ_ЕжедневныеОстатки.КонечныйОстаток) КАК ЗависшийОстаток
ПОМЕСТИТЬ ВТ_ЗависшиеПозиции
ИЗ
    РегистрНакопления.МатериалыВПроизводстве.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК ВТ_ЕжедневныеОстатки
СГРУППИРОВАТЬ ПО
    ВТ_ЕжедневныеОстатки.Номенклатура,
    ВТ_ЕжедневныеОстатки.Заказ
ИМЕЮЩИЕ
    МИНИМУМ(ВТ_ЕжедневныеОстатки.КонечныйОстаток) > 0
;

В данном примере условие ИМЕЮЩИЕ МИНИМУМ(...) > 0 отсекает все материалы, которые хотя бы на один день покидали производство (их остаток обнулялся). Те позиции, что остались в выборке, и есть наш «мертвый груз».

Метод 2. Сравнение начального и текущего остатка с учетом оборотов

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

Выясним причину «зависания» через отсутствие движений. Если по позиции в регистре МатериалыВПроизводстве за период с 30.09 по 17.11 Расход равен 0, при этом Начальный остаток больше 0 — это стопроцентный кандидат на проверку. Это означает, что материал как лежал в цеху полтора месяца назад, так и лежит, не участвуя в выпуске продукции.

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


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

Важный нюанс: Если производство массовое и материал постоянно досыпается в «общую кучу», расход по нему будет идти постоянно. В этом случае первый метод (анализ минимума) будет более информативным, так как он покажет неснижаемый остаток, который фактически не оборачивается.

Метод 3. Особенности работы при использовании РАУЗ

Проанализируем ситуацию, если в вашей базе включен режим расширенной аналитики учета затрат (РАУЗ). В этом случае регистр МатериалыВПроизводстве может не содержать данных, так как весь учет ведется в регистре УчетЗатратРег.

В РАУЗ поиск зависших остатков усложняется тем, что там используется «котловой» метод аналитики. Чтобы найти залежалые материалы, следует использовать отчет «Ведомость по учету затрат». Нам нужно настроить фильтры следующим образом:

  1. Раздел учета: Затраты или Затраты на выпуск.
  2. Группировка: Аналитика вида учета (склад/подразделение) и Аналитика учета затрат (номенклатура/заказ).
  3. Показатели: Количество (Начальный остаток) и Количество (Расход).

Если в течение нескольких месяцев по конкретной аналитике (например, Материал «Гайка» под «Заказ №1») висит начальный остаток, но нет расхода (не оформлены документы Распределение материалов на выпуск или Отчет производства за смену), значит, затраты «зависли» в НЗП и не превратились в себестоимость готовой продукции.

Практические рекомендации по использованию решения

Посмотрим на ситуацию со стороны пользователя. Если отчет показал «зависшие» остатки, не всегда это ошибка программиста или кладовщика. Часто это следствие следующих процессов в УПП:

Для исправления ситуации мы рекомендуем периодически использовать документ «Инвентаризация незавершенного производства». Он позволяет сопоставить данные системы с реальным наличием в цеху и принудительно скорректировать остатки, которые «висят» в отчетах месяцами.

Таким образом, для создания идеального отчета по «зависшим» материалам в УПП 1.3, лучше всего использовать СКД (Схему компоновки данных), где в качестве источника будет выступать запрос с расчетом минимального ежедневного остатка. Это позволит бухгалтеру или начальнику производства оперативно выявлять неликвиды в цехах и своевременно закрывать производственные заказы.

← На главную