Как исправить ошибку проведения отчета о розничных продажах при возврате товаров не день в день в 1С:Бухгалтерия 3.0?

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

При ведении розничной торговли в связке программ «1С:Розница 2.2» и «1С:Бухгалтерия предприятия 3.0» пользователи часто сталкиваются с ситуацией, когда покупатель возвращает товар, приобретенный в предыдущие дни (не «день в день»). После закрытия кассовой смены и синхронизации данных документ Отчет о розничных продажах в бухгалтерской программе отказывается проводиться с ошибкой: «Некорректно заполнен список „Безналичные оплаты“. Сумма безналичных оплат превышает сумму выручки от реализации!». При этом оплата и возврат производились исключительно наличными средствами, а вкладка Безналичные оплаты пуста.

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

Выясним причину ошибки проведения документа

Проанализируем алгоритм проверки, заложенный в модуле документа Отчет о розничных продажах в конфигурации «1С:Бухгалтерия предприятия 3.0». При проведении документа программа выполняет сверку итогов выручки и безналичных оплат по следующему математическому условию:


Если СуммаБезналичныхОплат > СуммаВыручки Тогда
    // Вывод сообщения об ошибке
    ТекстОшибки = НСтр("ru = 'Некорректно заполнен список ""Безналичные оплаты"". Сумма безналичных оплат превышает сумму выручки от реализации!'");
КонецЕсли;

Рассмотрим, что происходит со значениями переменных в смене, когда продаж не было, а был оформлен только возврат товара за прошлую смену:

  1. Сумма выручки рассчитывается как итог по табличной части Товары. Если там присутствует только возврат со знаком «минус» (например, -500 руб.), итоговая выручка становится отрицательной: -500.
  2. Сумма по табличной части Безналичные оплаты равна 0, так как эквайринг не применялся.
  3. Система выполняет сравнение: 0 > -500. Математически ноль строго больше любого отрицательного числа, поэтому условие возвращает Истина.
  4. Система блокирует проведение и выдает ложное сообщение о превышении безналичных оплат, хотя фактически проблема заключается в отрицательном значении общей выручки.

Кроме того, архитектура документа Отчет о розничных продажах в 1С:Бухгалтерии исторически предполагает отражение возвратов не через отрицательные строки в табличной части Товары, а на специализированной закладке Возвраты с положительными суммами и количествами.

Способ 1. Ручная корректировка строк внутри документа в 1С:Бухгалтерии

Если обмен уже загрузил проблемный документ в базу 1С:Бухгалтерия, разберем по шагам, как исправить его без изменения конфигурации:

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

Способ 2. Оформление операции отдельным документом «Возврат товаров от покупателя»

Если смена состояла исключительно из возврата денег клиенту и не содержала реализации, отражать ее через Отчет о розничных продажах методологически некорректно. Рассмотрим порядок отражения через индивидуальные документы:

  1. В 1С:Бухгалтерии пометим на удаление пустой отрицательный Отчет о розничных продажах, пришедший по обмену.
  2. Создадим документ Возврат товаров от покупателя (раздел Продажи). В качестве вида операции выберем «Возврат от розничного покупателя».
  3. Укажем возвращенный товар с положительными суммовыми показателями. В качестве счета расчетов с контрагентом укажем транзитный счет 62.Р.
  4. На основании возврата оформим документ Выдача наличных (РКО) с видом операции «Возврат покупателю», где также используется счет 62.Р. При проведении РКО на фискальном регистраторе пробивается чек возврата расхода/прихода в соответствии с требованиями 54-ФЗ.

Способ 3. Программное исправление проверки через расширение конфигурации

Для автоматического решения проблемы без снятия конфигурации с поддержки создадим небольшое расширение для «1С:Бухгалтерия предприятия 3.0». Перехватим процедуру проверки документа перед проведением.

Посмотрим на пример логики, которую необходимо встроить в обработчик:


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

    // В противном случае вызываем стандартную логику проверки
    ПродолжитьВызов(Отказ);
КонецПроцедуры

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

Способ 4. Обновление конфигураций и правил синхронизации

В более свежих релизах конфигураций «1С:Розница» (начиная с версий 2.2.6+) и «1С:Бухгалтерия предприятия» (3.0.50+) разработчики фирмы «1С» оптимизировали правила конвертации формата EnterpriseData. В обновленных правилах возвраты за прошлые смены автоматически транслируются в табличную часть Возвраты документа Отчет о розничных продажах либо выгружаются отдельными документами возврата.

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

← На главную