Печать последнего клиентского чека

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

В качестве State Type используется символ „#“.

Примечание

Сохранение содержимого клиентского чека NDC активируется параметром реестра PrintingLastCustomerReceiptAllowed.

Описание стейта:

Table Entry

Number of characters

Comments

Description

1

1

State Type

«#»

2

3

Screen Number

Номер экрана, отображаемого в процессе печати чека. Если данный параметр имеет нулевое значение, то экран не перерисовывается и продолжает отображаться предыдущий экран

3

3

Good Next State Number

Номер стейта, на который переходит терминал в случае успешной распечатки последнего чека

4

3

Error Next State Number

Номер стейта, на который переходит терминал при ошибке печати чека (принтер не готов к печати, отсутствуют чеки распечатанные из клиентской сессии). Если данный параметр не задан, то результат печати не контролируется, сразу после перехода на стейт печати последнего клиентского чека и отправки данных на печать, осуществляется выход по Good Next State Number, печать идет в фоне, экран, указанный в параметре 2, не отображается

5

3

Reserved

6

3

Reserved

7

3

Reserved

8

3

Reserved

9

3

Reserved

Пример стейта в сценарии:

< 30\1c000\1c000\1c12\1c955#097D01782000000000000000

где

  • 955 — номер стейта;

  • # — тип стейта;

  • 097D01782000000000000000 — параметры стейта:

    • 097 — номер экрана, отображаемого в процессе печати чека;

    • D01 — номер стейта, на который переходит терминал в случае успешной распечатки последнего чека;

    • 782 — номер стейта, на который переходит терминал при ошибки печати чека.

Логика работы ПроАТМ при использовании данного расширения:

  1. Есть распечатанный клиентский чек, чековый принтер исправен и успешно печатает чек.

    • Screen Number — задан. Error Next State — задан. Результат — В процессе печати отображается экран «Пожалуйста, подождите». После успешной распечатки чека отображается исходный экран.

    • Screen Number — задан. Error Next State — не задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, обработчик стейта не ждет завершения печати, возврат на исходный экран осуществляется сразу же после входа на стейт и отправки данных на печать(еще в процессе печати доступны иные клавиши).

    • Screen Number — не задан. Error Next State — не задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, обработчик стейта не ждет завершения печати, возврат на исходный экран осуществляется сразу же после входа на стейт и отправки данных на печать(еще в процессе печати доступны иные клавиши).

    • Screen Number — не задан. Error Next State — задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, но обработчик стейта ждет завершения печати(без промаргивания отображается исходный экран, но клавиши в процессе печати недоступны).

    • Все параметры стейта не заданы. Результат — развала ПроАТМ нет, при входе на стейт в RedLabel отображаются записи о некорректных параметрах, «развал»(завершение) сценария и возврат карты с синим экраном.

  2. Нет распечатанного клиентского чека, принтер отсутствует, неисправен или изначально не готов к печати чека.

    • Screen Number — задан. Error Next State — задан. Результат — после входа на стейт без показа экрана осуществляется переход на Error Next State (картинка «Ошибка чекового принтера»).

    • Screen Number — задан. Error Next State — не задан. Результат — после входа на стейт без показа экрана осуществляется переход на Good Next State (возврат на исходный экран).

    • Screen Number — не задан. Error Next State — не задан. Результат — после входа на стейт без показа экрана осуществляется переход на Good Next State(возврат на исходный экран).

    • Screen Number — не задан. Error Next State — задан. Результат — после входа на стейт без показа экрана осуществляется переход на Error Next State (картинка «Ошибка чекового принтера»).

    • Все параметры стейта не заданы. Результат — развала ПроАТМ нет, при входе на стейт в RedLabel отображаются записи о некорректных параметрах, «развал»(завершение) сценария и возврат карты с синим экраном.

  3. Есть распечатанный клиентский чек, принтер готов к печати чека, но в процессе печати возникает ошибка(Control_media не завершается c Success).

    • Screen Number — задан. Error Next State — задан. Результат — после входа на стейт без показа экрана осуществляется переход на Error Next State (картинка «Ошибка чекового принтера»).

    • Screen Number — задан. Error Next State — не задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, обработчик стейта не ждет завершения печати, возврат на исходный экран осуществляется сразу же после входа на стейт и отправки данных на печать(еще в процессе печати доступны иные клавиши).

    • Screen Number — не задан. Error Next State — не задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, обработчик стейта не ждет завершения печати, возврат на исходный экран осуществляется сразу же после входа на стейт и отправки данных на печать(еще в процессе печати доступны иные клавиши).

    • Screen Number — не задан. Error Next State — задан. Результат — экран «Пожалуйста, подождите» в процессе печати не отображается, обработчик стейта не ждет завершения печати (без промаргивания отображается исходный экран, но клавиши в процессе печати недоступны), после возникновения ошибки осуществляется переход на Error Next State(картинка «Ошибка чекового принтера»).

    • Все параметры стейта не заданы. Результат — развала ПроАТМ нет, при входе на стейт в RedLabel отображаются записи о некорректных параметрах, «развал»(завершение) сценария и возврат карты с синим экраном.

    Примечание

    При использовании расширения предлагается отказаться от печати второго чека, а все необходимые данные поместить в первый (приходит с хоста) путем включения специальных макроопределений (см. шаблон ndc_deposit_success_additional_receipt.txt, работает начиная с версии 26758).