Каждый практикующий специалист в «1С:Управление производственным предприятием, ред. 1.3» (1С:УПП) рано или поздно сталкивается с ситуацией, когда отчеты показывают огромные остатки материалов в незавершенном производстве (НЗП), которых по факту в цехах давно нет. Обычно это происходит из-за того, что материалы передавались в производство документом Требование-накладная, но их списание на выпуск готовой продукции по разным причинам не отражалось или выполнялось некорректно.
В этой статье мы подробно разберем, почему забивается оперативный регистр остатков в производстве, как правильно и быстро обнулить эти «фантомные» остатки, не вызвав гнев бухгалтерии и не повредив расчет себестоимости, особенно при использовании расширенной аналитики учета затрат (РАУЗ).
Прежде чем приступать к решительным действиям, проанализируем, откуда берутся эти зависшие остатки. Регистр накопления Материалы в производстве является исключительно оперативным количественным регистром. Данные в нем накапливаются только по тем позициям номенклатуры, для которых в карточке (на вкладке «Настройки учета») включена специальная опция — «Вести оперативный учет остатков незавершенного производства».
Работает эта схема следующим образом:
Требование-накладная система делает приход («плюс») в регистр Материалы в производстве.Отчет производства за смену или Акт об оказании производственных услуг) либо распределяются документом Распределение материалов на выпуск.Если на вашем предприятии детальный пооперационный учет материалов в цехах не ведется (то есть в документах выпуска вкладку с материалами оставляют пустой, распределяя затраты в конце месяца), этот флаг у номенклатуры работает во вред. Остатки будут бесконечно копиться, замедляя работу базы данных и искажая оперативную отчетность.
Чтобы в будущем новые остатки не зависали в производстве, нам нужно снять флаг Вести оперативный учет остатков незавершенного производства. Если позиций много (более 300 или даже тысячи деталей), ручное редактирование каждой карточки превратится в кошмар. Решим эту задачу элегантно.
Для массового изменения настроек применим стандартный инструмент системы:
Номенклатура.Ложь (снять флаг).Важное примечание: Снятие этого флага предотвратит появление «зависших» остатков в будущем. Однако уже накопленные исторические остатки из регистра автоматически не исчезнут. Их необходимо корректно списать.
На форумах часто советуют использовать документ Корректировка записей регистров, вручную или через Excel заполняя движения. Мы настоятельно рекомендуем отказаться от этого способа по следующим причинам:
Чтобы обнулить только оперативные остатки (управленческий учет), вообще не затрагивая регламентированный учет (бухгалтерский и налоговый), воспользуемся штатным механизмом 1С:УПП. Для этого идеально подходит документ Списание незавершенного производства (или Корректировка незавершенного производства).
Рассмотрим по шагам, как правильно его оформить:
Списание незавершенного производства.Материалы в производстве), но не сформирует ни одной проводки по бухгалтерскому счету 20 (или любому другому) и никак не повлияет на официальный баланс компании.Нам не понадобятся никакие сторонние загрузчики из Excel. Программа способна сама собрать все зависшие остатки по выбранному подразделению:
Материалы в производстве по указанному цеху, найдет абсолютно все зависшие позиции (даже если их 300, 500 или больше) и автоматически заполнит ими табличную часть с указанием точного количества.Если для каких-то целей вам все же требуется автоматизировать этот процесс программно (например, при написании собственной сервисной обработки), то очистку флага оперативного учета у номенклатуры в коде можно реализовать следующим образом:
// Пример программного отключения ведения оперативного учета НЗП
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ВестиОперативныйУчетОстатковНезавершенногоПроизводства = ИСТИНА";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбъектНоменклатуры = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ОбъектНоменклатуры.ВестиОперативныйУчетОстатковНезавершенногоПроизводства = Ложь;
Попытка
ОбъектНоменклатуры.Записать();
Сообщить("Изменена настройка для: " + ОбъектНоменклатуры.Наименование);
Исключение
Сообщить("Ошибка записи номенклатуры: " + ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
Мы успешно решили сложную задачу: полностью обнулили зависшие оперативные остатки материалов в производстве, не создав проблем для регламентированного учета и не нарушив сложную структуру аналитики РАУЗ. Использование стандартного документа Списание незавершенного производства с отключенными флагами «БУ» и «НУ» — это самый безопасный, быстрый и методологически верный способ наведения порядка на складах производства в конфигурации 1С:УПП 1.3.