Как убрать отрицательные резервы (минусы) в «1С:Управление торговлей 10.3»?

Пользователь 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

Выясняем первопричины появления отрицательных резервов

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

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

Шаг 1. Локализация проблемы с помощью стандартных отчетов

Для того чтобы понять, какой именно документ сделал «лишние» движения, нам не нужно вручную перебирать всю базу или структуру подчиненности. Мы воспользуемся штатными отчетами системы.

Во-первых, откроем отчет Анализ доступности товаров. Чтобы он показал нам полную картину, его необходимо правильно настроить:

  1. Нажмите кнопку Настройка на панели отчета.
  2. В структуре группировок добавьте следующие поля (строго в таком порядке): Номенклатура -> Склад -> Документ резерва.
  3. Сформируйте отчет. Теперь вы наглядно увидите, по какому именно заказу завис положительный остаток, а по какому образовался отрицательный.

Во-вторых, воспользуемся отчетом Товары в резерве на складах. Он строится напрямую по одноименному регистру накопления. Добавьте в группировки отчета поле Регистратор (это документ, который совершил движение). Это позволит вам посекундно отследить историю резервирования конкретной позиции номенклатуры. Вы сразу увидите, какой документ сделал приход (со знаком «плюс»), а какой — расход (со знаком «минус»), превышающий этот приход.

Шаг 2. Практические методы исправления отрицательных резервов

Рассмотрим несколько эффективных способов устранения обнаруженных ошибок в зависимости от ситуации в вашей базе данных.

Способ А. Очистка поля «Документ резерва» в табличной части (Решение с форума)

В конфигурации «Управление торговлей 10.3» существует важная техническая особенность проведения документов Перемещение товаров и Реализация товаров и услуг. В табличной части этих документов (на вкладке «Товары») присутствует скрытая или видимая колонка Документ резерва. Если в этой колонке напрямую указан заказ, программа при проведении пытается списать резерв именно по нему.

Если сам заказ был отменен, изменен или помечен на удаление, простое перепроведение перемещения или реализации не решит проблему! Нам необходимо вручную очистить эту связь:

  1. Откройте проблемный документ Перемещение товаров (или Реализация товаров и услуг), который делает некорректное движение по регистру.
  2. Перейдите в табличную часть «Товары».
  3. Найдите колонку Документ резерва (если ее не видно, нажмите правой кнопкой мыши по табличной части, выберите Настройка списка и установите флажок напротив этого поля).
  4. Очистите содержимое этого поля для той строки номенклатуры, по которой завис минус (или укажите там актуальный, действующий заказ).
  5. Проведите документ заново. Проверьте движения документа по регистру Товары в резерве на складах — отрицательный остаток должен исчезнуть.

Способ Б. Использование документа «Закрытие заказов покупателей»

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

Для автоматической очистки нереализованных положительных резервов используйте штатный документ Закрытие заказов покупателей (или Закрытие внутренних заказов). При его проведении система автоматически снимет все неиспользованные остатки резервов по указанным заказам. Обратите внимание: этот документ убирает только положительные остатки резервов. Если в заказе уже висит минус (то есть списали больше, чем было зарезервировано), данный инструмент сам по себе минус не закроет — сначала нужно выполнить очистку по Способу А.

Способ В. Корректировка записей регистров для закрытых периодов

Что делать, если отрицательный резерв тянется из прошлых периодов, которые уже закрыты для редактирования, сдана налоговая отчетность, и перепроводить старые документы перемещения или реализации категорически нельзя? В этом случае лучшим решением будет точечная корректировка регистров.

Для этого воспользуемся универсальным и безопасным механизмом:

  1. Перейдите в меню Операции — Документы и найдите документ Корректировка записей регистров. Создайте новый документ.
  2. В открывшейся форме нажмите кнопку Настройка регистров (в верхней панели).
  3. Перейдите на вкладку Регистры накопления, найдите в списке регистр Товары в резерве на складах, установите напротив него флажок и нажмите «ОК».
  4. В документе появится новая вкладка с именем этого регистра. Добавьте в нее строку.
  5. Заполните все поля строго в соответствии с зависшим минусом: укажите ту же номенклатуру, склад, характеристику и документ резерва (заказ), по которому возник минус.
  6. В поле Вид движения выберите значение «Приход» (чтобы перекрыть отрицательный остаток плюсом) и укажите то количество товара, на которое нужно скорректировать остаток.
  7. Проведите документ. Данная корректировка внесет изменения текущей датой, не затрагивая прошлые периоды и не нарушая партионный учет и себестоимость.

Способ Г. Автоматизация процесса с помощью внешних обработок

Если база данных ведется давно и отрицательных резервов накопилось слишком много, ручная очистка каждого документа перемещения превратится в рутину. В таких случаях целесообразно использовать внешние обработки для автоматического исправления. Найти готовые решения можно на специализированных порталах для разработчиков 1С. Для автоматизации повторяющихся действий в интерфейсе 1С без программирования подходят программные роботы.

Принцип работы таких обработок обычно сводится к следующему алгоритму:


// Пример логики автоматического поиска и исправления зависших резервов
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Резервы.Номенклатура,
    |	Резервы.Склад,
    |	Резервы.ДокументРезерва,
    |	Резервы.КоличествоОстаток КАК Остаток
    |ИЗ
    |	РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК Резервы
    |ГДЕ
    |	Резервы.КоличествоОстаток < 0";

РезультатЗапроса = Запрос.Выполнить();
// Далее обработка обходит выборку и автоматически очищает ссылки на несуществующие резервы
// в соответствующих документах-регистраторах или формирует документы корректировки регистров.

Перед запуском любых обработок автоматического исправления в рабочей базе обязательно делайте резервную копию (бэкап) базы данных! Сначала протестируйте работу алгоритма на копии базы, убедитесь с помощью отчетов, что все минусы закрылись корректно, и только после этого повторяйте процедуру на рабочей конфигурации. Для автоматического создания архивных копий и обслуживания баз 1С можно использовать специализированный инструмент.

← На главную