При запуске режима Рабочее место кассира (РМК) в конфигурации 1С:Розница 2.2 пользователи могут столкнуться с неприятной ошибкой: «Не удалось определить доступные кассы ККМ». При этом торговое оборудование (фискальный регистратор, сканер штрихкодов) исправно работает, если оформлять чеки напрямую через журнал документов Чеки ККМ. Разберем по шагам, почему возникает эта проблема и как её устранить.
Рассмотрим внутренний механизм программы. При открытии формы РМК система считывает текущий магазин и рабочее место из параметров формы или параметров сеанса пользователя:
Если Параметры.Свойство("Магазин") Тогда
Объект.Магазин = Параметры.Магазин;
ФорматМагазина = Объект.Магазин.ФорматМагазина;
КонецЕсли;
Если Параметры.Свойство("РабочееМесто") Тогда
Объект.РабочееМесто = Параметры.РабочееМесто;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.Магазин) Тогда
Объект.Магазин = ПараметрыСеанса.ТекущийМагазин;
КонецЕсли;
После определения параметров выполняется процедура ПолучитьТаблицуКассККМ(), которая запрашивает кассы из справочника КассыККМ:
Процедура ПолучитьТаблицуКассККМ()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КассыККМ.Ссылка КАК КассаККМ,
| КассыККМ.Владелец КАК Организация
|ИЗ
| Справочник.КассыККМ КАК КассыККМ
|ГДЕ
| КассыККМ.РабочееМесто = &РабочееМесто
| И НЕ КассыККМ.ТипКассы = ЗНАЧЕНИЕ(Перечисление.ТипыКассККМ.ККМOffline)
| И НЕ КассыККМ.ПометкаУдаления
| И (КассыККМ.Магазин = &Магазин
| ИЛИ &Магазин = ЗНАЧЕНИЕ(Справочник.Магазины.ПустаяСсылка))";
Запрос.УстановитьПараметр("РабочееМесто", Объект.РабочееМесто);
Запрос.УстановитьПараметр("Магазин" , Объект.Магазин);
Результат = Запрос.Выполнить();
ТаблицаКассККМОрганизаций.Загрузить(Результат.Выгрузить());
КонецПроцедуры
Проанализируем этот запрос. Чтобы касса попала в выборку РМК, должно одновременно совпасть сразу несколько условий:
КассыККМ привязан к текущему РабочемуМесту (идентификатору компьютера).ККМ Offline.Магазину, который определен в параметрах сеанса РМК.Частая причина, из-за которой запрос не находит кассы — неверное значение ПараметрыСеанса.ТекущийМагазин. Если в информационной базе случайно или намеренно создали второй магазин, 1С при запуске может автоматически подставить его в параметры сеанса.
Посмотрим на заголовок программы при запуске. Если там указан магазин, для которого кассовое оборудование никогда не настраивалось, РМК не сможет найти подходящую кассу.
Способ решения:
Магазины. После этого система снова начнет подключаться к основному магазину.При очистке кэша 1С, переустановке Windows или изменении имени компьютера платформа 1С создаёт новый элемент в справочнике Рабочие места. При этом оборудование и касса ККМ остаются привязаны к старому рабочему месту.
Способ решения:
Кассы ККМ (раздел НСИ).Если кассе ККМ задан ошибочный тип (например, ККМ Offline вместо Фискальный регистратор или KКТ с передачей данных), условие запроса НЕ КассыККМ.ТипКассы = ЗНАЧЕНИЕ(...) отсечёт её от списка доступных.
Кроме того, если у пользователя включено ограничение прав на уровне записей (RLS), а конструктор запроса использует ключевое слово ВЫБРАТЬ РАЗРЕШЕННЫЕ, отсутствие доступа к конкретной организации или магазину приведёт к пустому результату выборки.
Если ошибку требуется устранить оперативно без остановки продаж, кассиры могут временно оформлять чеки через журнал документов Чеки ККМ (раздел Продажи — Чеки ККМ). Оттуда смена открывается и закрывается штатно, чеки печатаются на фискальном регистраторе, а торговое оборудование работает в полном объеме.