Работа в системе 1С:Управление производственным предприятием 1.3 с использованием режима расширенной аналитики учета затрат (РАУЗ) требует особой дисциплины ведения данных. Одной из самых пугающих проблем, с которой может столкнуться технический специалист, является появление «астрономических» сумм (триллионов или даже септиллионов) в документе Расчет себестоимости выпуска (РСВ). Рассмотрим подробно причины возникновения этого явления и алгоритм исправления ситуации.
В отличие от классического партионного учета, где себестоимость считается последовательно по документам, РАУЗ использует математический метод решения системы линейных уравнений. Программа выполняет итерационный расчет, пытаясь распределить затраты согласно заданной базе. Если в системе уравнений возникают математические аномалии, итерации не «сходятся» к реальной стоимости, а начинают бесконечно увеличивать значения. Проанализируем основные факторы, провоцирующие такой сценарий:
Аналитика учета затрат. При выполнении запросов СУБД происходит «размножение» записей (декартово произведение), и сумма может увеличиваться кратно количеству дублей (например, ровно в 4 раза).Первым делом нам необходимо проверить наличие минусов по количеству и стоимости до проведения расчета себестоимости. Разберем, как это сделать правильно:
Сформируем отчет «Ведомость по учету затрат» (или «Учет затрат») со следующими настройками:
Аналитика вида учета, Аналитика учета затрат, Аналитика распределения затрат.Количество (Конечный остаток) и Стоимость (Конечный остаток).Важно: Смотреть нужно не только на итоговые суммы по номенклатуре, но и на детальные записи. Часто бывает так, что общая сумма по позиции «в нулях», но внутри нее есть «плюс» на одном ключе аналитики и «минус» на другом (например, перепутаны склады или заказы). РАУЗ крайне чувствителен к таким расхождениям. Любой минус на конец месяца (даже копеечный) должен быть устранен до запуска РСВ.
Если минусы устранены, а суммы все равно растут в геометрической прогрессии, проанализируем состояние регистров сведений Аналитика учета затрат. Ошибка уникального индекса (например, в таблице dbo_DocumentJournal), возникающая при тестировании базы, — это явный сигнал повреждения структуры данных.
Разберем ситуацию с дублями. Выполним запрос к регистру сведений АналитикаУчетаЗатрат, чтобы найти записи с идентичными измерениями. Рассмотрим пример логики поиска:
ВЫБРАТЬ
Номенклатура,
Склад,
ХарактеристикаНоменклатуры,
КОЛИЧЕСТВО(Ссылка) КАК КоличествоДублей
ИЗ
РегистрСведений.АналитикаУчетаЗатрат
СГРУППИРОВАТЬ ПО
Номенклатура,
Склад,
ХарактеристикаНоменклатуры
ИМЕЮЩИЕ
КОЛИЧЕСТВО(Ссылка) > 1
Если запрос возвращает строки, это означает, что система «видит» одну и ту же позицию как разные объекты учета. В этом случае требуется процедура «лечения» РАУЗ — объединение дублей ключей аналитики и перепривязка движений регистров к корректным ключам.
Посмотрим на сообщение в журнале регистрации или в окне сообщений при проведении РСВ. Если мы видим строки типа Выполненное количество итераций расчета стоимости: 50 и Полученное среднее отклонение решений: [огромное число], это означает, что алгоритм не смог стабилизировать стоимость.
Рассмотрим по шагам, что делать в этой ситуации:
Расчет себестоимости выпуска за проблемный месяц.Продукция А выпускается из Продукции Б, а та, в свою очередь, из Продукции А, и при этом в настройках не указаны фиксированные цены или встречный выпуск не описан в соответствующем регистре, система может уйти в бесконечный цикл.В случае, если проблема проявляется в рабочей базе, но отсутствует в копии при тех же манипуляциях, велика вероятность повреждения физических индексов таблиц на уровне SQL-сервера. Рассмотрим рекомендуемые действия:
Во-первых, выполним Тестирование и исправление (ТиИ) с включенными опциями «Реиндексация таблиц» и «Пересчет итогов». Если ТиИ выдает ошибку неуникального индекса, это лечится выгрузкой информационной базы в файл .dt и последующей загрузкой в новую чистую базу. При этой операции платформа пересоздает индексы «с нуля».
Во-вторых, если в конфигурацию вносились изменения в части характеристик (как упоминалось в теме — создание доп. значений характеристик), необходимо проверить общий модуль, отвечающий за формирование ключей аналитики. Если логика формирования ссылки на ключ изменилась, необходимо принудительно обновить ключи аналитики в старых документах.
Подводя итог, можно сказать, что триллионы в РАУЗ — это не случайный сбой, а математическое следствие грязных данных. Для решения проблемы придерживаемся следующего плана:
Учет затрат на конец месяца.Аналитика учета затрат, Аналитика распределения затрат и Аналитика вида учета.Учет затрат и Списанные товары.Помните, что РАУЗ — это мощный инструмент, но он требует идеальной чистоты аналитических разрезов. Если расчет «пошел вразнос», ищите дубль в ключах или скрытый минус в учете.