Настройка запрета продажи товаров с отрицательным остатком
Содержание
Запрет продажи в минус в 1С включается настройкой контроля остатков, но лежит она в разных местах. В 1С:Бухгалтерии 3.0 это один флажок в разделе Администрирование → Проведение документов. В «Управлении торговлей» 11 и ERP контроль встроен в учёт по складам, а жёсткость задаёт схема работы склада. В Рознице остаток проверяется на кассе.
Выбор способа зависит от задачи. Флажок контроля остатков хватает, когда все продажи проводят текущей датой и склад один. Резервирование под заказ помогает, когда на один товар претендуют несколько менеджеров. Ордерная схема даёт физический запрет: товар не уйдёт, пока его не отобрали на складе. А нестандартную конфигурацию без готовой галочки закрывают доработкой через расширение.
Чем опасен отрицательный остаток на складе
Продажа товара, которого фактически нет, — это не безобидное «потом поправим». Минус по складу тянет за собой цепочку ошибок в учёте.
- 📉 Себестоимость считается неверно. При списании в минус 1С нечего взять за основу средней стоимости, расчёт партий ломается, а закрытие месяца выдаёт отрицательные суммы.
- 📊 Отчёты по остаткам врут.
Ведомость по товарами оборотно-сальдовая по счёту 41 показывают числа, которых нет в реальности. - 🧾 Нарушается учёт запасов. По ФСБУ 5/2019 запасы отражают по фактическому наличию — отрицательное количество этому прямо противоречит.
- 🤝 Клиенту обещают то, чего нет. Менеджер видит доступный остаток в программе и резервирует воздух, а на складе пусто.
Покажу на числах, как минус ломает себестоимость. Купили 10 штук по 100 ₽ — на складе 10 шт и 1000 ₽. Продали 12 штук, списав по средней 100 ₽, то есть 1200 ₽. Остаток стал −2 штуки и −200 ₽ по сумме. Дальше приходит партия 5 штук по 120 ₽ на 600 ₽. Количество становится 3, сумма — 400 ₽, а средняя себестоимость — 400 ÷ 3 ≈ 133 ₽ вместо реальных 120 ₽. Каждая следующая продажа уносит искажённую стоимость в финансовый результат.
Чем дольше база работает с минусами, тем дороже уборка. Исправлять приходится не один документ, а всю последующую цепочку движений по номенклатуре.
Поэтому запрет лучше включить до того, как минусы накопятся, а не после инвентаризации, которая вскроет расхождение на складе.
Где включается контроль остатков в типовых конфигурациях
Главный механизм называется контроль остатков при проведении документов. Когда он включён, 1С проверяет остаток в момент проведения продажи и, если товара не хватает, проводить документ не даёт.
В 1С:Бухгалтерии 3.0 путь такой:
- Откройте
Администрирование → Проведение документов. - Поставьте флажок «Контролировать остатки товаров при проведении документов».
- Запишите настройку и перепроведите текущие документы при необходимости.
После этого при проведении Реализации товаров и услуг сверх остатка программа выдаёт отказ с указанием номенклатуры и склада, по которым не хватает количества. Документ останется непроведённым.
Настройка общая для всей базы. Включить её для одного пользователя и выключить для другого нельзя — контроль работает на уровне проведения документов, а не прав доступа.
В УТ 11, ERP и «Комплексной автоматизации» 2 отдельной галочки «запретить минус» нет: контроль встроен в учёт по складам. При проведении расходного документа система проверяет свободный остаток и при нехватке сообщает о превышении доступного количества. Жёсткость этого контроля настраивается на складе и зависит от оперативности проведения — об этом ниже.
Доступный остаток в УТ и ERP считается не по «физическому» количеству, а по формуле: остаток на складе минус то, что зарезервировано под другие заказы, минус то, что уже отгружается. Именно это доступное число система сравнивает с продаваемым количеством. Поэтому товар может лежать на складе, но для новой продажи быть недоступным — он уже обещан другому заказу.
Настройка запрета по конфигурациям 1С
Путь и логика различаются, поэтому удобнее смотреть по таблице.
| Конфигурация | Где искать | Что сделать |
|---|---|---|
| Бухгалтерия 3.0 | Администрирование → Проведение документов | Включить флажок контроля остатков товаров |
| Управление торговлей 11, ERP, КА 2 | Карточка склада + НСИ и администрирование → Склад и доставка | Контроль работает при оперативном проведении; для строгого — ордерная схема |
| Розница 2.x / 3.0 | Настройки продаж и кассы (РМК) | Включить проверку остатка при пробитии чека |
| Управление нашей фирмой | Раздел закупок и склада, настройки учёта | Задать контроль остатков при отгрузке |
Пояснения к строкам таблицы.
Бухгалтерия 3.0. Единственная галочка закрывает задачу для складской торговли на счёте 41. Контроль срабатывает на проведении Реализации, Перемещения, Списания.
Управление торговлей и ERP. Здесь продать больше, чем числится свободным, система при оперативном проведении не даёт сама. Доступный остаток — это физический остаток минус резервы. Для абсолютного запрета склад переводят на ордерную схему (см. раздел про резервирование).
Розница. Контроль задаётся в настройках продаж; название пункта в разных релизах может отличаться. Смысл один: при попытке пробить в чеке товар, которого нет на остатке, касса либо предупреждает, либо блокирует продажу.
УНФ. Контроль остатков включается в настройках учёта раздела закупок и склада. Проверьте настройку на тестовой копии перед включением на рабочей базе — она влияет на проведение всех отгрузочных документов.
Запрет минуса через резервирование и ордерный склад
Флажок контроля проверяет остаток на момент проведения. Но если два менеджера одновременно оформляют один и тот же товар, оба видят его свободным. Здесь помогает резервирование.
Резерв под заказ клиента
. Когда товар зарезервирован заказом, он вычитается из свободного остатка. Второй менеджер уже не продаст зарезервированное количество — для него оно недоступно. Резервирование включают в Заказе клиента в УТ, ERP и УНФ.
Резерв задаётся в строках заказа через вариант обеспечения. Для позиции выбирают действие вроде «Резервировать на складе» или «Отгрузить» — выбранное количество удерживается за этим заказом и из свободного остатка уходит. Снять резерв можно, изменив вариант обеспечения или отменив заказ.
Важно: резерв сам по себе минус не запрещает. Он распределяет уже имеющийся остаток между заказами и не даёт продать одно и то же дважды. Контроль остатков и резервирование работают в паре: контроль не пускает в минус, резерв делит доступное между клиентами честно.
Ордерная схема склада. Самый строгий вариант. На ордерном складе товар физически покидает склад только по Расходному ордеру на товары, который оформляет кладовщик после фактического отбора.
- Менеджер выписывает реализацию или заказ — это распоряжение.
- Кладовщик видит задание на отгрузку и отбирает товар.
- Расходный ордер создаётся на то количество, которое реально есть.
При ордерной схеме уйти в минус почти невозможно: нельзя отгрузить то, что кладовщик не нашёл на полке. Схема включается в карточке склада переключателем использования ордеров на отгрузку.
Ордерный склад оправдан на крупных складах с разделением ролей менеджера и кладовщика. Для небольшой торговли достаточно контроля остатков и резервов.
Отдельно стоит следить за минусом по маркированным товарам. Для продукции под «Честным знаком» каждое выбытие должно опираться на реально числящийся на остатке код маркировки. Если склад ушёл в минус, движение марок перестаёт биться с количеством, и расхождение всплывает уже при передаче данных оператору. Здесь запрет продажи в минус — не вопрос удобства, а условие корректной отчётности по прослеживаемости.
Доработка для строгого контроля остатков
Если конфигурация дописана и типовой галочки нет, запрет добавляют доработкой. Менять типовую конфигурацию снятием с поддержки не нужно — используйте расширение. Расширения конфигурации доступны с платформы 8.3.6 и обновлению базы не мешают.
Логика простая: после записи движений по регистру остатков запросить строки с отрицательным количеством и, если они есть, установить отказ в проведении.
// Расширение, обработка проведения документа реализации.
// Движения по регистру остатков к этому моменту уже записаны.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.Склад КАК Склад
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК Остатки
|ГДЕ
| Остатки.ВНаличииОстаток < 0";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Отказ = Истина;
Сообщить(СтрШаблон(
"Недостаточно «%1» на складе «%2»",
Выборка.Номенклатура, Выборка.Склад));
КонецЦикла;
Имя ресурса остатка зависит от конфигурации: в УТ 11 это ВНаличии (поле ВНаличииОстаток), в Бухгалтерии 3.0 — Количество (поле КоличествоОстаток). Подставьте то, что есть в вашем регистре.
Запрос остатков должен выполняться уже после записи движений документа, иначе он не увидит новое списание. Встраивайте проверку в обработку проведения после формирования движений, а не до.
Если вы не уверены в точных именах регистра и ресурса конкретной базы — откройте конфигуратор и посмотрите состав регистра накопления по складу, а не подставляйте имена наугад. Ошибка в имени поля остановит проведение всех документов.
Проверять расширение всегда начинайте на копии рабочей базы. Прогоните на ней продажу сверх остатка, частичную отгрузку и возврат — убедитесь, что запрет срабатывает только там, где нужно, и не мешает корректным документам. Только после этого подключайте расширение к рабочей базе.
Частые ошибки при настройке запрета продажи в минус
Контроль включили, а минусы всё равно появляются. Обычно причина в одном из этих пунктов.
- 🕒 Проведение задним числом. Контроль остатков в УТ и ERP строго работает при оперативном проведении (текущей датой). Если документ провести прошлой датой, последующие расходы могут увести остаток в минус — проверка смотрит момент проведения, а не конец дня.
- 🔁 Перепроведение цепочки. Включили галочку в уже работающей базе — старые документы, проведённые до этого, минус не пересчитывают. Контроль действует только на новые проведения и перепроведения.
- 📦 Путаница ордерного и обычного склада. На обычном складе товар списывается сразу реализацией, на ордерном — расходным ордером. Настройка запрета на «не тот» механизм не сработает.
- 🧮 Инвентаризация и ввод остатков
. Документы
Оприходование,Инвентаризация,Ввод начальных остатковконтроль не ограничивает — они и предназначены для исправления количества. - 📐 Продажа в другой единице измерения. Товар приходуют в коробках, а продают в штуках — ошибка в коэффициенте пересчёта упаковки «съедает» остаток и создаёт минус там, где по факту товар есть. Сверьте упаковки и коэффициенты в карточке номенклатуры.
Если база уже накопила минусы, одного включения галочки мало. Сначала выровняйте остатки инвентаризацией или оприходованием, затем перепроведите цепочку документов по проблемной номенклатуре.
Ещё одна типичная история — ждут, что запрет закроет возвраты. Возврат товара остаток увеличивает, в минус он не уводит, и контроль его не блокирует.
Частые вопросы
Почему 1С всё равно пропускает минус при включённом контроле?
Можно запретить минус только по одному складу?
Запрет мешает проводить инвентаризацию и оприходование?
Влияет ли запрет на расчёт себестоимости?
Как временно разрешить продажу в минус?
Администрировании), проведите нужный документ и верните настройку обратно. В УТ продать в минус позволяет неоперативное проведение, но злоупотреблять этим не стоит.Источники
- ФСБУ 5/2019 «Запасы»