При работе в 1С:Бухгалтерия 8.3 (редакции ПРОФ и КОРП) пользователи часто сталкиваются с парадоксальной ситуацией: документ Возврат товаров от покупателя, созданный на основании реализации, отказывается проводиться. Программа выдает ошибку вида: «Документом Реализация товаров и услуг №... от ... было реализовано "Товар" на 1 ед. меньше, чем возвращается». Самое странное в этой ситуации то, что если установить дату возврата в том же месяце, что и реализация, документ проводится без проблем. Но как только дата переносится на первое число следующего месяца — возникает блокировка.
Рассмотрим детально, почему так происходит, и разберем пошагово методы решения этой проблемы, основываясь на практическом опыте специалистов и особенностях механизмов 1С.
Проанализируем одно из самых простых, но эффективных решений, которое помогло многим пользователям. Часто проблема кроется не в физическом отсутствии товара, а в «зацикливании» механизмов сопоставления расчетов по конкретному договору. Программа при переходе через границу месяца может некорректно подтягивать остатки по регистру Сведения о товарах или Расчеты с покупателями — исправить ошибки на стыке периодов поможет обработка исправления взаиморасчетов и закрытия периода для 1С.
Попробуем выполнить следующие действия:
Выясним истинную причину ошибки, заглянув «под капот» программы. Ошибка «реализовано меньше» означает, что в специальном внутреннем регистре, который контролирует цепочку «Реализация — Возврат», количество товара по данному документу основания уже обнулено или изменено.
Разберем, как проверить остатки по регистрам:
Продажи, в зависимости от версии конфигурации).Если в отчете мы видим, что количество по нужной реализации на конец месяца равно нулю или меньше, чем мы пытаемся вернуть, значит, по этой реализации уже были другие возвраты или Корректировки реализации. Вспомним, не оформлялись ли исправительные документы, которые могли уменьшить объем исходной отгрузки.
Проанализируем ситуацию с точки зрения хронологии. В 1С:Бухгалтерия существует регламентная операция Корректировка стоимости номенклатуры, которая выполняется при закрытии месяца — выявить ошибки учета перед закрытием периода поможет дополнительная экспресс-проверка ведения учета в 1С:Бухгалтерии. Она пересчитывает себестоимость и может изменять движения партий.
Когда мы пытаемся сделать возврат в новом месяце, программа обращается к итогам предыдущего месяца. Если период уже закрыт, и была выполнена корректировка стоимости, механизм возврата может конфликтовать с рассчитанными итогами.
Рекомендуемые действия:
Если логических объяснений нет (товара в реализации достаточно, корректировок не было), велика вероятность повреждения итогов или кэша таблиц. Посмотрим, как это исправить техническими средствами.
Выполним тестирование и исправление (ТИИ):
После пересчета итогов система заново соберет данные о том, сколько товара было реализовано фактически по каждому документу, и ошибка может исчезнуть сама собой.
В конфигурациях КОРП учет часто ведется в разрезе ГТД. Если в документе реализации был указан конкретный номер ГТД, а при возврате программа не может сопоставить его с остатками на складе (например, из-за ручных операций по переносу ГТД), возникнет ошибка контроля остатков.
Проанализируем движения документа реализации:
Нажмем кнопку Дт/Кт в реализации и проверим вкладку Реализованные товары (или аналогичный регистр по ГТД). Убедимся, что при возврате в табличной части указаны те же самые номера ГТД, что были в отгрузке. Если они отличаются даже на один символ — программа посчитает, что этот товар не отгружался.
Для программистов и опытных пользователей полезно будет проверить остатки напрямую через консоль запросов, чтобы исключить влияние интерфейсных фильтров. Рассмотрим пример запроса к остаткам реализованных товаров:
ВЫБРАТЬ
РеализованныеТоварыОстатки.Номенклатура,
РеализованныеТоварыОстатки.ДокументОтгрузки,
РеализованныеТоварыОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.РеализованныеТовары.Остатки(&Период, ДокументОтгрузки = &СсылкаНаРеализацию) КАК РеализованныеТоварыОстатки
Параметр &Период следует установить на дату возврата. Если КоличествоОстаток возвращает 0, значит, с точки зрения регистра товар уже был возвращен или списан иным образом.
Подводя итог, можно сказать, что ошибка «Реализовано меньше, чем возвращается» — это защитный механизм программы от затоваривания склада «мнимыми» возвратами. Чтобы её победить, нужно последовательно исключить:
Следование этим шагам позволит вам успешно провести документ и сохранить корректность бухгалтерского учета.