Проблема отрицательных остатков при формировании документа «Отчет о розничных продажах» (ОРП) — одна из самых частых и неприятных ситуаций в торговых решениях на базе 1С:Предприятия 8.3 (УТ 11, ERP, КА). Ситуация выглядит парадоксально: кассиры бьют чеки, система якобы контролирует остатки, но в конце дня итоговый отчет не проводится из-за нехватки товара. Давайте вместе разберем эту проблему, проанализируем программный код и выясним, в какую сторону смотреть администратору или программисту.
Первое, что мы должны понять: в современных конфигурациях 1С (УТ 11, ERP) контроль остатков в документе ЧекККМ и в итоговом документе ОтчетОРозничныхПродажах работает по разным алгоритмам и регистрам. Проанализируем типичную ситуацию: ЧекККМ проверяет наличие товара на конкретном складе «физически», а ОРП при проведении делает более глубокие проверки, включая регистр ТоварыОрганизаций.
Если в программе настроена схема Интеркампани (продажа товаров между собственными организациями), то ЧекККМ может пробиться без проблем, так как товар физически есть на складе (но числится на другой организации). Однако при закрытии смены ОРП попытается списать товар именно с той организации, которая указана в настройках торговой точки. Если документ Передача товаров между организациями еще не оформлен, ОРП выдаст ошибку отсутствия остатка.
Рассмотрим, как реализован контроль в коде документа ЧекККМ. За формирование списка регистров, по которым будет производиться проверка, отвечает процедура СформироватьСписокРегистровДляКонтроля. Посмотрим на пример кода, актуальный для текущих релизов систем на базе ERP-платформы:
Процедура СформироватьСписокРегистровДляКонтроля()
Массив = Новый Массив;
Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
Массив.Добавить(Движения.СвободныеОстатки);
Массив.Добавить(Движения.ТоварыНаСкладах);
КонецЕсли;
ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);
КонецПроцедуры
Проанализируем этот фрагмент. Мы видим, что контроль осуществляется по двум регистрам: СвободныеОстатки и ТоварыНаСкладах. Однако, важный момент заключается в том, что этот контроль напрямую зависит от настроек склада. В карточке склада за это отвечает флаг «Контролировать обеспечение». Если эта галка не установлена, система позволит провести чек в минус, даже если код предусматривает проверку. Второй важный момент: контроль ТоварыОрганизаций на уровне отдельного чека зачастую не выполняется для ускорения работы кассового узла.
Давайте выясним основные причины, по которым контроль может не срабатывать оперативно, что приводит к проблемам при закрытии смены:
Приобретение товаров и услуг или Перемещение товаров, в базе товара нет. Кассир видит товар перед собой, но для системы это продажа «в минус».Разрешить проведение документов без контроля остатков. Иногда эта роль попадает в профиль «Кассир» косвенно.Рассмотрим подробнее, как диагностировать проблему в конкретной базе:
Перейдите в раздел Склады и магазины, откройте карточку нужного склада. Убедитесь, что установлена галочка «Контролировать обеспечение». Выясните, какой тип контроля выбран. Для розницы рекомендуется «Учитывать резервы», чтобы касса не продала товар, который уже отложен под заказ другого клиента.
Часто товар на складе есть, но он принадлежит другой организации в рамках одного холдинга. Сформируйте отчет Остатки товаров организаций. Если вы видите, что по одной организации минус, а по другой плюс — значит, у вас не настроена схема Интеркампани или не оформлены документы передачи. Чек ККМ в этом случае может проводиться (так как складской остаток положительный), а ОРП — нет.
Посмотрите на время чеков, которые вызвали проблему. Если время документа отличается от времени его реального пробития (например, чек за 12:00 пробивается в 12:10), это признак того, что контроль мог быть обойден. Сравните системное время на всех кассовых узлах.
Разберем ситуацию с пересортицей. Если кассир сканирует штрихкод, привязанный к товару без характеристики, а на складе товар лежит с характеристикой «Синий», система может выдать ошибку только в момент формирования итогового отчета о розничных продажах. Проверьте, нет ли в чеках позиций с пустыми характеристиками, если для данной номенклатуры ведется учет по характеристикам.
Для исключения проблем с остатками при закрытии смены мы рекомендуем следующий комплекс мер:
Передача товаров между организациями, чтобы ОРП не блокировался из-за принадлежности товара другому лицу.Помните, что Чек ККМ — это фронт-офисный документ, приоритет которого — быстрая продажа клиенту. Полный и строгий учет всех разрезов (организации, налоги, ГТД) ложится на плечи Отчета о розничных продажах, поэтому расхождения между ними — это сигнал к проверке чистоты ведения учета в системе.