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