Почему «Отчет о розничных продажах» в 1С:Розница 2.2 проводит товары в минус задним числом и как это исправить?

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

В процессе работы с конфигурацией «1С:Розница 2.2» пользователи часто сталкиваются с нестандартным поведением системы: новые создаваемые документы блокируются при отсутствии товара на складе, тогда как документы прошлых периодов спокойно перепроводятся с образованием отрицательных остатков. Рассмотрим подробно логику работы платформы и выясним, почему возник такой сбой и как восстановить корректный учет.

Разберем причины разницы в проведении новых и старых документов

Основная причина описанного поведения заключается в фундаментальном различии между оперативным и неоперативным проведением документов в платформе «1С:Предприятие 8».

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

Как выявить причину образования отрицательных остатков

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

  1. Откроем карточку проблемной номенклатуры в справочнике Номенклатура.
  2. Перейдем в отчет «Анализ движений» (или сформируем отчет по регистру ТоварыНаСкладах с детализацией по регистраторам).
  3. Отследим хронологию документов. В большинстве случаев цепочка выглядит следующим образом: товар продается кассовыми чеками, создается документ ОтчетОРозничныхПродажах, а документы прихода (ПоступлениеТоваров или ОприходованиеТоваров) вносятся в базу позже или задним числом.
  4. Если поступление было введено после продажи, то на дату проведения отчета о розничных продажах остаток уходит в минус, хотя на текущий день итоговое количество может перекрываться.

Пошаговый алгоритм исправления минусовых остатков

Рассмотрим порядок действий для восстановления правильной последовательности и устранения минусов на складах:

  1. Проверим настройки контроля остатков:

    Перейдем в раздел администрирования и проверим дополнительные права пользователей. Убедимся, что для роли пользователя включена опция «Контролировать остатки и резерв товаров на складе».

  2. Исправим даты первичных документов:

    Если товары были фактически получены раньше, чем оформлена розничная продажа, установим дату и время документа поступления или оприходования **строго раньше** первого документа списания (например, начало дня или предыдущие сутки).

  3. Отменим проведение и восстановим последовательность:

    Нельзя просто нажимать «Провести» в произвольном старом документе. Чтобы алгоритм пересчитал остатки корректно, необходимо:

    1. Снять с проведения все расходные и приходные документы по данной позицией номенклатуры за восстанавливаемый период.
    2. Последовательно провести документы в строгом хронологическом порядке: сначала поступления, затем списания и отчеты о розничных продажах.

Доработка контроля остатков при неоперативном проведении

Если бизнес-процесс требует полного запрета проведения документов в минус при любых условиях (включая неоперативное проведение задним числом), стандартных настроек программы может быть недостаточно. В этом случае задачу решают путем создания расширения конфигурации.

В расширении перед выполнением стандартной процедуры проведения документа ОтчетОРозничныхПродажах добавляется явная проверка наличия остатков на дату документа по регистру ТоварыНаСкладах:


&НаСервере
Процедура ПередЗаписьюРасширение(Отказ, РежимЗаписи, РежимПроведения)
    
    // Принудительно проверяем остатки даже при неоперативном проведении
    Если РежимПроведения = РежимПроведенияДокумента.Неоперативный Тогда
        // Вызов функции проверки остатков по регистру ТоварыНаСкладах
        Если Не ПроверитьНаличиеТоваровНаСкладе(ЭтотОбъект) Тогда
            Отказ = Истина;
            ВызватьИсключение "Недостаточно остатков товара на складе для проведения документа!";
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

Таким образом, для предотвращения появления отрицательных остатков необходимо следить за своевременным вводом приходных документов, соблюдать хронологию проведения и корректно использовать механизмы оперативного учета в «1С:Розница 2.2».

← На главную