При работе в розничной торговле скорость обслуживания покупателя на кассе является критическим фактором. В программе 1С:Управление торговлей (релиз 11.3) пользователи часто сталкиваются с неудобством: при использовании автономного эквайрингового терминала (который физически не подключен к компьютеру) система настойчиво требует вводить номер платежной карты вручную в окне оплаты. Это замедляет работу кассира и провоцирует ошибки ввода. Рассмотрим подробнее, почему так происходит и какими способами можно упростить или полностью автоматизировать этот процесс.
С точки зрения архитектуры 1С, любая оплата картой должна быть зафиксирована в системе не просто как факт прихода денег, а как операция по конкретному инструменту. Номер карты (или последние 4 цифры) в типовых конфигурациях используется для последующей сверки итогов с банковской выпиской и идентификации транзакции. Когда терминал подключен к системе (интегрирован), программа получает эти данные автоматически. В случае с автономным терминалом связь отсутствует, и программа «ожидает», что кассир перенесет данные с бумажного слип-чека в базу данных.
Проанализируем ситуацию с точки зрения законодательства (54-ФЗ). На текущий момент для фискального чека не является обязательным наличие полного номера карты покупателя. Достаточно того, что тип оплаты будет указан как Безналичными. Следовательно, требование программы носит скорее учетный характер, чем юридический.
Самый простой способ, не требующий вмешательства программиста, — это ввод фиктивных данных. Если система выдает ошибку «Поле Номер платежной карты не заполнено», можно использовать следующие варианты:
0000 в поле номера карты. Это стандартная практика для многих торговых точек.Недостаток этого метода очевиден — лишние действия кассира при каждом чеке. Разберем, как сделать этот процесс более профессиональным.
Чтобы не снимать конфигурацию с поддержки и при этом избавить кассира от ручного ввода, мы можем использовать расширение конфигурации. Это наиболее правильный метод с точки зрения сопровождения системы. Нам нужно перехватить процедуру открытия формы оплаты или момент нажатия кнопки «Оплатить» в Рабочем месте кассира (РМК).
Рассмотрим пример логики, которую можно внедрить в расширение. Нам необходимо найти форму ФормаОплаты в обработке РМК или соответствующий документ ЧекККМ. Мы можем использовать процедуру ПриСозданииНаСервере или заполнить значение непосредственно перед пробитием чека.
Пример кода для расширения, который автоматически подставляет значение «0000», если поле не заполнено:
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Проверяем, что используется автономный терминал
// Если в объекте оплаты номер карты пуст, устанавливаем значение по умолчанию
Если Объект.ТипОплаты = ПредопределенноеЗначение("Перечисление.ТипыОплатЧекаККМ.ПлатежнаяКарта") Тогда
Если ПустаяСтрока(Объект.НомерПлатежнойКарты) Тогда
Объект.НомерПлатежнойКарты = "0000";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
После внедрения такого кода кассир даже не заметит, как поле заполнится само. Также в расширении можно установить свойство поля Видимость в значение Ложь, чтобы оно не отвлекало пользователя.
Иногда поведение системы можно изменить через настройки, не прибегая к программированию. Разберем по шагам, что стоит проверить:
Виды оплаты для платежных карт убедимся, что настройки не форсируют ввод дополнительных данных.Существует специфический драйвер, который предназначен именно для таких случаев. Если в списке доступных драйверов выбрать 1С: Эквайринговые терминалы (автономно), логика работы формы РМК может измениться. В этом режиме система понимает, что связи с «железом» нет, и в некоторых сборках УТ 11.3 это позволяет оставлять поле номера карты пустым или сводит валидацию к минимуму.
Стоит отметить, что в более поздних редакциях (УТ 11.4, 11.5) разработчики 1С услышали пожелания пользователей. В разделе настроек розничных продаж появился флаг, позволяющий управлять обязательностью ввода номера карты. Если ваша организация планирует обновление, то данная проблема решится «из коробки». В версии 11.3, к сожалению, штатной настройки (галочки в интерфейсе) для этого часто не хватает, что и подтверждается опытом многих администраторов.
Проанализировав все способы, мы рекомендуем следующий алгоритм действий:
Использование программных методов модификации через Расширения позволяет оставить основную конфигурацию на поддержке, что крайне важно для получения обновлений от 1С в будущем. При этом вы получаете функционал, максимально адаптированный под ваши бизнес-процессы.