Каждый специалист, работающий с конфигурацией «1С:Управление производственным предприятием» (УПП 1.3) в режиме расширенной аналитики учета затрат (РАУЗ), рано или поздно сталкивается с аномалиями при расчете себестоимости. Одной из наиболее частых и сложных проблем является внезапное, взрывное увеличение стоимости конкретной затраты или материально-производственного запаса (МПЗ) при проведении регламентного документа Расчет себестоимости. Например, стоимость единицы затраты может возрасти на 30%, в несколько раз или даже устремиться в астрономические значения.
В этой статье мы подробно разберем, почему возникает этот эффект, как устроена математическая модель РАУЗ изнутри, какие инструменты диагностики помогут локализовать ошибку и как пошагово восстановить корректный учет.
Для того чтобы эффективно бороться с некорректным расчетом, необходимо понимать ключевое отличие РАУЗ от классического партионного учета. В партионном учете списание себестоимости происходит последовательно по документам (ФИФО, ЛИФО или по средней). РАУЗ же работает принципиально иначе — он использует сложную математическую модель балансовых уравнений.
Каждая номенклатурная позиция на складе или затрата в производстве формирует так называемый узел матрицы. Все движения за месяц объединяются в единую Систему Линейных Алгебраических Уравнений (СЛАУ). Документ Расчет себестоимости решает эту систему итерационными численными методами (такими как метод Якоби или метод Гаусса-Зейделя).
Сходимость этих методов (то есть успешное нахождение точного решения за ограниченное число шагов) математически гарантирована только в том случае, если в системе отсутствуют противоречивые и отрицательные данные. Проанализируем, что происходит при появлении отрицательного остатка стоимости (даже при корректном положительном количестве) на одном из узлов аналитики:
Начальный остаток + Приход - Расход = Конечный остаток.Если мы обнаружили, что в управленческом или регламентированном учете стоимость затраты необоснованно выросла, выполним последовательную диагностику с помощью встроенных отчетов конфигурации.
Для начала воспользуемся универсальным инструментом — ведомостью Анализ движений МПЗ и затрат. Этот отчет позволяет наглядно увидеть взаимосвязи аналитик списания и поступления. Настроим отчет следующим образом:
Номенклатура, Склад, Затрата).Корр. аналитика учета затрат и Корр. номенклатура.Проанализируем полученную таблицу. Нам нужно определить, из какого именно узла (документа или сопряженной аналитики) приходят аномально большие суммы. Особое внимание обратим на пустые значения в поле Корр. аналитика учета затрат при наличии движений по выпуску продукции (например, документом Отчет производства за смену).
Отрицательные остатки стоимости при положительном количестве — это главный враг РАУЗ. Стандартные отчеты в свернутом виде могут показывать вполне корректную картину, поэтому нам необходимо настроить детальный поиск. Откроем Ведомость по учету МПЗ или Ведомость по учету затрат и зададим специфические параметры:
Номенклатура + Раздел учета.Количество (Конечный остаток) >= 0Стоимость (Конечный остаток) < 0Выясним причину появления таких записей. В нормальной ситуации стоимость не может быть отрицательной, если товар физически присутствует на складе. Наличие таких строк однозначно указывает на то, что в прошлых периодах себестоимость была рассчитана неверно или были нарушены хронологические цепочки ввода документов.
Для быстрого поиска таких аномалий напрямую в базе данных мы также можем воспользоваться консолью запросов. Напишем и выполним следующий запрос к регистру учета затрат:
ВЫБРАТЬ
ТаблицаРегистра.АналитикаУчетаЗатрат КАК АналитикаУчетаЗатрат,
ТаблицаРегистра.АналитикаВидаУчета КАК АналитикаВидаУчета,
ТаблицаРегистра.СтоимостьКонечныйОстаток КАК СтоимостьОстаток,
ТаблицаРегистра.КоличествоКонечныйОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.УчетЗатрат.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК ТаблицаРегистра
ГДЕ
ТаблицаРегистра.КоличествоКонечныйОстаток >= 0
И ТаблицаРегистра.СтоимостьКонечныйОстаток < 0
Этот запрос мгновенно покажет проблемные узлы аналитики, которые ломают сходимость алгоритма расчета себестоимости в текущем или закрываемом периоде.
При проведении документа Расчет себестоимости всегда обращайте внимание на служебные сообщения в окне сообщений. Проанализируем важные маркеры ошибок:
Выполненное количество итераций расчета стоимости: 50 (или другое максимальное число, заданное в настройках параметров учета), это означает, что система уравнений не сошлась, алгоритм был прерван принудительно, а итоговая стоимость распределена некорректно.Полученное среднее отклонение решений. В идеальном расчете этот показатель стремится к нулю (доли копеек). Если отклонение исчисляется рублями, тысячами или миллионами — в базе присутствуют жесткие циклы («петли») или отрицательные стоимости, ломающие СЛАУ.Рассмотрим детально, какие действия пользователей или особенности учета приводят к возникновению этой проблемы:
Расчет себестоимости за прошлый период не перезапускается. Возникает разрыв: первичные движения изменились, а рассчитанная себестоимость осталась прежней, порождая скрытые отрицательные переходящие остатки.Встречный выпуск продукции математическая модель РАУЗ уходит в бесконечный цикл накрутки стоимости.Отчет производства за смену или Распределение возвратных отходов стоимость приходуемых из производства отходов превышает фактически накопленные затраты на выпуск по данной аналитике, на выпуске сформируется отрицательная стоимость.Для исправления сложившейся ситуации и нормализации расчета себестоимости выполним следующие шаги:
Расчет себестоимости за все последующие периоды. Выполним последовательное проведение документов расчета себестоимости строго месяц за месяцем, контролируя лог проведения на предмет отсутствия ошибок сходимости.Тестирование и исправление ключей аналитики (находится в меню «Операции» -> «Обработки»). Это позволит объединить дублирующиеся узлы и удалить неиспользуемые записи, что существенно упростит систему уравнений и ускорит расчет.Таким образом, регулярный контроль сходимости итераций расчета себестоимости, своевременная диагностика отрицательной стоимости с помощью настроенных ведомостей МПЗ и соблюдение хронологии проведения документов позволят вам полностью исключить внезапные скачки себестоимости в системе «1С:УПП».