Документ «Движение НЗП (незавершённое производство)»
Служебный документ производственного учёта. Фиксирует остатки незавершённого производства (НЗП) на конец периода и формирует бухгалтерские (счёт 1340 «Незавершённое производство») и налоговые проводки. Создаётся автоматически при закрытии месяца (раздел «Операции»), реже вводится вручную для корректировки. Два вида операции: «Отнесение на НЗП» и «Возврат из НЗП». Проводки не «зашиты» в документ — их формирует общий модуль УчетПроизводства по учётной политике.
🎯 Что это и зачем
В производстве часть затрат на конец месяца ещё не превратилась в готовую продукцию — это незавершённое производство (НЗП): материалы в работе, недоделанные изделия, накопленные но не закрытые затраты цеха. Эти суммы нельзя списать на себестоимость готовой продукции — их нужно «оставить» на счёте НЗП и перенести на следующий период.
Документ «Движение НЗП» делает ровно это: при закрытии месяца он переносит затраты, признанные незавершёнными, на счёт учёта НЗП (1340), а в начале следующего периода (операцией возврата) возвращает их обратно на счета затрат, чтобы они снова участвовали в калькуляции. Параллельно документ отражает то же самое в налоговом учёте (НУ) — для расчёта КПН и временных разниц.
Кто работает: бухгалтер по производству / расчёту себестоимости. В 95% случаев документ создаёт и проводит сама программа в составе регламентной операции «Закрытие месяца» — пользователь его не вводит руками. Ручной ввод нужен только для разовой корректировки остатков НЗП.
🧭 Где найти в программе
Отдельного журнала «Движение НЗП» в боковом меню Fresh нет — документ подчинён закрытию месяца и порождается им.
- Штатный путь: раздел «Операции» → «Закрытие месяца» → выполнить регламентную операцию расчёта/закрытия НЗП. Программа сама создаст и проведёт документ «Движение НЗП», а ссылку на него можно открыть из структуры закрытия месяца (по гиперссылке регламентной операции).
- Ручной доступ к списку: через «Все функции» → Документы → «Движение НЗП» (если режим «Все функции» включён администратором) либо через ссылку из самого документа закрытия месяца.
navigation-map.json) объект Документ.ДвижениеНЗП не описан — у него нет собственного пункта в боковом меню (это нормально для служебного документа закрытия месяца). Путь выше определён по метаданным и реквизиту ДокументЗакрытиеМесяца. Если в конкретной поставке пункт всё же выведен — уточните у администратора командного интерфейса.👤 Часть 1. Для пользователя
Большинству пользователей отдельно «заполнять» этот документ не нужно — он формируется автоматически. Ниже сначала штатный сценарий (через закрытие месяца), затем — ручная корректировка для тех, кому она действительно нужна.
Урок 1. Штатный сценарий — закрытие месяца (рекомендуется)
Когда: в конце месяца, при выполнении регламентных операций производственного учёта.
Шаг 1. Открываем «Закрытие месяца»
Раздел «Операции» → «Закрытие месяца». Создаём (или открываем) документ закрытия за нужный месяц и организацию.
Шаг 2. Выполняем расчёт НЗП
Запускаем выполнение регламентных операций (кнопка «Выполнить закрытие месяца» / по отдельной операции). На этапе расчёта незавершённого производства программа определяет остатки НЗП по подразделениям, номенклатурным группам и статьям затрат.
Шаг 3. Документ создаётся и проводится сам
По итогам расчёта программа автоматически создаёт документ «Движение НЗП», заполняет шапку (организация, подразделение, вид операции «Отнесение на НЗП», ссылка на закрытие месяца) и табличную часть «Состав» (счета затрат, статьи, суммы БУ и НУ), после чего проводит его.
Шаг 4. Открываем документ и проверяем проводки
Из структуры закрытия месяца переходим по ссылке на сформированное «Движение НЗП». Кнопка Дт/Кт показывает проводки.
Урок 2. Ручная корректировка остатков НЗП
Когда: нужно разово поправить сумму НЗП вне обычного закрытия месяца (например, исправить ошибку прошлого периода). Сценарий для опытных бухгалтеров.
Шаг 1. Создаём документ
Открываем список документов «Движение НЗП» (через «Все функции» или ссылку из закрытия месяца) → «Создать».
Шаг 2. Заполняем шапку
- Вид операции — «Отнесение на НЗП» (увеличить/зафиксировать НЗП) или «Возврат из НЗП» (вернуть на затраты).
- Организация — обязательно.
- Подразделение / Структурное подразделение — указываем через поле выбора подразделения (открывается диалог выбора организации и подразделения; не вводите организацию и подразделение по отдельности).
- Отражать в бухгалтерском учёте — флаг; снимите, если корректировка касается только НУ.
- Учитывать КПН — включите, если организация — плательщик КПН и операция влияет на налоговый учёт.
Шаг 3. Заполняем табличную часть «Состав»
Для каждой строки: - Счёт затрат БУ — счёт производственных затрат (например, 8110/8210/8310/8410). - Номенклатурная группа и Статья затрат — аналитика. - Сумма — сумма корректировки в БУ. - Для налогового учёта: Счёт затрат НУ, Вид учёта НУ, Сумма НУ.
Шаг 4. Проводим
«Провести» или «Записать и закрыть», затем проверяем Дт/Кт.
Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.СуммаНУ). Если снят флаг «Отражать в бухгалтерском учёте», поля БУ (Состав.СчетЗатратБУ, Состав.Сумма) не проверяются.Урок 3. Возврат из НЗП и связь документов
Операция «Возврат из НЗП» возвращает ранее отнесённые суммы обратно на счета затрат (зеркально к «Отнесению на НЗП»). При закрытии месяца пара «отнесение → возврат» формируется автоматически и жёстко связана:
- у возврата заполнен Документ-основание — ссылка на исходное «Отнесение на НЗП»;
- программа синхронизирует проведение и пометку удаления между ними: нельзя отменить проведение или удалить только одну сторону пары — вторая обработается автоматически (с предупреждением).
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/ДвижениеНЗП/Ext/ObjectModule.bsl и ManagerModule.bsl), метаданные документа и перечисления ВидыОперацийДвиженияНЗП, плюс разбор objects/ и business-logic/.
Структура объекта
Реквизиты шапки (по objects/ и коду):
| Реквизит | Тип | Обязательность | Назначение |
|---|---|---|---|
ВидОперации |
Перечисление.ВидыОперацийДвиженияНЗП | ShowError | ОтнесениеНаНЗП или ВозвратИзНЗП; управляет логикой связей и проведения |
Организация |
Справочник.Организации | ShowError | Организация движения НЗП |
ДокументЗакрытиеМесяца |
Документ.ЗакрытиеМесяца | ShowError | Регламентный документ, в рамках которого создано движение |
ДокументОснование |
Документ.ДвижениеНЗП | DontCheck | Для ВозвратИзНЗП — ссылка на парное ОтнесениеНаНЗП |
ПодразделениеОрганизации |
Справочник.ПодразделенияОрганизаций | DontCheck | Подразделение учёта НЗП |
СтруктурноеПодразделение |
Справочник.ПодразделенияОрганизаций | DontCheck | МВЗ для аналитики НЗП |
ОтражатьВБухгалтерскомУчете |
Булево | ShowError | Формировать ли проводки БУ |
УчитыватьКПН |
Булево | DontCheck | Включать ли операцию в НУ/КПН |
РучнаяКорректировка |
Булево | DontCheck | Полностью отключает авто-проведение |
СуммаДокумента |
Число | DontCheck | Итог для журналов; считается в ПередЗаписью |
objects/ называет среди видов операции «перемещение НЗП». Реальные метаданные Enums/ВидыОперацийДвиженияНЗП.xml содержат ровно два значения: ОтнесениеНаНЗП («Отнесение на НЗП») и ВозвратИзНЗП («Возврат из НЗП»). «Перемещения» в перечислении нет.Табличная часть Состав — детализация остатков НЗП: СчетЗатратБУ (План счетов «Типовой»), НоменклатурнаяГруппа, СтатьяЗатрат, Сумма, СчетЗатратНУ (План счетов «Налоговый»), ВидУчетаНУ, СуммаНУ.
business-logic/..._ObjectModule.md (и комментарии в нём) называет проверяемую табличную часть «Товары». В реальном коде ОбработкаПроверкиЗаполнения оперирует частью Состав (Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.Сумма, Состав.СуммаНУ). Корректное имя — Состав.Жизненный цикл проведения (обработчики ObjectModule)
| Обработчик | Что делает (по реальному коду) |
|---|---|
ЗаполнитьНаборыЗначенийДоступа |
Заполняет наборы доступа по организации и структурному подразделению (RLS) |
ОбработкаПроверкиЗаполнения |
Снимает с проверки поля НУ, если организация не плательщик КПН или УчитыватьКПН = Ложь; снимает поля БУ, если ОтражатьВБухгалтерскомУчете = Ложь |
ОбработкаПроведения |
При РучнаяКорректировка — Возврат; иначе готовит параметры и делегирует формирование движений модулю УчетПроизводства; для пары возврат↔отнесение перепроводит связанный документ |
ОбработкаУдаленияПроведения |
Синхронизирует отмену проведения между ВозвратИзНЗП и его основанием ОтнесениеНаНЗП |
ПередЗаписью |
Синхронизирует пометку удаления связанных документов; пересчитывает СуммаДокумента через УчетНДСИАкциза.ПолучитьСуммуДокументаСНДС |
Как формируется проведение — реальный код (3.0.72.1)
Главное: проводки не «зашиты» в документ. ОбработкаПроведения готовит данные и делегирует формирование движений общему модулю УчетПроизводства — конкретные счета Дт/Кт определяются учётной политикой, а не самим документом.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 65):
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.ДвижениеНЗП.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ — учёт пишет общий модуль производства:
УчетПроизводства.СформироватьДвиженияНЗПБУ(ПараметрыПроведения.ТаблицаНЗПБУ, ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетПроизводства.СформироватьДвиженияНЗПНУ(ПараметрыПроведения.ТаблицаНЗПНУ, ПараметрыПроведения.Реквизиты, Движения, Отказ);
// Связка возврат ↔ отнесение: автопроведение документа-основания
Если ЗначениеЗаполнено(ДокументОснование) Тогда
Если (мПроведениеОперацииИзвне = Неопределено) И (ВидОперации = Перечисления.ВидыОперацийДвиженияНЗП.ОтнесениеНаНЗП) И
ДокументОснование.ВидОперации = Перечисления.ВидыОперацийДвиженияНЗП.ВозвратИзНЗП Тогда
// … сообщение пользователю …
ТекущийДокументОснование = ДокументОснование.ПолучитьОбъект();
ТекущийДокументОснование.мПроведениеОперацииИзвне = Истина;
ТекущийДокументОснование.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Разбор по строкам:
| Строка кода | Смысл |
|---|---|
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект) |
Инициализация наборов записей регистров перед проведением |
Если РучнаяКорректировка Тогда Возврат |
Полный пропуск авто-проведения — движения вводит пользователь вручную |
Документы.ДвижениеНЗП.ПодготовитьПараметрыПроведения(...) |
Менеджер собирает временные таблицы ТаблицаНЗПБУ/ТаблицаНЗПНУ, реквизиты, проверяет учётную политику |
УчетПроизводства.СформироватьДвиженияНЗПБУ(...) |
Формирует бухгалтерские проводки НЗП (счета по учётной политике) |
УчетПроизводства.СформироватьДвиженияНЗПНУ(...) |
Формирует налоговые проводки НЗП (НУ/КПН) |
блок ДокументОснование |
Перепроводит парный документ при связке Отнесение ↔ Возврат |
Что делает менеджерская ПодготовитьПараметрыПроведения (из ManagerModule.bsl, стр. 40), кратко:
- запросом загружает реквизиты документа и признак ЕстьСоставНЗП;
- проверяет существование учётной политики организации и за период по БУ и НУ — если её нет, выставляет Отказ и возвращает пустые параметры (Возврат);
- вычисляет НеобходимостьОтраженияВНУ = организация-плательщик налога на прибыль И УчитыватьКПН И (поддержка временных разниц ИЛИ ВидУчетаНУ = НУ);
- запросами ТекстЗапросаНЗПБУ / ТекстЗапросаНЗПНУ готовит итоговые таблицы движений ТаблицаНЗПБУ и ТаблицаНЗПНУ.
Движения по регистрам
По метаданным документа (RegisterRecords) движения пишутся в два регистра бухгалтерии (не накопления):
| Регистр | Тип | Что пишет |
|---|---|---|
AccountingRegister.Типовой |
Регистр бухгалтерии (БУ) | Проводки НЗП в бухучёте — формирует УчетПроизводства.СформироватьДвиженияНЗПБУ |
AccountingRegister.Налоговый |
Регистр бухгалтерии (НУ) | Проводки НЗП в налоговом учёте — формирует УчетПроизводства.СформироватьДвиженияНЗПНУ |
objects/ и business-logic/ местами говорят о «регистре накопления, связанном с типом операции». По метаданным Документ.ДвижениеНЗП пишет только в регистры бухгалтерии Типовой и Налоговый — регистров накопления среди RegisterRecords нет.Иллюстрация проводок (сверяйте по Дт/Кт и плану счетов КЗ)
Точные счета определяет УчетПроизводства по учётной политике; ниже — типовая логика для плана счетов Казахстана, как ориентир:
| Операция | Дт | Кт | Смысл |
|---|---|---|---|
| Отнесение на НЗП (конец месяца) | 1340 «Незавершённое производство» | 8110/8210/8310/8410 (счета затрат) | Незакрытые затраты остаются в НЗП |
| Возврат из НЗП (начало периода) | 8110/8210/8310/8410 (счета затрат) | 1340 «Незавершённое производство» | Возврат НЗП в калькуляцию |
objects/ приведена «плоская» схема «Дт счёт НЗП — Кт счёт затрат» как факт. Это лишь иллюстрация: в коде нет жёстких счетов — их выдаёт УчетПроизводства по учётной политике. Точные Дт/Кт сверяйте по отчёту «Дт/Кт» на проведённом документе. Российские счета (20/43/91 и т. п.) к KZ30 не применять; счёт НЗП — 1340 (при необходимости — 1350 для прочего НЗП, по настройке).УчетПроизводства и УчетнаяПолитикаСервер. Если документ вообще «пустой» (нет проводок) — проверьте флаг «Ручная корректировка» и наличие учётной политики по БУ и НУ за период (без неё ПодготовитьПараметрыПроведения выставляет Отказ).Валидации (ОбработкаПроверкиЗаполнения)
Обработчик работает «от обратного» — формирует массив непроверяемых реквизитов:
- если организация не плательщик КПН (функциональная опция ПлательщикКПН) или УчитыватьКПН = Ложь → из проверки убираются Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.СуммаНУ;
- если ОтражатьВБухгалтерскомУчете = Ложь → убираются Состав.СчетЗатратБУ, Состав.Сумма.
То есть при плательщике КПН и включённом УчитыватьКПН поля НУ в Состав становятся обязательными; при отражении в БУ — обязательны поля БУ. Обязательность шапочных реквизитов (ВидОперации, Организация, ДокументЗакрытиеМесяца, ОтражатьВБухгалтерскомУчете) задана на уровне свойств (ShowError).
Связи документов (возврат ↔ основание)
Логика в ОбработкаПроведения, ОбработкаУдаленияПроведения, ПередЗаписью через служебные флаги мПроведениеОперацииИзвне и мУдалениеИзвне:
- проведение ОтнесениеНаНЗП с основанием-ВозвратИзНЗП → перепроводит основание;
- отмена проведения / удаление одной стороны → синхронно обрабатывает вторую (с сообщением пользователю), не допуская «висящих» половин пары.
Зависимости (общие модули)
УчетПроизводства (формирование движений НЗП БУ/НУ), ПроведениеСервер (наборы записей), УчетнаяПолитикаСервер (проверка и параметры учётной политики), ПроцедурыНалоговогоУчета (признак плательщика налога на прибыль, временные разницы), УчетНДСИАкциза (расчёт СуммаДокумента), ОбщегоНазначенияБК / ОбщегоНазначения / СтроковыеФункцииКлиентСервер (утилиты, доступ, сообщения).
РучнаяКорректировка = Истина→Возвратв самом началеОбработкаПроведения: документ не пишет ни одной проводки. Для UI-автоматизации это «пустой» с точки зрения движений документ.ПодготовитьПараметрыПроведенияжёстко требует учётную политику по БУ и НУ за период — нет политики,Отказ = Истинаи проведение прерывается.- Не заполняйте
ОрганизацияиСтруктурноеПодразделениенапрямую через UI: форма использует составное полеСтруктурноеПодразделениеОрганизацияс диалогом (РаботаСДиалогамиКлиент), которое обнуляет оба реквизита и заполняет их вместе.ВидОперации— первичен: от него зависят обязательностьДокументОснование, синхронизация пар и набор движений. Значений ровно два (ОтнесениеНаНЗП,ВозвратИзНЗП).- Имя проверяемой табличной части —
Состав(не «Товары», как в части преварительных разборов).
🔗 Связанные разделы
- zakrytie-mesyaca — регламентная операция, которая создаёт и проводит «Движение НЗП»
- uchet-proizvodstva — общий модуль/механика производственного учёта и счетов НЗП
- trebovanie-nakladnaya — передача материалов в производство (формирует затраты, попадающие в НЗП)
- otchet-proizvodstva-za-smenu — выпуск готовой продукции (закрывает затраты, остаток уходит в НЗП)
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |