Как отключить автоматическую выемку при закрытии смены в 1С:Розница 2.2, если настройки магазина не срабатывают?

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

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

Способ 1: Настройка дополнительных прав пользователя (Основное решение)

Проанализируем наиболее вероятную причину некорректного поведения программы. Как показывает практика и опыт участников профессиональных форумов, в версии 2.2.7.32 существовала особенность (или баг) работы с групповыми политиками доступа. Если вы устанавливаете настройки выемки для Группы пользователей, система может их проигнорировать.

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

  1. Перейдем в раздел Администрирование — Пользователи и права.
  2. Откроем пункт Дополнительные права пользователей.
  3. Вместо выбора группы пользователей выберем конкретного сотрудника (кассира или администратора), который закрывает смену в проблемном магазине.
  4. В дереве настроек найдем раздел Интерфейс РМК.
  5. Найдем параметр «Выемка производится как задано» или аналогичный флаг, ограничивающий автоматическую инкассацию.
  6. Установим признак того, что выемка не должна производиться при закрытии смены персонально для каждого пользователя.

Важный нюанс: Именно персональная установка прав часто решает проблему, когда настройки на уровне «Магазина» или «Группы прав» игнорируются программным кодом в момент вызова процедуры закрытия смены.

Способ 2: Иерархия настроек «Магазин — Касса ККМ»

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

Рассмотрим порядок проверки настроек:

  1. Перейдем в карточку Магазина (раздел «Продажи» -> «Правила продаж») и еще раз убедимся, что там выбран тип выемки «Выемку не производить».
  2. Зайдем в раздел НСИ — Кассы ККМ.
  3. Проверим каждую кассу, закрепленную за магазинами №2 и №3. В некоторых релизах дополнительные флаги в карточке кассы (или связанные с ней настройки рабочего места) могут принудительно вызывать процедуру инкассации.
  4. Убедимся, что в системе не создано дублирующих настроек для одного и того же рабочего места, которые могут конфликтовать между собой.

Способ 3: Проверка настроек РМК и драйвера оборудования

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

Посмотрим на настройки Рабочего места кассира (РМК):

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

Способ 4: Анализ регистра «Денежные средства в кассах ККМ»

Иногда система производит выемку «принудительно», если обнаруживает расхождения в учетных данных. Программа стремится к тому, чтобы регистры накопления были чистыми на начало новой смены.

Рассмотрим работу с регистром ДенежныеСредстваВКассахККМ:

Если в данном регистре накопились ошибки (например, отрицательные остатки или «зависшие» копейки из-за округлений), типовой алгоритм закрытия смены может попытаться «выровнять» ситуацию программной выемкой. Посмотрим на отчет «Денежные средства в кассах ККМ» с детализацией до регистратора. Если вы видите странные обороты, не подтвержденные реальными документами, возможно, требуется корректировка записей регистра.

В крайнем случае, как временный «костыль», можно использовать ручную корректировку регистра накопления в минус перед закрытием смены. Если по учету в кассе будет 0 или отрицательное значение, автоматическая выемка может не сработать, так как системе «нечего вынимать».

Технические подробности для программистов

Если вы обладаете навыками отладки, рекомендуется обратить внимание на общий модуль ВыемкаДенежныхСредствКлиент или обработку ЗакрытиеСмены. В коде этих объектов происходит проверка условий перед формированием документа «Выемка».

Пример логики, которую следует проверить в коде:


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

В проблемных релизах 2.2.7 условие могло игнорироваться, если в кассе ККМ по данным регистра ДенежныеСредстваВКассахККМ остаток превышал ноль, а драйвер оборудования возвращал определенный статус. Обновление до версии 2.3 и выше обычно полностью устраняет данную проблему, так как там механизмы работы с ККТ-онлайн были значительно переработаны.

Резюме действий

  1. Установите настройки выемки персонально каждому пользователю в «Дополнительных правах».
  2. Проверьте, нет ли специфических настроек в драйвере (эмуляторе) кассы.
  3. Убедитесь, что отчет по остаткам в кассах ККМ не показывает «мусорных» данных.
  4. Если ничего не помогает — рассмотрите возможность обновления конфигурации, так как баги в механизме закрытия смены 2.2.7 признаны разработчиками.
← На главную