При настройке конфигурации 1С:Розница 2.2 часто возникает задача запретить продажу товаров при их отсутствии на складе. Стандартно для этого используются настройки в дополнительных правах пользователей и параметрах рабочего места кассира (РМК). Однако администраторы и разработчики сталкиваются с ситуацией, когда нужные флаги контроля остатков полностью отсутствуют в интерфейсе подчиненного узла распределенной информационными базы (РИБ).
Рассмотрим подробно причины такого поведения системы, проанализируем программный код конфигурации и разберем по шагам варианты решения этой проблемы.
Выясним причину, по которой галочки контроля остатков не отображаются у пользователей с полными правами. В 1С:Розница 2.2 доступность прав и настроек зависит от типа используемого плана обмена в распределенной базе данных.
Проанализируем фрагмент типового кода, который выполняется при открытии формы настроек прав пользователей:
Если ПланыОбмена.ПоРабочемуМесту.ЭтоРабочееМесто Тогда
МассивИсключаемыхПрав.Добавить(ПланыВидовХарактеристик.ПраваПользователей.КонтролироватьОстатокПриПроведении);
КонецЕсли;
Из данного кода видно, что если текущая информационная база является подчиненным узлом РИБ с типом обмена «По рабочему месту», система программно исключает право КонтролироватьОстатокПриПроведении из списка доступных настроек. Разработчики конфигурации заложили это ограничение намеренно: в режиме работы кассы по отдельному рабочему месту база не обладает полной информацией о движениях товаров на других кассах или складах магазина.
Для того чтобы вернуть полноценную функциональность проверки остатков на кассовом узле, необходимо перевести подчиненный узел с плана обмена ПоРабочемуМесту на план обмена ПоМазину. В плане обмена «По магазину» опции контроля остатков не блокируются разработчиками, и проверки работают корректно.
Процесс смены типа узла РИБ требует выполнения следующих действий:
УстановитьГлавныйУзел(Неопределено) в обработке или через специализированные утилиты).Обратите внимание: переход на план обмена «По магазину» увеличит объем передаваемых данных при синхронизации, так как касса будет получать данные по всему магазину, а не только по отдельному рабочему месту.
Разберем, какие именно фланги должны быть установлены для полного запрета продаж в минус:
Контролировать остаток при проведении для необходимых пользователей или групп.После установки флагов в центральном узле выполните синхронизацию, чтобы изменения транслировались в подчиненные базы.
Бывают ситуации, когда все настройки включены, но чеки в РМК все равно пробиваются в минус (даже на главном узле). Проанализируем дополнительные причины такого поведения:
Обновление информативных остатков отключено или выполняется с ошибками, РМК видит пустые данные и пропускает чеки в минус. Убедитесь, что задание включено и выполняется регулярно.Применение комплексного подхода — смена плана обмена на «По магазину», установка прав пользователей и корректная настройка регулярного обновления информативных остатков — позволяет полностью исключить случаи продажи товаров с отрицательным остатком в 1С:Розница 2.2.