При переходе с конфигурации 1С:Розница 2.3 на версию 3.0 (или при использовании 1С:УНФ 3.0) многие пользователи и специалисты сталкиваются с неприятной ошибкой при попытке запустить рабочее место кассира (РМК): «На организацию зарегистрировано несколько касс ККМ, обратитесь к администратору». Эта проблема особенно актуальна для магазинов с высокой проходимостью, где на одном торговом зале (складе) одновременно работают два и более кассира с разными фискальными регистраторами.
В этой статье мы подробно разберем, почему возникает эта ошибка, как изменилась архитектура работы с торговым оборудованием в новых версиях и какие шаги нужно предпринять, чтобы настроить совместную работу нескольких касс на одной торговой точке или использовать готовое расширение для работы с несколькими кассами ККМ в РМК. Для этого есть расширение для нескольких касс ККМ в РМК.
Проанализируем ситуацию: в старой версии 1С:Розница 2.3 привязка кассы часто осуществлялась через настройки пользователя или была менее жесткой. В архитектуре 3.0 разработчики внедрили более строгую привязку к справочнику РабочиеМеста. Теперь система идентифицирует не просто пользователя, а конкретное сочетание «Компьютер + Пользователь».
Ошибка возникает из-за того, что при запуске РМК программа пытается автоматически подобрать кассу ККМ. Если в базе для одной и той же организации и одного и того же склада создано две кассы, а система не может однозначно определить, какая из них принадлежит текущему компьютеру, она выдает блокирующее сообщение. Выясним, как это исправить штатными средствами.
Рассмотрим по шагам базовую инструкцию по настройке торгового места и самый правильный способ конфигурации, который не требует вмешательства в программный код.
Kassa_1 и Kassa_2). Если два кассира работают на разных ПК, у каждого из них должен быть свой ID в этом справочнике.НастройкиРМК, где можно настроить и такие опции, как редактирование цены в РМК по паролю. Нам необходимо создать два разных профиля:
КассыККМ (справочник Кассы ККМ) необходимо заполнить поле Рабочее место. Касса №1 должна быть привязана к рабочему месту №1, а Касса №2 — к рабочему месту №2.После этого система при открытии формы РабочееМестоКассира будет четко понимать: «Я запущена на ПК №1, мне соответствует Профиль №1 и Касса №1», и ошибка исчезнет.
Проанализируем технический нюанс: иногда даже при верных настройках рабочих мест система продолжает группировать кассы по организации. В некоторых релизах Розницы 3.0 помогает следующий прием:
Попробуем зайти в справочник КассыККМ и временно очистить поле «Организация» в карточках касс. Это заставляет алгоритм поиска переключиться с фильтрации по юридическому лицу на фильтрацию по текущему рабочему месту. Однако стоит помнить, что этот метод может повлиять на заполнение печатных форм, если логика программы в вашем релизе жестко требует наличия организации в этом поле.
Если ваши кассиры работают не на разных системных блоках, а подключаются к одному серверу через удаленный рабочий стол (RDP), 1С может воспринимать их как одно и то же рабочее место, так как сетевое имя компьютера совпадает. В этом случае стандартная настройка не сработает.
Для решения этой ситуации рассмотрим вариант принудительного разделения рабочих мест через параметры запуска. В ярлыке запуска 1С для каждого кассира можно добавить ключ:
/ID "Уникальное_Имя_Рабочего_Места"
Это позволит системе генерировать разные идентификаторы для разных сессий на одном сервере. Для этого подойдёт поддержка онлайн-касс при сложных схемах подключения.
Если штатные методы не помогают (например, в ранних релизах конфигурации), можно вмешаться в логику проверки. Посмотрим на пример того, где именно происходит проверка. В обработке РабочееМестоКассира в модуле формы или в общем модуле РаботаСКассойККМ (в зависимости от версии) присутствует процедура ПроверитьОбщуюВозможностьРаботы.
Проанализируем фрагмент, который можно использовать в расширении для подстановки нужной кассы:
&НаСервере
Процедура ПроверитьОбщуюВозможностьРаботыПосле(Отказ)
// Если система нашла несколько касс, принудительно устанавливаем
// ту, которая привязана к текущему рабочему месту в настройках РМК
ТекущееРабочееМесто = МенеджерОборудованияВызовСервера.ПолучитьРабочееМестоКлиента();
ПараметрыКассы = ПолучитьПараметрыКассыПоРабочемуМесту(ТекущееРабочееМесто);
Если ПараметрыКассы.Количество() > 0 Тогда
// Устанавливаем единственную верную кассу ККМ для данного РМК
Объект.КассаККМ = ПараметрыКассы[0].КассаККМ;
КонецЕсли;
КонецПроцедуры
Использование расширения позволяет избежать изменения основной конфигурации и корректно передать выбранную кассу в запрос, минуя стандартную проверку на "многокассовость".
Поскольку оба кассира работают с одной «Структурной единицей» (Складом), важно учитывать вопросы контроля остатков. В Рознице 3.0 рекомендуется:
КассойККМ, они получат ошибку о том, что смена открыта на другом рабочем месте.Подводя итог, можно сказать, что проблема «нескольких касс на организацию» — это не баг, а следствие ужесточения контроля за оборудованием. Правильная настройка связки «Рабочее место — Профиль РМК — Касса ККМ» решает этот вопрос в 95% случаев.