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