Проблема с отсутствием движений в регистре Себестоимость товаров — одна из самых сложных и неприятных в «1С:Управление торговлей» версии 11.3 и выше. Типичная ситуация выглядит так: до определенной даты (например, до начала нового месяца) всё работало корректно, а начиная с первого числа расчет себестоимости перестает выполняться. При этом регламентная операция «Закрытие месяца» может проходить без видимых ошибок, документ Расчет себестоимости товаров создается, но его движения по регистру остаются пустыми. Более того, при попытке перепровести старые документы (в которых себестоимость была), данные из них могут исчезнуть.
Рассмотрим подробно причины такого поведения системы и разберем по шагам, как локализовать и устранить проблему.
Проанализируем самую простую, но часто встречающуюся причину — окончание срока действия настроек. В системе 1С:УТ 11 настройки метода оценки стоимости (ФИФО или Средняя) хранятся в регистре сведений Учетная политика организаций. Зачастую запись создается на один календарный год. Если срок действия текущей политики истек 28 (или 29) февраля, то с 1 марта система перестает понимать, по какому алгоритму распределять затраты.
Выясним причину в интерфейсе:
Важный момент: если вы используете метод ФИФО (взвешенная оценка), себестоимость в документах продажи (Расходная накладная, Отчет о розничных продажах) и не должна появляться в момент проведения. Она рассчитывается только итоговым документом в конце месяца. Однако, если ранее использовалась ФИФО (скользящая оценка), а затем настройки изменились, поведение системы станет иным, что может быть воспринято как ошибка.
Посмотрим на ситуацию глубже. Даже если на складе в количественном выражении товар есть (отчет «Остатки и доступность товаров» показывает плюс), в регистре Себестоимость товаров могут возникнуть «скрытые» минусы. Это происходит из-за разрывов в аналитике. Например, товар поступил на одну «Группу финансового учета номенклатуры», а списан с другой (если ГФУ была изменена в карточке товара задним числом).
Проанализируем регистр Себестоимость товаров. Алгоритм расчета УТ 11 часто прекращает обработку всех последующих партий по организации, как только натыкается на первое же нестыкующееся движение. Чтобы найти такие позиции, воспользуемся отчетом Ведомость по партиям товаров или построим запрос к регистру накопления:
ВЫБРАТЬ
Себестоимость.Номенклатура,
Себестоимость.КоличествоКонечныйОстаток КАК Остаток,
Себестоимость.СтоимостьКонечныйОстаток КАК Стоимость
ИЗ
РегистрНакопления.СебестоимостьТоваров.Остатки(&Период, ) КАК Себестоимость
ГДЕ
Себестоимость.КоличествоКонечныйОстаток < 0
ИЛИ Себестоимость.СтоимостьКонечныйОстаток < 0
Если запрос возвращает строки, это и есть причина блокировки расчета. Пока вы не устраните количественный или стоимостный минус (путем исправления первичных документов или ввода корректировок), расчет за месяц будет выдавать пустой результат.
Начиная с версий 11.3, система опирается на вспомогательный регистр Распределение запасов. Он отвечает за то, чтобы «стыковать» поступления и расходы в реальном времени. Если данные в этом регистре повреждены (из-за программных сбоев, некорректных доработок в расширениях или аварийного завершения работы базы), документ Расчет себестоимости просто не увидит базу для распределения.
Для решения этой проблемы попробуем выполнить следующие действия:
ОбновитьВсеДанныеРегистраРаспределениеЗапасов() через консоль кода (только для опытных специалистов!).Рассмотрим ситуацию из сообщения (9), когда при перепроведении старого документа себестоимость исчезает. Это верный признак проблемы с Ключами аналитики учета номенклатуры. 1С:УТ 11 не хранит прямую ссылку на склад или складскую ячейку в регистре себестоимости, она использует идентификатор — «Ключ».
Если в справочнике Номенклатура или Характеристики были изменены реквизиты, влияющие на учет (например, ставка НДС, использование серий, ГФУ), система при перепроведении документа пытается создать или подобрать новый ключ аналитики. Так как по новому ключу еще нет приходов (стоимости), документ расхода записывает нулевую себестоимость.
Рекомендация: Никогда не меняйте значимые реквизиты номенклатуры задним числом. Если это произошло, потребуется полное перепроведение документов прихода и расхода с начала периода, чтобы восстановить целостность ключей.
Если в вашей базе ведется учет по нескольким организациям, проанализируем схему «Интеркампани». Если товар был закуплен на «Организацию А», а продан с «Организации Б», система ожидает оформления документа Передача товаров между организациями.
Если настройки передач сбились или документы за март не были сформированы (даже в статусе черновика), то для «Организации Б» этот товар не имеет стоимости поступления. В результате регламентная операция расчета себестоимости проигнорирует эти продажи, так как не найдет источник формирования стоимости.
Если причину найти не удается, воспользуемся методом, предложенным в сообщении (15). Этот способ позволит исключить влияние глобальных настроек и ошибок в коде:
Если по новой организации себестоимость рассчиталась корректно — проблема в данных (минусах, ключах аналитики, интеркампани) текущей организации. Если же и по новой организации движений нет — проблема в релизе конфигурации или в критической ошибке в расширениях, которые, вопреки ожиданиям, могут влиять на общие модули расчета.
Версия 11.3.1.115 является достаточно ранней для ветки 11.3. Проанализируем возможные программные ошибки. Известны случаи, когда расчет себестоимости «сбоил» при наличии документов Сборка товаров, если в составе комплектующих были позиции с нулевой стоимостью или если сборка производилась на склад, отличный от склада списания материалов, без использования перемещений.
Также стоит обратить внимание на гиперссылку Ошибки в окне «Закрытие месяца». Даже если напротив этапа «Расчет себестоимости» стоит зеленая галочка, внутри лога могут быть предупреждения, которые система не считает критическими, но которые блокируют запись движений.
Подведем итог: если себестоимость перестала считаться «сама по себе», последовательно проверьте сроки учетной политики, наличие отрицательных остатков в регистре Себестоимость товаров и актуальность ключей аналитики. В большинстве случаев проблема кроется в данных, а не в программном коде.