Почему не проводится списание товара в 1С:УПП, если на складе он есть?

Пользователь 1С v8.3 (Обычные формы) Управленческий учет Промышленность, строительство и АПК
← На главную

Часто пользователи 1С:Управление производственным предприятием (УПП) сталкиваются с ситуацией, которая на первый взгляд кажется нелогичной. Вы открываете отчет по остаткам, видите, что нужный товар на складе есть в достаточном количестве, но при попытке провести документ Списание товаров система выдает ошибку о нехватке остатков. Особенно perplexing ситуация становится, когда на другом складе по этому же товару числится отрицательный остаток.

Рассмотрим классический пример: на «Основном складе» числится 13 единиц товара, а на «Производственном складе» — минус 12 единиц. В отчете по «Основному складу» все хорошо, но документ списания с этого склада ругается, что в остатке всего 1 единица. Давайте разберемся, почему так происходит и как с этим бороться.

Основная причина: разница между управленческим и регламентированным учетом

Ключ к пониманию проблемы лежит в том, что 1С:УПП — это комплексная система, которая ведет учет одновременно в нескольких «измерениях» или, говоря техническим языком, по разным регистрам накопления. Для нас важны два основных вида учета:

  1. Управленческий учет (складской). За него отвечает регистр Товары на складах. Он показывает физическое наличие товаров на конкретных складах. Именно его вы, скорее всего, видите в большинстве складских отчетов. Согласно этому регистру, на «Основном складе» действительно лежит 13 единиц товара.
  2. Регламентированный учет (бухгалтерский). За него отвечает регистр Товары организаций. Этот регистр отслеживает товары в собственности конкретной организации, без жесткой привязки к складу. Он важен для расчета себестоимости, формирования финансовой отчетности и правильного учета НДС.

Документ Списание товаров при проведении делает движения сразу по нескольким регистрам. И если по складскому учету (Товары на складах) остатка может хватать, то по учету организации (Товары организаций) его может не быть. Система суммирует остатки по всем складам, чтобы понять, сколько товара принадлежит организации в целом. В нашем примере это 13 + (-12) = 1 единица. Именно этот остаток и проверяется при списании, поэтому система выдает ошибку.

Почему так сделано? Это не ошибка, а защитный механизм. Он не позволяет списать товар, который юридически еще не принадлежит организации (например, приходный документ проведен более поздней датой, чем расходный), что предотвращает хаос в расчете себестоимости и финансовом учете.

Анализ и диагностика ситуации

Прежде чем что-то исправлять, нужно точно убедиться в причине. Проанализируем ситуацию по шагам.

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

Способы решения проблемы

Рассмотрим несколько методов решения, от самого правильного до временных «костылей» для экстренных случаев.

Решение 1: Восстановление учета (рекомендуемый способ)

Это самый правильный и надежный путь, который наводит порядок в системе. Суть его в том, чтобы устранить саму причину отрицательных остатков.

  1. Найдите документ, который создал отрицательный остаток в -12 единиц на «Производственном складе». Проанализируйте всю цепочку документов по этой товарной позиции.
  2. Скорее всего, вы обнаружите, что какой-то приходный документ (например, Оприходование товаров или Поступление товаров и услуг) был введен датой или временем позже, чем документ расхода.
  3. Исправьте дату и время проблемных документов так, чтобы они соответствовали реальной хронологии операций: сначала приход, потом расход.
  4. После исправления дат перепроведите все документы, начиная с самого раннего из измененных. Это можно сделать вручную или с помощью групповой обработки проведения документов.

После наведения порядка в учете отрицательный остаток исчезнет, и ваш документ списания проведется без проблем.

Решение 2: Неоперативное проведение документа

В 1С существует два режима проведения документов: оперативный и неоперативный.

Если вам нужно провести документ срочно, а разбираться с причинами нет времени, попробуйте снять галочку «Оперативное проведение» в документе (или провести его через кнопку «Провести», предварительно сняв с проведения). Часто это помогает, так как система предполагает, что вы позже восстановите правильную последовательность.

Решение 3: Временный фиктивный приход (экстренный метод)

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

Алгоритм действий следующий:

  1. Создайте документ Оприходование товаров на «Производственный склад» на недостающее количество (12 единиц).
  2. Установите дату и время этого документа раньше, чем дата и время вашего документа списания.
  3. Проведите документ оприходования. Теперь общий остаток по организации станет 13 - 12 + 12 = 13 единиц.
  4. Проведите ваш проблемный документ Списание товаров. Он должен провеcтись.
  5. Обязательно пометьте на удаление и удалите созданный вами фиктивный документ оприходования.

Этот способ позволяет обмануть систему на короткое время, но не решает первопричину проблемы.

Решение 4: Использование отладчика (для программистов)

Если вы являетесь разработчиком 1С или у вас есть доступ к конфигуратору, наиболее точный способ выяснить причину — это отладка.

Поставьте точку останова в модуле объекта документа Списание товаров в процедуре ОбработкаПроведения(). Запустите проведение в режиме отладки и пошагово пройдитесь по коду. Вы сможете увидеть, какой именно запрос к базе данных возвращает некорректный остаток, какие параметры используются при проверке и в какой момент срабатывает отказ в проведении.

← На главную