Как оформить возврат товаров в 1С:ERP 2.5 после свертки базы, если месяц не закрывается из-за отсутствия партии?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Торговля и дистрибуция
← На главную

Свертка базы данных в сложных конфигурациях, таких как 1С:ERP Управление предприятием 2.5, — это всегда серьезный вызов. Одной из самых распространенных проблем, возникающих уже после завершения процедуры свертки и начала работы в «чистой» базе, является обработка возвратов от покупателей за прошлые периоды. Чтобы процедура прошла гладко, часто требуется предварительная подготовка базы к сворачиванию данных по товарам с автоматическим наполнением документов ввода остатков.

Рассмотрим ситуацию: свертка выполнена на 31.12.2023. Документы реализации за 2023 год удалены или помечены на удаление, остатки перенесены. В 2024 году клиент возвращает товар, купленный в 2023 году. При попытке оформить документ Возврат товаров от клиента и последующем закрытии месяца возникает ошибка в регистре СебестоимостьТоваров, так как система не может найти партию (документ реализации), чтобы корректно сторнировать себестоимость.

Разберем подробно несколько способов решения этой проблемы, от штатных настроек документа до технических методов исправления.

Понимание механизма партионного учета при возвратах

Прежде чем приступать к исправлению, давайте разберемся, почему возникает ошибка. В 1С:ERP 2.5 используется сложный механизм расчета себестоимости (РАУЗ/ФИФО скользящая и т.д.). Когда мы проводим Возврат товаров от клиента, система пытается выполнить два основных действия:

  1. Вернуть товар на склад (количественный учет).
  2. Вернуть стоимость этого товара на склад (суммовой учет).

Чтобы определить, какую именно стоимость вернуть, система обращается к документу-основанию (партии) — Реализация товаров и услуг. Она смотрит, какая себестоимость была списана при продаже, и восстанавливает её. Если база свернута, документ реализации либо отсутствует (удален), либо помечен на удаление и не имеет движений. Цепочка разрывается, и механизм расчета себестоимости выдает ошибки. В таких случаях для диагностики полезно использовать отчет для поиска ошибок в учете, который сравнивает остатки на складах и данные организаций.

Способ 1: Прямой ввод себестоимости (Штатный механизм)

Самый безопасный и методологически верный способ для единичных случаев, который не требует создания фиктивных документов, заключается в использовании настроек самого документа возврата.

В документе Возврат товаров от клиента на вкладке Товары есть колонка, отвечающая за способ определения себестоимости. В стандартном режиме она настроена на автоматический расчет по документу продажи. Нам необходимо изменить это поведение.

Давайте выполним следующие действия:

  1. Откроем проблемный документ Возврат товаров от клиента.
  2. Перейдем на вкладке Товары.
  3. Найдем колонку, отвечающую за способ определения себестоимости (в разных версиях ERP она может называться «Способ определения себестоимости» или быть скрыта в настройках табличной части).
  4. Установим значение «Определяется вручную» (или «Указывается вручную»).
  5. После выбора этого варианта станут доступны поля для ввода суммы себестоимости. Узнать точные значения поможет отчет по остаткам товаров организаций с себестоимостью на дату последней закупки.
  6. Укажем себестоимость товара вручную. Значение можно взять из архива, копии базы до свертки или использовать оценочную стоимость.

При таком подходе система не будет пытаться найти удаленную Реализацию товаров и услуг для сторнирования движений по регистру СебестоимостьТоваров. Вместо этого она приходует товар на склад по указанной вами цене. Это позволяет корректно закрыть месяц.

Способ 2: Использование документа «Ввод начальных остатков» (Методологический)

Если свертка была произведена корректно, то остатки товаров и взаиморасчетов должны были быть перенесены на документы Ввод начальных остатков (ВНО). С точки зрения системы, после свертки история начинается именно с этих документов.

Если клиент возвращает товар, который был продан до даты свертки, логичнее всего «привязать» этот возврат к вводу остатков, а не к несуществующей реализации. Для корректного сопоставления данных можно применить внешний отчет для сравнения товаров на складах и себестоимости, который покажет расхождения в регистрах.

Посмотрим, как это сделать:

  1. Если товар был на остатках на момент свертки, документ ВНО уже существует. Однако, в нашем случае товар был продан, то есть на складе его не было.
  2. Мы можем создать технический документ «Ввод начальных остатков» датой свертки (например, 31.12.2023).
  3. Заполним этот документ только той номенклатурой, которая возвращается.
  4. В качестве вида операции можно выбрать «Ввод остатков собственных товаров».

Важный нюанс: При таком подходе мы фактически говорим системе, что этот товар «появился» у нас 31.12.23. В документе Возврат товаров от клиента в поле «Документ реализации» мы выбираем именно этот созданный Ввод начальных остатков.

Способ 3: Создание технической «пустышки» (Технический обход)

В обсуждении на форуме специалисты предложили метод, который позволяет «обмануть» систему проверки целостности ссылок, создав временные документы. Этот метод эффективен, если нужно массово исправить ошибки.

Суть метода заключается в создании документа-основания, проведении его для формирования записей, а затем очистке его движений. Если в процессе манипуляций возникнут лишние записи в регистрах, пригодится универсальная корректировка и чтение остатков регистра накопления.

Разберем алгоритм действий пошагово:

  1. Создание документа-основания. Создаем документ Реализация товаров и услуг задним числом.
  2. Проведение. Проводим этот документ для формирования заданий к расчету себестоимости.
  3. Оформление возврата. В документе Возврат товаров от клиента выбираем эту новую реализацию в качестве основания.
  4. Очистка движений реализации. Нам нужно очистить движения, но оставить сам документ проведенным, чтобы ссылка работала.

Более безопасный вариант реализации этого метода — использовать документ Операция (регл. учет) или Корректировка регистров, который сторнирует движения этой реализации «в ноль» той же датой.

Пример логики кода для программной очистки движений:


// Примерный алгоритм очистки движений для конкретного документа
ДокОбъект = СсылкаНаРеализацию.ПолучитьОбъект();
ДокОбъект.Движения.Очистить(); // Очищаем коллекции движений
ДокОбъект.Записать(РежимЗаписиДокумента.Запись); // Записываем без проведения

Если из-за некорректных возвратов в базе образовалась «краснота», рекомендуем использовать обработку для автоматического устранения отрицательных остатков, которая массово создает документы оприходования излишков.

Проблема НДС при возвратах без основания

Помимо себестоимости, при свертке и потере исходных документов возникает проблема с НДС. Если возврат оформляется как корректировочный, для корректного формирования записи книги покупок требуется ссылка на исходный счет-фактуру.

Если исходный счет-фактура удален:

  1. Штатный механизм вычета НДС может не сработать.
  2. Вам может потребоваться создать документ Запись книги покупок вручную.
  3. В этом документе на вкладке «Ценности» нужно будет вручную заполнить данные о возврате, указав ставку НДС и сумму.

Заключение

При работе с возвратами в ERP 2.5 после свертки базы мы рекомендуем придерживаться следующей приоритетности решений:

  1. Способ №1 (Ручной ввод себестоимости): Используйте его, если возвратов немного.
  2. Способ №2 (Ввод остатков): Используйте его для сохранения методологической целостности.
  3. Способ №3 (Технические документы): Прибегайте к нему только в крайнем случае при массовых корректировках.

Также настоятельно рекомендуем установить Дату запрета изменения данных для всех пользователей на дату свертки (31.12.2023), чтобы случайное перепроведение документов в прошлом периоде не нарушило целостность базы.

← На главную