Почему в 1С:Розница при приеме оплаты не отображается касса ККМ-отправитель и как это исправить?

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

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

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

Суть проблемы: почему поле «Касса ККМ» остается пустым?

Для начала проанализируем стандартную цепочку движения наличных денежных средств (ДС) в розничном магазине:

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

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

Выясним технические причины, почему программа ведет себя подобным образом. Их две:

1. Конфликт рабочих мест (сеансов пользователей)

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

2. Зарегистрированный программный баг конфигурации

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

Ниже мы подробно разберем все возможные способы решения этой проблемы.

---

Способ №1. Быстрый интерактивный обходной путь (без изменения кода и настроек)

Если вам нужно срочно принять деньги, а времени на глубокую настройку системы нет, можно воспользоваться простым и эффективным обходным путем, который обнаружили практикующие пользователи. Этот способ заставляет программу принудительно запустить корректный обработчик заполнения полей.

Рассмотрим этот алгоритм по шагам:

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

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

---

Способ №2. Связывание кассы организации и кассы ККМ в справочниках

Очень часто проблема кроется в том, что в справочниках программы не настроена явная связь между операционной кассой организации (куда поступает выручка) и кассой ККМ (где выбиваются чеки). Выясним, как правильно связать эти объекты.

Выполним следующие действия по шагам:

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

После проведения данной настройки автоматическое заполнение ПКО должно начать работать корректно, так как программа сможет однозначно определить кассу ККМ по связанной кассе организации.

---

Способ №3. Корректировка настроек Рабочего места

Если предыдущие способы не помогли, высока вероятность влияния механизма разделения оборудования по рабочим местам. Разберем, как обойти ограничение видимости кассы ККМ для бэк-офисного ПК менеджера.

Сделаем следующее:

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

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

---

Способ №4. Программное исправление через расширение конфигурации

Для системных администраторов и программистов 1С лучшим решением (до момента обновления конфигурации) будет использование небольшого расширения. Это позволит раз и навсегда автоматизировать процесс заполнения ПКО без изменения типовой конфигурации, оставив программу на поддержке.

Давайте проанализируем, какой код необходимо добавить в расширение. Нам нужно скорректировать процедуру заполнения ПКО на основании выемки. Создадим расширение и переопределим процедуру ЗаполнитьПоВыемке или обработчик создания на сервере в модуле формы документа ПриходныйКассовыйОрдер:


&После("ЗаполнитьПоВыемке")
Процедура Расш_ЗаполнитьПоВыемке(ДокументОснование)
    
    // Проверим, что документ-основание передан и это действительно выемка
    Если ЗначениеЗаполнено(ДокументОснование) 
        И ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ВыемкаДенежныхСредствИзКассыККМ") Тогда
        
        // Принудительно заполняем кассу ККМ из документа выемки,
        // игнорируя фильтрацию по текущему рабочему месту пользователя
        ЭтотОбъект.КассаККМ = ДокументОснование.КассаККМ;
        
    КонецЕсли;
    
КонецПроцедуры

Подключить такое расширение можно в режиме 1С:Предприятие через меню Администрирование — Печатные формы, отчеты и обработки — Расширения. Это позволит менеджерам беспрепятственно оформлять ПКО в один клик.

---

Способ №5. Обновление конфигурации

Поскольку данная проблема является следствием зафиксированного бага 1С, наиболее правильным глобальным решением будет обновление программного продукта. Ошибка автоматического заполнения реквизита ПКО на основании выемки была окончательно исправлена разработчиками в релизах ветки 1С:Розница 2.3 (начиная с версии 2.3.8.17 и выше), а также перенесена в современную редакцию 1С:Розница 3.0.

Обратите внимание, что простое обновление в рамках старой ветки 2.2 (даже до финальных релизов 2.2.11) не всегда решает проблему, так как исправление туда могло не войти. Рекомендуется запланировать переход на актуальные и поддерживаемые версии программы.

Резюме

Мы рассмотрели все варианты решения проблемы с отображением кассы ККМ при приеме денежных средств в 1С:Розница. Если вам нужно быстро провести документы прямо сейчас — воспользуйтесь Способом №1 (перевыбор документа выемки через три точки). Если вы хотите настроить систему для долгосрочной работы без сбоев — свяжите кассы в НСИ (Способ №2) или обновите конфигурацию до актуального релиза.

← На главную