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