Почему в РМК 1С:Розница 3.0 появляется ошибка «Не удалось подключиться к серверу лояльности» и как её исправить?

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

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

Почему возникает ошибка при выключенном сервере лояльности

Выясним причину такого системного поведения. В современных версиях конфигураций «1С:Розница 3.0» и «1С:УНФ 3.0» архитектура расчета скидок и маркетинговых акций построена на базе общей библиотеки. Расчет автоматических скидок выполняется через универсальный программный контур независимо от того, используется внешний сервер или локальная база.

Когда при сканировании позиции в РМК происходит любое исключение во время расчета цен, скидок или разбора штрихкода, срабатывает типовой перехватчик ошибок в блоке Попытка ... Исключение. В исходном коде конфигурации при возникновении сбоя часто подставляется стандартное системное оповещение:


ТекстОшибкиПоУмолчанию = НСтр("ru = 'Не удалось подключиться к серверу лояльности. Обратитесь к администратору'");

Таким образом, сообщение о сервере лояльности является маской. Реальная проблема кроется во внутренней программной ошибке, падении расчета скидок, конфликте прав доступа или сбое разбора штрихкода.

Шаг 1. Локализация ошибки через отладчик и журнал регистрации

Проанализируем первопричину сбоя, сняв маскирующее сообщение. Сделать это можно двумя надежными путями:

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

Шаг 2. Проверка правил автоматических скидок и наценок

Чаще всего исключение провоцирует поврежденное или некорректно заполненное правило расчета автоматических скидок. Проверим справочники скидок:

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

Шаг 3. Анализ настроек конкретного рабочего места кассира

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

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

Шаг 4. Проверка прав доступа кассира

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

  1. Запустим РМК под пользователем с полными административными правами и отсканируем проблемный товар.
  2. Если под администратором ошибка не повторяется, проверим профиль групп доступа кассира: убедимся в наличии роли Базовые права сервера лояльности, а также прав на чтение маркетинговых условий, дисконтных карт и сегментов номенклатуры.

Шаг 5. Очистка кэша и проверка установленных исправлений (патчей)

Если проблема сохраняется, выполним регламентные технические операции:

  1. Очистка кэша тонкого клиента: завершим работу «1С:Предприятия» и удалим содержимое локальных каталогов кэша %LocalAppData%\1C\1cv8 и %AppData%\1C\1cv8. При обновлении конфигурации поврежденные метаданные форм РМК могут искажать структуры параметров, передаваемых на сервер.
  2. Проверка установленных патчей: перейдем в Настройки — Обслуживание — Обновление программы — Исправления (патчи). Если ошибка проявилась сразу после установки автоматических исправлений к релизу 3.0.13, временно отключим патчи, относящиеся к РМК и подсистеме лояльности, чтобы исключить программную несовместимость с текущей версией сборки.
← На главную