Публичное пространство

Модуль валидации (проверка чеков перед отправкой в ERP)

SRTE-978 - Получение подробных данных проблемы… СТАТУС

10.2.32.0

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

Внимание!

Функциональность работает только с веб-сервисами на стороне ERP.

Включение

SF-270 - Получение подробных данных проблемы… СТАТУС

HTML5 10.2.92.0

1. Для включения механизма добавьте к роли пользователя привилегию Администрирование модуля валидации.

2. Обновите страницу

3. Перейдите в Операционный день → кликните Настройки → перейдите на вкладку ВАЛИДАЦИЯ → нажмите  Включить модуль валидации.

4. Нажмите  Валидация чеков.

5. Включая  нужный триггер, установите необходимые значения для применения правил, в результате которых, чеки, не содержащие необходимых данных, не должны попадать в ERP-систему.

6. Перезапустите службы сервера.

Синтаксис проверок

Для указания наличия символов проверок используется следующие правила значений:

Допустимые значенияНазначение
0-9Все цифры от 1 до 9.
A-ZБуквы английского алфавита в верхнем регистре.
a-zБуквы английского алфавита в нижнем регистре.
А-ЯБуквы русского алфавита в верхнем регистре.
а-яБуквы русского алфавита в нижнем регистре.
+*:Дополнительные символы для указания в конце строки.
0-9A-Za-z*+Указание комбинации из букв алфавита и символов, а также дополнительных символов
\p{экранируемый символ}

Экранирование для установки значения таких символов как:

  • "
  • !
  • %
  • '
  • ()
  • *
  • +
  • ,
  • -
  • .
  • /
  • :
  • <
  • >
  • =
  • ?
  • _
  • $
  • \
  • /
  • #
  • @
\-Пробел.
Буква Ё.
\№Символ №.

Триггеры проверок

ТриггерНастройкаНазначение

 Валидация кода кассира

длина должна быть равна  

Указывается размер длины табельного номера кассира.
может содержать только 
Какие символы может содержать табельный номер кассира.
 Проверка кода авторизации транзакции по банковской оплате

 может быть пустым

SRTE-3025 - Получение подробных данных проблемы… СТАТУС

CR-4217 - Получение подробных данных проблемы… СТАТУС

10.2.92.0

Могут ли приниматься в ERP данные без кода авторизации в слипах банковской оплаты.
если значение не пустое, то длина должна быть 
Указывается размер длины кода авторизации по банковской карте, если он есть.
если значение не пустое, то содержит только 
Какие символы может содержать код авторизации.
 Проверка номера терминала

длина должна быть равна 

Указывается размер длины идентификатора банковского терминала, если он есть.

может содержать только

Какие символы может содержать идентификатор банковского терминала.
 Проверка номера банковской карты

 не может быть пустым

Могут ли приниматься в ERP данные без номера банковской оплаты.
может содержать только 
Какие символы может содержать номер банковской карты.
 Проверка сумм чека

 сумма чека в заголовке должна равняться сумме стоимостей позиций в чеке

Итоговая сумма чека должны быть равна сумме всех позиций.

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

 сумма банковских транзакций в чеке должна совпадать с суммой банковских оплат

Сумма из банковского слипа должна быть равна сумме типа оплат по банковской карте в чеке
 Проверка суммы скидок в заголовке чека

 сумма скидок в заголовке, должна равняться сумме скидок по позициям в чеке

Итоговая сумма скидок должна быть равна сумме скидок по всем позициям чека.
 Проверка даты регистрации чека

 чеки, у которых дата продажи больше текущего времени (времени при отправке), не должны отправляться во внешнюю систему.

Просроченные чеки старше, чем актуальное время, не отправляются в ERP.
допустимое время отклонения времени продажи от серверного времени, минуты 
Время отклонения чеков в минутах от текущего времени.

 Проверка номера КПП

Валидация карт работает только для внутренних карт card_type = InternalCard.

Для карт, с типом ExternalCard, валидация отсутствует.


 не может быть пустым.

Могут ли приниматься в ERP данные без номера карты постоянного покупателя.
может содержать только 
Какие символы может содержать номер карты постоянного покупателя.

 проверять наличие идентификатора покупателя

SRTS-1141 - Получение подробных данных проблемы… СТАТУС

CR-6692 - Получение подробных данных проблемы… СТАТУС

10.3.20.0

Могут ли приниматься в ERP данные без идентификатора покупателя.
 Проверка валидности типа банковской карты

 не может быть пустым

Могут ли приниматься в ERP данные без типа банковской карты.
может содержать только 
Какие символы может содержать название тип банковской карты.

Пример работы

Установлены условия для обработки табельного номера кассира, где размер символов в табельном номере и только значения, содержащие 0 могут быть отправлены в составе чека в ERP.

После продажи чек, не удовлетворяющий условиям валидации, попадет в set → erpi_validation_messages. Чек не будет отправлен в ERP.

Дополнительные кейсы проверки чеков, начиная с версии 10.2.34.0

  • Сумма банковских авторизаций (транзакций) в чеке совпадает с суммой банковских оплат в чеке:  
    • Сумма оплат по банку в чеке должна совпадать с суммами в банковских авторизаций привязанных к этому чеку. То есть, если оплата по банку 100р., должны присутствовать банковские авторизации к этому чеку на 100 рублей. Если больше, меньше или отсутствуют(а оплата есть), то валидацию не проходит.
  • Сумма чека в заголовке чека равна сумма стоимости позиций в чеке:
    • Сумма стоимости по позициям в чеке (set → erpi_position и set_operday → od_position), должна равняться сумме чека (set → erpi_purchase и set_operday → od_position).
  • Сумма чека в заголовке чека, равна сумме оплат в чеке:
    • Сумма чека (set → erpi_position и set_operday → od_purchase ) должна равняться сумме оплат (set → erpi_payments и set_operday → od_payments) в этом чеке.
  • Сумма скидок в заголовке чеке, равна сумме скидок по позициям в чеке
    • Сумма скидок по позициям (set → erpi_positions и set_operday → od_positions), совпадает с суммой скидок в чеке (set → erpi_purchase и set_operday → od_purchase).

© 1994-2024, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных