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