Согласно требованиям законодательства в кассовом чеке должен быть указан телефон или электронная почта покупателя для тех случаев, когда кассовый чек передается в электронной форме. Отправку чеков на адрес покупателя осуществляет ОФД.

Отправка чека и отказ от печати чека доступны для ФР Атол, Штрих и Пирит. При подключении 2 ФР запрос об отказе от печати чека выводится всегда, если хотя бы один из ФР поддерживает эту функцию.

При печати чека на ФР Штрих и ФР Пирит на чеке печатается адрес покупателя, на ФР Атол адрес покупателя не печатается.

Отправка чека на адрес покупателя

Начиная с версии 4.6.203 обновлен функционал отправки чека на адрес покупателя.

Активация плагина для отправки чека определяется параметром customerAddress, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini в секции [plugins].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
customerAddressстроковый
  • on
  • off

Отправка чека на адрес покупателя

По умолчанию on
Пример настроек
[plugins]
; Отправка чека на адрес покупателя
; по умолчанию on
customerAddress = on

Настройка плагина отправки чека на адрес покупателя производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini в секции [CustomerAddress].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
inputAddressлогический
  • true
  • false

Ввод адреса покупателя при закрытии чека

По умолчанию false
printCheckстроковый
  • print
  • notprint
  • choice
  • choiceOnAutofill

Печатать ли чек при закрытии:

  • print – чек печатается, отправляется на адрес покупателя,
  • notprint – чек не печатается, отправляется на адрес покупателя,
  • choice – предоставляется выбор печатать или не печатать чек, чек отправляется на адрес покупателя,

    Выбор печатать или не печатать чек предоставляется после добавления адреса покупателя в чек вручную.

  • choiceOnAutofill – предоставляется выбор печатать или не печатать чек, если чек содержит адрес покупателя из карточки клиента. Чек будет отправлен на адрес покупателя.

По умолчанию choice
Пример настройки
[CustomerAddress]
; Настройки плагина отправки чека на адрес покупателя

; Ввод адреса покупателя при закрытии чека
; По умолчанию false
;inputAddress = false

; Печатать ли чек при закрытии
; Возможные значения: print, notprint, choice, choiceOnAutofill
; По умолчанию choice
;printCheck = choice

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

  • по клавише "Добавить адрес покупателя" с командой COMMAND_CUSTOMER_ADDRESS_ADD:

О настройке действий подробнее можно прочитать в разделе "Настройка действий".

  • при добавлении в чек карты покупателя, в карточке клиента которой указана электронная почта,
  • принудительный ввод электронной почты покупателя при закрытии чека, который регулируется параметром inputAddress:
    • при значении true при закрытии чека на экран будет выведен диалог "Введите адрес покупателя",
    • при значении false ввод электронной почты покупателя не требуется. Значение по умолчанию.

Введенный адрес покупателя сохраняется в БД Documents таблицу Document в поле сustomeraddress. Электронная копия документа будет отправлена на указанный адрес.

Отправка чека покупателю средствами Artix

В кассовом ПО Artix реализована возможность отправки ссылки на чек продажи покупателю средствами Artix, настройка отправки осуществляется в конфигурационном файле /linuxcash/cash/conf/ncash.ini/customeraddress.ini в секции [CustomerAddress.SendCheckByArtix].

Возможность отправки чека покупателю средствами Artix определяется параметром sendCheck:

  • при значении notSend ссылка на чек не будет отправлена,
  • при значении sendNotPrinted ссылка на чек будет отправлена, если покупатель отказался от печати чека,
  • при значении sendAll ссылка на чек будет отправлена, даже если покупатель отказался от печати чека.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
sendCheckстроковый
  • notSend
  • sendNotPrinted
  • sendAll
Отправлять ли чек покупателю средствами ArtixПо умолчанию notSend
urlстроковый
Адрес сервисаПо умолчанию http://localhost
timeoutчисловой
Таймаут ожидания ответа от сервиса в секундахПо умолчанию 10
messageстроковый
Сообщение покупателю при отправке чекаПо умолчанию "Вы совершили покупку. Для просмотра чека перейдите по ссылке: %1"
checkReferenceMaskстроковый
Маска ссылки для просмотра чекаПо умолчанию https://yourofd.ru/ticket?t=%(fiscalInfo.fnDate[yyyyMMddThhmm])&s=%(fiscalInfo.sum[.2f])&fn=%(fiscalInfo.fnNumber[s]
phoneMaskстроковый
Маска для получения номера телефона без кода страныПо умолчанию ^[+]?[78]?(?<phone>[0-9]{10})$
settingsKey

