Почему пропала кнопка «Оплата картой» в документе «Чек ККМ» и как её вернуть?

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

При переходе на онлайн-кассы (модернизации старых фискальных регистраторов до 54-ФЗ) или после планового обновления конфигурации 1С:Управление торговлей 11 пользователи часто сталкиваются с неприятной ситуацией: в рабочем месте кассира (РМК) или в документе Чек ККМ исчезает кнопка «Оплата картой». При этом физически терминал подключен, драйверы установлены, а настройки эквайринга в программе кажутся верными. Давайте вместе разберем причины этой проблемы и пройдем по шагам от простых организационных настроек до глубокой технической отладки кода.

Разберем основную причину: Соответствие Организации и Банковского счета

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

Для исправления ситуации нам необходимо выполнить следующие действия:

  1. Перейти в справочник Эквайринговые терминалы.
  2. Открыть используемый терминал и проверить поле Банковский счет.
  3. Убедиться, что Владелец этого банковского счета (Организация) совпадает с организацией, указанной в настройках вашей Кассы ККМ.
  4. Если на одну организацию заведено несколько счетов, проверьте, чтобы выбран был именно тот, который привязан к текущему торговому объекту.

Часто после обновления 1С начинает строже контролировать эти связи. Если раньше программа могла «прощать» несовпадение расчетного счета, то в новых релизах (начиная с 11.3 и выше) это становится блокирующим фактором для вывода интерфейсных кнопок.

Проанализируем программную логику: Запрос видимости кнопки

Чтобы понять, почему кнопка скрывается программно, давайте заглянем «под капот» конфигурации. Видимость кнопки оплаты определяется в процедуре ПолучитьСсылкиНаОборудование модуля формы документа. Система выполняет запрос к базе данных, и если результат запроса пустой (терминалы не найдены по заданным критериям), флаг ОплатаПлатежнымиКартами устанавливается в значение Ложь.

Рассмотрим структуру этого запроса, который выполняется в системе:


Запрос = Новый Запрос("
|ВЫБРАТЬ
| ЭквайринговыеТерминалы.ЭквайринговыйТерминал КАК Ссылка,
| ЭквайринговыеТерминалы.ИспользоватьБезПодключенияОборудования КАК ИспользоватьБезПодключенияОборудования,
| ЭквайринговыеТерминалы.ПодключаемоеОборудование КАК ПодключаемоеОборудование
|ИЗ
| Справочник.НастройкиРМК.ЭквайринговыеТерминалы КАК ЭквайринговыеТерминалы
|ГДЕ
| ЭквайринговыеТерминалы.Ссылка.РабочееМесто = &РабочееМесто
| И ((ЭквайринговыеТерминалы.ПодключаемоеОборудование <> ЗНАЧЕНИЕ(Справочник.ПодключаемоеОборудование.ПустаяСсылка)
| И ЭквайринговыеТерминалы.ПодключаемоеОборудование.РабочееМесто = &РабочееМестоОборудования)
| Или ЭквайринговыеТерминалы.ИспользоватьБезПодключенияОборудования)
| И ЭквайринговыеТерминалы.ЭквайринговыйТерминал.БанковскийСчет.Владелец = &Организация
|");

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

Настройка Рабочего места (РМК) и идентификация оборудования

Еще одна неочевидная причина — изменение идентификатора рабочего места. Выясним причину: 1С привязывает настройки торгового оборудования к конкретному имени компьютера и пользователю Windows. Если вы переустановили систему, обновили платформу или сменили имя ПК, 1С создаст в справочнике Рабочие места новый элемент.

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

  1. Зайдите в раздел НСИ и администрирование — РМК и оборудование — Настройки РМК.
  2. Проверьте, создана ли настройка именно для вашего текущего рабочего места (оно обычно подсвечивается жирным в списке).
  3. Убедитесь, что на вкладке Эквайринговые терминалы добавлен ваш терминал.
  4. Если терминал есть, но кнопка не появилась, попробуйте перевыбрать терминал в списке, чтобы обновить связи в базе данных.

Техническая настройка драйвера (на примере Штрих-М)

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

Нам необходимо проверить внутренние настройки драйвера:

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

Проверка функциональных опций и прав доступа

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

Перейдите по пути: НСИ и администрирование — Настройка НСИ и разделов — Продажи. В блоке Розничные продажи обязательно должен быть установлен флаг Оплаты платежными картами. Без этой «галочки» интерфейс РМК даже не будет пытаться искать подключенные терминалы.

Также стоит проверить Профиль групп доступа кассира. Даже если у пользователя установлены «Полные права», рекомендуется проверить наличие роли Добавление и изменение эквайринговых операций. В некоторых релизах 1С:УТ 11 логика отображения элементов интерфейса завязана на конкретные роли, а не только на наличие оборудования.

Очистка кэша как последний аргумент

Если вы проверили все настройки, код запроса выдает верные данные, а кнопки все равно нет — мы имеем дело с «залипшим» кэшем управляемых форм. Это частое явление в файловых базах 1С.

Для решения попробуйте выполнить следующие шаги:

  1. Запустите 1С с параметром командной строки /ClearCache.
  2. В самом документе Чек ККМ нажмите кнопку Еще — Изменить форму. В открывшемся окне нажмите Еще — Установить стандартные настройки.
  3. Попробуйте удалить базу из списка информационных баз в стартере 1С и добавить её заново. Это принудительно очистит локальные временные файлы, отвечающие за отрисовку интерфейса.

Резюме: Чаще всего проблема решается проверкой Организации в банковском счете терминала и перевыбором Настроек РМК. Последовательно пройдя по всем шагам — от проверки прав до анализа таблиц драйвера — вы обязательно вернете кнопку «Оплата картой» на её законное место.

← На главную