При выполнении процедуры закрытия месяца и регламентного расчета себестоимости в 1С:Управление торговлей 11 пользователи и администраторы могут столкнуться с ситуацией, когда этап расчета прерывается с ошибкой. В протоколе выполнения отображается сообщение:
«Обнаружены некорректные движения по регистру накопления "СебестоимостьТоваров". Причина: переход на партионный учет версии 2.2... ошибка "Тип записи расходного движения не соответствует правилу": Возврат товаров от клиента».
Обычное перепроведение или распроведение и повторное проведение документов Возврат товаров от клиента зачастую не устраняет ошибку. Разберем по шагам, почему возникает эта коллизия и какими способами можно восстановить корректный расчет себестоимости.
Проанализируем внутренние механизмы партионного учета версии 2.2. При расчете себестоимости система выполняет валидацию первичных движений по регистрам накопления, в частности проверяет корректность полей Партия, КорПартия, ТипЗаписи, АналитикаУчетаПартий и вид деятельности НДС.
Основными источниками проблемы выступают:
Возврат товаров от клиента введен уже в периоде действия новой версии учета с указанием себестоимости «Из документа реализации», алгоритм пытается выполнить сторно расхода по устаревшей структуре данных.ДатаПереходаНаПартионныйУчетВерсии22 установлено некорректно (например, не с начала расчетного периода или позже даты первичных документов), регистры начинают требовать разные форматы движений в рамках одного месяца.Если возврат оформлен по реализации, созданной до перехода на партионный учет 2.2, наиболее быстрым и надежным решением является отключение автоматического подтягивания себестоимости из старого документа продажи. Выполним следующие действия:
Возврат товаров от клиента.В этом случае документ сформирует полноценное приходное движение новой партии, не требуя сторнирования старого расхода по неподдерживаемым правилам.
Проверим значение даты перехода на новую версию учета. Дата должна быть строго зафиксирована на первое число месяца, с которого база переведена на партионный учет 2.2. Посмотрим, как проверить значение через встроенный язык:
ДатаПерехода = Константы.ДатаПереходаНаПартионныйУчетВерсии22.Получить();
Если Не ЗначениеЗаполнено(ДатаПерехода) Тогда
Сообщить("Константа даты перехода не заполнена!");
Иначе
Сообщить("Партионный учет 2.2 действует с: " + Формат(ДатаПерехода, "ДФ=dd.MM.yyyy"));
КонецЕсли;
Если дата установлена в середине месяца, ее необходимо скорректировать на начало отчетного периода и заново выполнить закрытие месяца.
В некоторых случаях простого перепроведения возврата недостаточно из-за сохранения старых записей в регистрах. Рассмотрим правильную последовательность обновления данных:
Возврат товаров от клиента.Реализацию товаров и услуг).Возврат товаров от клиента заново.Если ручные корректировки и перепроведение документов не устраняют ошибку, а в коде типовой конфигурации регистр СебестоимостьТоваров валидирует тип движения как недопустимый для текущей версии партионного учета, причиной является ошибка релиза. В актуальных версиях 1С:Управление торговлей (старшие релизы 11.3 и ветка 11.4/11.5) алгоритмы проверки сторнирующих записей партионного учета были исправлены вендором. Обновление конфигурации до актуального релиза полностью устраняет данную системную ошибку.