Указывается наименование ключа, соответствующее типу СМС шлюза

Ключ настройки СМС шлюза

По умолчанию ""

Если значение не указано, то всегда используется ключ СМС шлюза SMS_RU

gatewaysстроковый
  • TELEGRAM
  • SMS
Cписок шлюзов для отправки чека покупателю

По умолчанию TELEGRAM

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

Пример настройки
[CustomerAddress.SendCheckByArtix]
; Настройки отправки чека покупателю средствами Artix

; Отправлять ли чек покупателю средствами Artix
; По умолчанию notSend
; Возможные значения: notSend, sendNotPrinted, sendAll
;sendCheck = notSend

; Адрес сервиса
; По умолчанию "http://localhost"
;url = "http://localhost"

; Таймаут ожидания ответа от сервиса в секундах
; По умолчанию 10 секунд
;timeout = 10

; Сообщение покупателю при отправке чека
; По умолчанию "Вы совершили покупку. Для просмотра чека перейдите по ссылке: %1"
;message = "Вы совершили покупку. Для просмотра чека перейдите по ссылке: %1"

; Маска ссылки для просмотра чека
; По умолчанию "https://yourofd.ru/ticket?t=%(fiscalInfo.fnDate[yyyyMMddThhmm])&s=%(fiscalInfo.sum[.2f])&fn=%(fiscalInfo.fnNumber[s]
;checkReferenceMask = "https://yourofd.ru/ticket?t=%(fiscalInfo.fnDate[yyyyMMddThhmm])&s=%(fiscalInfo.sum[.2f])&fn=%(fiscalInfo.fnNu

; Маска для получения номера телефона без кода страны
; По умолчанию "^[+]?[78]?(?<phone>[0-9]{10})$"
;phoneMask = "^[+]?[78]?(?<phone>[0-9]{10})$"

; Ключ настройки СМС шлюза
; По умолчанию ""
;settingsKey = ""

; Cписок шлюзов для отправки чека покупателю
; По умолчанию "TELEGRAM"
;gateways = "TELEGRAM

Добавление адреса покупателя в чек продажи по клавише "Добавить адрес покупателя"

В кассовом ПО Artix реализована возможность добавления телефона или электронной почты покупателя в чек продажи.

Для добавления адреса покупателя в чек необходимо на клавишу настроить действие "Добавить адрес покупателя" с командой COMMAND_CUSTOMER_ADDRESS_ADD. О настройке действий подробнее можно прочитать в разделе "Настройка действий". 

Адрес покупателя может быть добавлен в чек продажи в режимах формирования чека, оплаты и сдачи. При вызове команды добавления адреса покупателя выполняется проверка на наличие в чеке карты покупателя и наличие в карточке клиента телефона и электронной почты:

Данные в чекеПоведение на кассе
В чеке нет карты клиентаНа экран будет выведен диалог для ввода адреса покупателя, необходимо ввести телефон или электронную почту.
В чеке есть карта клиента, но данные не заполнены
В чеке есть карта клиента, но заполнен только телефон или электронная почтаНа экран будет выведен диалог для ввода адреса покупателя, телефон или электронная почта автоматически подставляется в поле ввода в диалог, адрес покупателя можно подтвердить или отредактировать.
В чеке есть карта клиента, заполнены телефон и электронная почта

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

Валидация данных

При вводе адреса покупателя данные будут интерпретированы как электронная почта при выполнении следующих условий:

  • присутствует знак "@", 
  • до и после знака "@" есть текст,
  • наличие не менее двух символов после последней точки.

Пробелов в электронной почте не должно быть. Допускаются символы "-", "+", "_", ".".

Если хотя бы одно из условий не выполнено, то на экран будет выведено предупреждение "Неверный формат адреса".

Пример

Введена электронная почта: "user@mailru".

Предупреждение на экране: "Неверный формат адреса".

Если введенный адрес не содержит знак "@", то данные будут интерпретированы как телефон, который будет приведен к стандарту "+7ХХХХХХХХХХ".

