Почему в 1С:Розница 2.2 отсутствуют настройки контроля остатков и как запретить продажу в минус

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

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

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

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

Выясним причину, по которой галочки контроля остатков не отображаются у пользователей с полными правами. В 1С:Розница 2.2 доступность прав и настроек зависит от типа используемого плана обмена в распределенной базе данных.

Проанализируем фрагмент типового кода, который выполняется при открытии формы настроек прав пользователей:


Если ПланыОбмена.ПоРабочемуМесту.ЭтоРабочееМесто Тогда
    МассивИсключаемыхПрав.Добавить(ПланыВидовХарактеристик.ПраваПользователей.КонтролироватьОстатокПриПроведении);
КонецЕсли;

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

Шаг 1. Изменение схемы обмена РИБ на «По магазину»

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

Процесс смены типа узла РИБ требует выполнения следующих действий:

  1. Отвязка подчиненной базы: Платформа 1С не позволяет менять структуру узлов РИБ непосредственно в подчиненной базе. Потребуется сбросить признак подчиненного узла РИБ (например, с помощью вызова УстановитьГлавныйУзел(Неопределено) в обработке или через специализированные утилиты).
  2. Корректировка настроек в главном узле: В центральной базе создается или перенастраивается узел обмена по плану «По магазину».
  3. Синхронизация данных: После изменения типа обмена выполняется повторная синхронизация данных с передачей обновленных настроек.

Обратите внимание: переход на план обмена «По магазину» увеличит объем передаваемых данных при синхронизации, так как касса будет получать данные по всему магазину, а не только по отдельному рабочему месту.

Шаг 2. Включение контроля остатков в главном узле и РМК

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

  1. Дополнительные права пользователей: В центральном узле перейдите в раздел Администрирование – Пользователи и права – Дополнительные права пользователей. Установите флаг Контролировать остаток при проведении для необходимых пользователей или групп.
  2. Настройки РМК: В настройках рабочего места кассира (Администрирование – Продажи – Настройки РМК) проверьте наличие флага контроля остатков при пробитии чека.

После установки флагов в центральном узле выполните синхронизацию, чтобы изменения транслировались в подчиненные базы.

Шаг 3. Настройка информативных остатков для работы РМК

Бывают ситуации, когда все настройки включены, но чеки в РМК все равно пробиваются в минус (даже на главном узле). Проанализируем дополнительные причины такого поведения:

  1. Регламентное задание обновления остатков: В режиме РМК проверка остатков перед пробитием чека выполняется по регистру информативных остатков. Если регламентное задание Обновление информативных остатков отключено или выполняется с ошибками, РМК видит пустые данные и пропускает чеки в минус. Убедитесь, что задание включено и выполняется регулярно.
  2. Несоответствие складов: Касса РМК привязана к определенному складу (например, «Торговый зал»). Если товар находится на «Основном складе», но не перемещен в торговый зал, РМК не найдет остаток на складе кассы.
  3. Учет по характеристикам: Если номенклатура учитывается в разрезе характеристик, проверка остатка выполняется строго по конкретной характеристике. При выборе товара без указания характеристики или с неверной характеристикой контроль может сработать некорректно.

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

← На главную