Согласно требованиям законодательства в кассовом чеке должен быть указан телефон или электронная почта покупателя для тех случаев, когда кассовый чек передается в электронной форме. Отправку чеков на адрес покупателя осуществляет ОФД.
Отправка чека и отказ от печати чека доступны для ФР Атол, Штрих и Пирит. При подключении 2 ФР запрос об отказе от печати чека выводится всегда, если хотя бы один из ФР поддерживает эту функцию.
При печати чека на ФР Штрих и ФР Пирит на чеке печатается адрес покупателя, на ФР Атол адрес покупателя не печатается.
Отправка чека на адрес покупателя
Начиная с версии 4.6.203 обновлен функционал отправки чека на адрес покупателя.
Активация плагина для отправки чека определяется параметром customerAddress
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
customerAddress | строковый |
| Отправка чека на адрес покупателя | По умолчанию on |
[plugins] ; Отправка чека на адрес покупателя ; по умолчанию on customerAddress = on
Настройка плагина отправки чека на адрес покупателя производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/customeraddress.ini
в секции [CustomerAddress]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
inputAddress | логический |
| Ввод адреса покупателя при закрытии чека | По умолчанию false |
printCheck | строковый |
| Печатать ли чек при закрытии:
| По умолчанию 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 | строковый |
| Отправлять ли чек покупателю средствами 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 | Указывается наименование ключа, соответствующее типу СМС шлюза | Ключ настройки СМС шлюза | По умолчанию Если значение не указано, то всегда используется ключ СМС шлюза | |
gateways | строковый |
| Cписок шлюзов для отправки чека покупателю | По умолчанию Ссылка на чек отправляется пользователю через тот шлюз, который указан в настройках. В настройках может быть указано несколько шлюзов через запятую, приоритетным является тот, который в списке указан самым первым. Если какой-то из шлюзов недоступен, то для отправки ссылки на чек будет выбран другой из списка. Если все указанные шлюзы недоступны, то ссылка на чек пользователю отправлена не будет. |
[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
.