Введенные данные форматируются следующим образом:

  • лишние символы (дефисы, пробелы и круглые скобки) обрезаются, 
  • 7 и 8 в начале номера телефона удаляются. 

К полученному 10-значному номеру телефона в начале добавляется "+7".

Если телефон будет иметь менее/более 10 цифр, то на экран будет выведено предупреждение "Неверный формат адреса".

Пример неверного ввода

Введен телефон: "511118".

Предупреждение на экране: "Неверный формат адреса".

Пример правильного ввода

Введен телефон: "8-(913)-123-4567".

Телефон будет записан в базу данных в виде "+79131234567".

Добавление адреса покупателя в чек продажи при добавлении в чек карты покупателя

При добавлении в чек карты покупателя для отправки чека будет использован адрес электронной почты из карточки клиента, если в карточке клиента установлены признаки "отправлять чек на e-mail" и "e-mail подтвержден".

Если в карточке клиента установлены признаки "отправлять чек на e-mail" и "e-mail подтвержден", то выбор печатать или не печатать чек не предоставляется.

Если электронная почта покупателя была введена по команде COMMAND_CUSTOMER_ADDRESS_ADD, а затем была добавлена карта, в которой поле с электронной почтой уже заполнено и установлены признаки "отправлять чек на e-mail", "e-mail подтвержден", то для отправки чека будет использован адрес, введенный по команде.

Если в карточке клиента установлен один из признаков "отправлять чек на e-mail" или "e-mail подтвержден", то для отправки чека на электронную почту покупателя необходим вызов действия с командой COMMAND_CUSTOMER_ADDRESS_ADD.

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

Добавление адреса покупателя в чек продажи при закрытии чека

В кассовом ПО Artix реализована возможность принудительного ввода электронной почты покупателя при закрытии чека. Данная возможность предоставляется, если электронная почта не была введена с помощью команды COMMAND_CUSTOMER_ADDRESS_ADD. Принудительный ввод регулируется параметром inputAddress.

Данные в чекеПоведение на кассе
В чеке нет карты клиента

На экран будет выведен диалог для ввода электронной почты.

В чеке есть карта клиента, но данные не заполнены
В чеке есть карта клиента, заполнена электронная почта

Если в карточке клиента не установлен хотя бы один из признаков "отправлять чек на e-mail" или "e-mail подтвержден", то при закрытии чека на экран будет выведен диалог для ввода электронной почты, электронная почта автоматически подставляется в поле ввода в диалог, электронную почту можно отредактировать. Для отправки чека необходимо подтвердить ввод.

Если в карточке клиента установлены признаки "отправлять чек на e-mail" и "e-mail подтвержден", то отправка чека на электронную почту осуществляется автоматически.

При вводе электронной почты покупателя осуществляется валидация данных.

Печать чека регулируется параметром printCheck.

Печать чека при отправке документа на адрес покупателя (устаревший функционал)

Начиная с версии 4.6.193 при отказе от печати чека продажи чек ЕГАИС печататься не будет.

Начиная с версии 4.6.203 функционал печати чека при отправке документа на адрес покупателя является устаревшим.

После ввода адреса покупателя на экран будет выведен диалог "Покупатель отказался от печати чека?". Для отказа от печати чека необходимо подтвердить операцию, нажав "ОК". При необходимости напечатать чек и отправить электронный чек на адрес покупателя следует нажать "Отмена".

Печать документа может быть настроена дополнительно через параметр alwaysPrint в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Check].

  • При значении true кассовый чек будет напечатан независимо от того, добавлен адрес  покупателя или нет.
  • При значении false для выбора печати чека на экран будет выведен диалог "Покупатель отказался от печати чека?". Для продолжения работы выберите действие.
    • При наличии карты покупателя после закрытия чека на экран будет выведено сообщение "Чек будет отправлен на e-mail покупателя", чек будет отправлен на электронную почту покупателя.

      По умолчанию происходит печать слипа-уведомления об отправке чека на e-mail. Чтобы этого не происходило, необходимо закомментировать отчет /linuxcash/cash/reports/closewithoutprint.xml.

НаименованиеТип данныхВозможные значенияОписаниеПримечания
alwaysPrintлогический
  • true
  • false
Печатать чек даже если добавлен адрес покупателяПо умолчанию false
  • No labels