Почему возникают отрицательные остатки при закрытии смены в 1С:УТ 11 и как настроить контроль?

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

Проблема отрицательных остатков при формировании документа «Отчет о розничных продажах» (ОРП) — одна из самых частых и неприятных ситуаций в торговых решениях на базе 1С:Предприятия 8.3 (УТ 11, ERP, КА). Ситуация выглядит парадоксально: кассиры бьют чеки, система якобы контролирует остатки, но в конце дня итоговый отчет не проводится из-за нехватки товара. Давайте вместе разберем эту проблему, проанализируем программный код и выясним, в какую сторону смотреть администратору или программисту.

Различие в механизмах контроля «Чека ККМ» и «ОРП»

Первое, что мы должны понять: в современных конфигурациях 1С (УТ 11, ERP) контроль остатков в документе ЧекККМ и в итоговом документе ОтчетОРозничныхПродажах работает по разным алгоритмам и регистрам. Проанализируем типичную ситуацию: ЧекККМ проверяет наличие товара на конкретном складе «физически», а ОРП при проведении делает более глубокие проверки, включая регистр ТоварыОрганизаций.

Если в программе настроена схема Интеркампани (продажа товаров между собственными организациями), то ЧекККМ может пробиться без проблем, так как товар физически есть на складе (но числится на другой организации). Однако при закрытии смены ОРП попытается списать товар именно с той организации, которая указана в настройках торговой точки. Если документ Передача товаров между организациями еще не оформлен, ОРП выдаст ошибку отсутствия остатка.

Технический анализ: Как система проверяет остатки в чеке

Рассмотрим, как реализован контроль в коде документа ЧекККМ. За формирование списка регистров, по которым будет производиться проверка, отвечает процедура СформироватьСписокРегистровДляКонтроля. Посмотрим на пример кода, актуальный для текущих релизов систем на базе ERP-платформы:


Процедура СформироватьСписокРегистровДляКонтроля()
    
    Массив = Новый Массив;
    
    Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
        Массив.Добавить(Движения.СвободныеОстатки);
        Массив.Добавить(Движения.ТоварыНаСкладах);
    КонецЕсли;
    
    ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);
    
КонецПроцедуры

Проанализируем этот фрагмент. Мы видим, что контроль осуществляется по двум регистрам: СвободныеОстатки и ТоварыНаСкладах. Однако, важный момент заключается в том, что этот контроль напрямую зависит от настроек склада. В карточке склада за это отвечает флаг «Контролировать обеспечение». Если эта галка не установлена, система позволит провести чек в минус, даже если код предусматривает проверку. Второй важный момент: контроль ТоварыОрганизаций на уровне отдельного чека зачастую не выполняется для ускорения работы кассового узла.

Причины «просачивания» отрицательных остатков

Давайте выясним основные причины, по которым контроль может не срабатывать оперативно, что приводит к проблемам при закрытии смены:

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

Как отловить причину: пошаговый план действий

Рассмотрим подробнее, как диагностировать проблему в конкретной базе:

Шаг 1. Проверка настроек склада

Перейдите в раздел Склады и магазины, откройте карточку нужного склада. Убедитесь, что установлена галочка «Контролировать обеспечение». Выясните, какой тип контроля выбран. Для розницы рекомендуется «Учитывать резервы», чтобы касса не продала товар, который уже отложен под заказ другого клиента.

Шаг 2. Анализ регистра «Товары организаций»

Часто товар на складе есть, но он принадлежит другой организации в рамках одного холдинга. Сформируйте отчет Остатки товаров организаций. Если вы видите, что по одной организации минус, а по другой плюс — значит, у вас не настроена схема Интеркампани или не оформлены документы передачи. Чек ККМ в этом случае может проводиться (так как складской остаток положительный), а ОРП — нет.

Шаг 3. Анализ времени документов

Посмотрите на время чеков, которые вызвали проблему. Если время документа отличается от времени его реального пробития (например, чек за 12:00 пробивается в 12:10), это признак того, что контроль мог быть обойден. Сравните системное время на всех кассовых узлах.

Шаг 4. Отслеживание характеристик и серий

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

Резюме и рекомендации

Для исключения проблем с остатками при закрытии смены мы рекомендуем следующий комплекс мер:

Помните, что Чек ККМ — это фронт-офисный документ, приоритет которого — быстрая продажа клиенту. Полный и строгий учет всех разрезов (организации, налоги, ГТД) ложится на плечи Отчета о розничных продажах, поэтому расхождения между ними — это сигнал к проверке чистоты ведения учета в системе.

← На главную