В процессе работы с конфигурацией 1С:Управление производственным предприятием (УПП) 1.3 часто возникает ситуация, когда стандартные отчеты, такие как «Материалы в производстве», не позволяют в полной мере проанализировать эффективность использования ресурсов. Стандартный отчет показывает срез остатков на конкретную дату, но он не дает ответа на вопрос: «Какие материалы попали в цех давно и до сих пор не были списаны на выпуск продукции?».
Проанализируем ситуацию: если материал поступил в производство 30.09.2020 и числится там на 17.11.2020, это может означать, что он либо реально «завис» (мертвый груз), либо он за это время успел списаться и поступить заново в новом количестве. Рассмотрим, как программно отсеять «движущиеся» материалы и оставить только те, что физически не покидали незавершенное производство.
Самый надежный способ выявить «зависшие» позиции — это проанализировать состояние остатков в динамике. Если в течение всего выбранного периода (например, с сентября по ноябрь) конечный остаток по конкретному материалу (в разрезе заказов, складов и аналитик) ни разу не опускался до нуля, значит, определенное количество материала гарантированно находилось в цеху все это время.
Разберем логику построения такого запроса по шагам. Нам необходимо обратиться к виртуальной таблице ОстаткиИОбороты регистра накопления МатериалыВПроизводстве.
Номенклатура, Заказ, Подразделение.КонечныйОстаток.Проанализируем пример кода для такого запроса:
ВЫБРАТЬ
ВТ_ЕжедневныеОстатки.Номенклатура КАК Номенклатура,
ВТ_ЕжедневныеОстатки.Заказ КАК Заказ,
МИНИМУМ(ВТ_ЕжедневныеОстатки.КонечныйОстаток) КАК ЗависшийОстаток
ПОМЕСТИТЬ ВТ_ЗависшиеПозиции
ИЗ
РегистрНакопления.МатериалыВПроизводстве.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , ) КАК ВТ_ЕжедневныеОстатки
СГРУППИРОВАТЬ ПО
ВТ_ЕжедневныеОстатки.Номенклатура,
ВТ_ЕжедневныеОстатки.Заказ
ИМЕЮЩИЕ
МИНИМУМ(ВТ_ЕжедневныеОстатки.КонечныйОстаток) > 0
;
В данном примере условие ИМЕЮЩИЕ МИНИМУМ(...) > 0 отсекает все материалы, которые хотя бы на один день покидали производство (их остаток обнулялся). Те позиции, что остались в выборке, и есть наш «мертвый груз».
Рассмотрим альтернативный подход, который предложили участники обсуждения. Можно сопоставить наличие остатка на «далекую» дату в прошлом с остатком на текущий момент. Однако, чтобы исключить позиции, которые просто поступили снова, добавим проверку на отсутствие или минимальное значение расхода.
Выясним причину «зависания» через отсутствие движений. Если по позиции в регистре МатериалыВПроизводстве за период с 30.09 по 17.11 Расход равен 0, при этом Начальный остаток больше 0 — это стопроцентный кандидат на проверку. Это означает, что материал как лежал в цеху полтора месяца назад, так и лежит, не участвуя в выпуске продукции.
Пример структуры запроса для этого метода:
ВЫБРАТЬ
Остатки.Номенклатура,
Остатки.НачальныйОстаток,
Остатки.КонечныйОстаток,
Остатки.РасходОборот
ИЗ
РегистрНакопления.МатериалыВПроизводстве.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК Остатки
ГДЕ
Остатки.НачальныйОстаток > 0
И Остатки.РасходОборот = 0
Важный нюанс: Если производство массовое и материал постоянно досыпается в «общую кучу», расход по нему будет идти постоянно. В этом случае первый метод (анализ минимума) будет более информативным, так как он покажет неснижаемый остаток, который фактически не оборачивается.
Проанализируем ситуацию, если в вашей базе включен режим расширенной аналитики учета затрат (РАУЗ). В этом случае регистр МатериалыВПроизводстве может не содержать данных, так как весь учет ведется в регистре УчетЗатратРег.
В РАУЗ поиск зависших остатков усложняется тем, что там используется «котловой» метод аналитики. Чтобы найти залежалые материалы, следует использовать отчет «Ведомость по учету затрат». Нам нужно настроить фильтры следующим образом:
Если в течение нескольких месяцев по конкретной аналитике (например, Материал «Гайка» под «Заказ №1») висит начальный остаток, но нет расхода (не оформлены документы Распределение материалов на выпуск или Отчет производства за смену), значит, затраты «зависли» в НЗП и не превратились в себестоимость готовой продукции.
Посмотрим на ситуацию со стороны пользователя. Если отчет показал «зависшие» остатки, не всегда это ошибка программиста или кладовщика. Часто это следствие следующих процессов в УПП:
Отчете производства за смену материал списался по нормативам, но в спецификации была указана другая номенклатура или другая характеристика. В итоге реальный материал лежит в цеху, а «бумажный» остаток растет.Требование-накладная), а выпуск оформили на другой заказ. Стандартный отчет покажет по одному заказу «плюс», по другому — «минус». Чтобы это увидеть, всегда стройте отчет с детализацией до Заказа на производство.Для исправления ситуации мы рекомендуем периодически использовать документ «Инвентаризация незавершенного производства». Он позволяет сопоставить данные системы с реальным наличием в цеху и принудительно скорректировать остатки, которые «висят» в отчетах месяцами.
Таким образом, для создания идеального отчета по «зависшим» материалам в УПП 1.3, лучше всего использовать СКД (Схему компоновки данных), где в качестве источника будет выступать запрос с расчетом минимального ежедневного остатка. Это позволит бухгалтеру или начальнику производства оперативно выявлять неликвиды в цехах и своевременно закрывать производственные заказы.