Расширенные NDC-стейты общего назначения¶
Включение поддержки расширенных NDC-стейтов общего назначения¶
Установите в реестре значения следующих параметров:
[HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\STATE_MAP\STATE_FUNCS] "STATE_TYPE_44" = "VISTA_HTML_EXIT" [HKEY_LOCAL_MACHINE\SOFTWARE\FS365\NDC\STATE_MAP\STATE_TYPES] "DOWNLOAD_STATE_44" = "f"
Загрузите конфигурацию УС, содержащую расширенный набор NDC-стейтов общего назначения.
f-008 (шаг ввода форматированных данных)¶
Данный стейт может вызываться для ввода форматированных данных и помещения их в произвольный буфер сообщения.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Screen Number |
Номер экрана, показываемого при вводе информации |
3 |
3 |
TimeOut Next State Number |
Номер стейта, на который переходит терминал после истечения таймаута ввода данных |
4 |
3 |
Cancel Next State Number |
Номер стейта, на который переходит терминал после нажатия кнопки CANCEL |
5 |
3 |
Document Amount Buffer |
Буфер для сохранения введенной информации: 000 – Amount Buffer, 001 – Buffer B, 002 – Buffer C |
6 |
3 |
Amount Display Screen |
Номер экрана, содержащего шаблон ввода информации |
7 |
3 |
Extension State Number 1 |
Номер стейта, содержащего дополнительные параметры контроля. Если значение равно 000 или 255, то дополнительные параметры контроля не используются |
8 |
3 |
Extension State Number 2 |
Номер стейта, содержащего соответствующие нажатым FDK клавишам номера стейтов |
9 |
3 |
Exit State Subtype 008 |
Вместе с п. 1 определяет назначение данного стейта |
Если значение параметра Extension State Number 1 не равно 000 или 255, то список активных клавиш и номер показываемого экрана могут быть скорректированы в зависимости от разных условий, в противном случае, список активных кнопок задается в стейте Extension State Number 2.
Примечание
Расширенный стейт №3 для стейта f-008 в ПроАТМ не поддерживается.
f-008. Расширенный стейт №1¶
Данный стейт содержит дополнительную информацию для стейта f-008.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» — может быть изменен на другое значение в конфигурации банкомата |
2 |
3 |
Extension State Number3 |
Номер стейта, содержащего дополнительные параметры контроля доступных номиналов диспенсера. Если значение равно 000 или 255, то дополнительные параметры контроля не используются |
3 |
3 |
Reserved |
|
4 |
3 |
Reserved |
|
5 |
3 |
Reserved |
|
6 |
3 |
Reserved |
|
7 |
3 |
Reserved |
|
8 |
3 |
Reserved |
|
9 |
3 |
Reserved |
Если значение параметра Extension State Number 3 не равно 000 или 255, то список активных клавиш и номер показываемого экрана могут быть скорректированы в зависимости от доступности кассет диспенсера для выдачи наличных, в противном случае, список активных кнопок задается в стейте Extension State Number 2 и используется экран Screen Number из основных настроек стейта.
f-008. Расширенный стейт №2¶
Данный стейт содержит дополнительную информацию для стейта f-008.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
FDK A Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK A (0 или 255 – клавиша не активна) |
3 |
3 |
FDK B Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK B (0 или 255 – клавиша не активна) |
4 |
3 |
FDK C Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK C (0 или 255 – клавиша не активна) |
5 |
3 |
FDK D Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK D (0 или 255 – клавиша не активна) |
6 |
3 |
FDK F Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK F (0 или 255 – клавиша не активна) |
7 |
3 |
FDK G Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK G (0 или 255 – клавиша не активна) |
8 |
3 |
FDK H Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK H (0 или 255 – клавиша не активна) |
9 |
3 |
FDK I Next State |
Номер стейта, на который переходит терминал в случае нажатия FDK I (0 или 255 – клавиша не активна) |
f-015 (шаг отображения html-страниц)¶
Данный стейт должен вызываться для показа html-страниц и обработки результатов этого показа в рамках выполнения NDC-сценария.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Screen Number |
Номер экрана, содержащего команду (ESC XE) для показа html-страницы |
3 |
3 |
Timeout/Error Next State |
Номер стейта, на который переходит терминал в случае, если пользователь не ввел данные за отведенное время или произошла ошибка |
4 |
3 |
Cancel Next State |
Номер стейта, на который переходит терминал в случае, если пользователь отказался от операции |
5 |
3 |
Good Next State |
Номер стейта, на который переходит терминал в случае успешного показа html-страницы. Html-страница может сама задать номер следующего стейта, сохранив его в соответствующий буфер. В этом случае, данный параметр будет проигнорирован |
6 |
3 |
Data Position Mask 1 |
Битовая маска, определяющая буфера транзакции, которые могут быть изменены в этом стейте: Bit Buffer, 1 Amount Buffer, 2 Buffer B, 3 Buffer C, 4 Buffer W, 5 Buffer X, 6 Buffer Y, 7 Buffer Z, 8 OPCODE Buffer |
7 |
3 |
Wait Screen Number |
Номер экрана, показываемого в процессе инициализации html-страницы |
8 |
3 |
Extension State |
Номер расширенного стейта, содержащего дополнительную конфигурацию |
9 |
3 |
Exit State Subtype |
015 Вместе с п. 1 определяет назначение данного стейта |
f-015. Расширенный стейт¶
Данный стейт содержит дополнительные данные для стейта f-015.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
Timeout Value |
Значение таймаута для показа html-страницы: 000 (по умолчанию, 10 мин), 001-900 (в секундах), 901-999 (в минутах минус 900, например, значение 954 = 54 минуты). Если время показа html-страницы превысит данный таймаут, терминал перейдет на Timeout/Error Next State |
3 |
3 |
Save Transaction Data Mask1 |
Битовая маска, определяющая буфера транзакции, которые должны быть сохранены в качестве входных параметров для html-страницы: Bit Buffer, 1 Track1/2/3, 2 PAN & ExpDate, 3 FDK Buffer, 4 OPCODE Buffer, 5 Amount Buffer, 6 Buffer A 7 Buffer B 8 Buffer C |
4 |
3 |
Save Transaction Data Mask2 |
Битовая маска, определяющая буфера транзакции, которые должны быть сохранены в качестве входных параметров для html-страницы: Bit Buffer, 1 Buffer w (BNA), 2 Buffer e (Barcode reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 reserved, 8 reserved |
5 |
3 |
Data Position Mask 2 |
Битовая маска, определяющая буфера транзакции, которые могут быть изменены в этом стейте: Bit Buffer, 1 FDK Buffer, 2 Next State Number, 3 Buffer e (Barcode reader), 4 Track1/2/3, 5-8 reserved |
6 |
3 |
Save Response Data Mask |
Битовая маска, определяющая буфера ответа хоста (Transaction Reply), которые должны быть сохранены в качестве входных параметров для html-страницы. Bit Buffer, 1 Print Buffer |
7 |
3 |
Reserved |
|
8 |
3 |
Reserved |
|
9 |
3 |
Reserved |
Формат команды ESC XE, используемой для показа html из стандартного NDC-экрана, аналогичен формату команды ESC PE, только вместо полного имени файла должен быть указан url.
Помимо изменения собственно буферов транзакции, существует возможность изменить FDK buffer (аналогично стейтам X и Y), который затем, стандартным образом может быть проанализирован в стейте W. Для этого в качестве значения буфера должно быть сохранено значение аналогичное коду нажатой FDK-кнопки в стейтах X и Y (в диапазоне ‘A’-‘D’ или ‘F’- ‘I’).
Существует дополнительная возможность принудительно установить номер следующего стейта, в случае успешного завершения работы html-страницы. Для этого в качестве значения Next State Number должен быть сохранен 3-х символьный код следующего стейта. Если в этот буфер будет сохранено значение «255», то номер следующего стейта будет взят из стейта
f-099 (шаг отображения html-страниц DORS)¶
Данный стейт должен вызываться для показа html-страниц и обработки результатов этого показа в рамках выполнения NDC-сценария.
Table Entry |
Number of characters |
Comments |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Screen Number |
Номер экрана, содержащего команду (ESC XE) для показа html-страницы |
3 |
3 |
Load Error State |
Номер стейта, на который переходит терминал в случае, если возникли какие-либо проблемы при загрузке html-страницы |
4 |
3 |
Script Error State |
Номер стейта, на который переходит терминал в случае, если на html-странице возникает необработанное исключение скрипта javascript |
5 |
3 |
Data Read Mask 1 |
Битовая маска, определяющая буферы NDC, которые html-страница будет способна считывать в этом стейте: 1 Track 1, 2 Track 2, 3 Amount, 4 Chip Data, 5 PIN Buffer / Buffer A, 6 Buffer B, 7 Buffer C, 8 OPCODE Buffer (FDK) |
6 |
3 |
Data Read Mask 2 |
Битовая маска, определяющая буферы NDC, которые html-страница будет способна считывать в этом стейте (продолжение): 1 Buffer w (BNA), 2 Buffer e (Barcode Reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 Printer Data Field, 8 Printer Data Field (Journal) |
7 |
3 |
Wait Screen Number |
Номер экрана, показываемого в процессе инициализации html-страницы |
8 |
3 |
Extension State |
Номер расширенного стейта, содержащего дополнительную конфигурацию |
9 |
3 |
Exit State Subtype |
015 Вместе с п. 1 определяет назначение данного стейта |
f-099. Расширенный стейт¶
Данный стейт содержит дополнительные данные для стейта f-099.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
Data Write Mask 1 |
Битовая маска, определяющая буферы NDC, которые html-страница будет способна изменять в этом стейте: 1 Track 1, 2 Track 2, 3 Amount, 4 Chip Data, 5 PIN Buffer / Buffer A, 6 Buffer B, 7 Buffer C, 8 OPCODE Buffer (FDK) |
3 |
3 |
Data Write Mask 2 |
Битовая маска, определяющая буферы NDC, которые html-страница будет способна изменять в этом стейте (продолжение): 1 Buffer w (BNA), 2 Buffer e (Barcode Reader), 3 Buffer W, 4 Buffer X, 5 Buffer Y, 6 Buffer Z, 7 <reserved>, 8 <reserved> |
4 |
3 |
User Exit State 1 |
Переход в пользовательский стейт 1 |
5 |
3 |
User Exit State 2 |
Переход в пользовательский стейт 2 |
6 |
3 |
User Exit State 3 |
Переход в пользовательский стейт 3 |
7 |
3 |
User Exit State 4 |
Переход в пользовательский стейт 4 |
8 |
3 |
Extension State |
Номер стейта-расширения, содержащего дополнительную конфигурацию |
9 |
3 |
Reserved |
f-099. Расширенный стейт¶
Данный стейт содержит дополнительные данные для стейта z-099.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
User Exit State 5 |
Переход в пользовательский стейт 5 |
3 |
3 |
User Exit State 6 |
Переход в пользовательский стейт 6 |
4 |
3 |
User Exit State 7 |
Переход в пользовательский стейт 7 |
5 |
3 |
User Exit State 8 |
Переход в пользовательский стейт 8 |
6 |
3 |
Reserved |
|
7 |
3 |
Reserved |
|
8 |
3 |
Reserved |
|
9 |
3 |
Reserved |
Навигация¶
Для перехода по URL используются обычные ссылки. В случае недоступности URL будет осуществлен переход в стейт, номер которого указан как Load Error State.
Generic Буферы NDC¶
Доступ к generic буферам NDC посредством JavaScript осуществляется через вызов интерфейсных методов window.external.ndc.get_buffer(<аргумент>) и window.external.ndc.put_buffer(<аргумент>). Идентификатор буфера является регистр независимым.
Аргумент |
Буфер NDC |
---|---|
track1 |
Track 1 |
track2 |
Track 2 |
track3 |
Track 3 |
Amount |
Amount buffer |
Chip data |
Chip Data |
Pin |
Pin data /generic A |
B |
generic B |
C |
generic C |
Operation code |
Operation code |
BNA |
BNA |
E |
generic E |
W |
generic W |
X |
generic X |
Y |
generic Y |
Z |
generic Z |
screen_data |
SCREEN_DATA_FIELD |
В случае если операция чтения/записи не допускается для конкретного буфера, то JavaScript сгенерирует исключение.
Буферы Printer Data Field¶
Доступ к буферам Printer Data Field посредством JavaScript осуществляется через вызов метода window.external.ndc.printer_data(<аргумент>). Где в качестве аргумента указывается буфер с данными для журнала либо с данными для чека ( «journal» и «receipt» соответственно ). Так же как и в случае буферов NDC, если операция чтения не допускается для конкретного буфера, то JavaScript сгенерирует исключение.
Переходы к другим стейтам¶
Для перехода к одному из 8 пользовательских выходных стейтов используется URL-команда следующего вида:
<номер пользовательского выхода от 1 до 8>.dorsexit
После чего будет осуществлен перевод стейт-машины NDC в один из 8 описанных стейтов.
f-022 (шаг контроля состояния основных устройств)¶
Данный стейт может вызываться для изменения алгоритма обслуживания (transaction flow) в зависимости от состояния основных устройств терминала.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Next State Extension State Number |
Номер стейта, содержащего перечень номеров стейтов на которые терминал должен перейти в зависимости от состояния основных устройств |
3 |
3 |
Reserved |
|
4 |
3 |
Reserved |
|
5 |
3 |
Reserved |
|
6 |
3 |
Reserved |
|
7 |
3 |
Reserved |
|
8 |
3 |
Reserved |
|
9 |
3 |
Exit State Subtype |
022 Вместе с п. 1 определяет назначение данного стейта |
f-022. Расширенный стейт¶
Данный стейт содержит дополнительные данные для стейта f-022.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
CDM, BNA, PRR Good Next State |
Номер стейта, на который переходит терминал, если диспенсер, купюроприемник и чековый принтер находятся в рабочем состоянии |
3 |
3 |
CDM, BNA Good Next State |
Номер стейта, на который переходит терминал, если диспенсер и купюроприемник находятся в рабочем состоянии |
4 |
3 |
CDM, PRR Good Next State |
Номер стейта, на который переходит терминал, если диспесер и чековый принтер находятся в рабочем состоянии |
5 |
3 |
BNA, PRR Good Next State |
Номер стейта, на который переходит терминал, если купюроприемник и чековый принтер находятся в рабочем состоянии |
6 |
3 |
CDM Good Next State |
Номер стейта, на который переходит терминал, если диспенсер находится в рабочем состоянии |
7 |
3 |
BNA Good Next State |
Номер стейта, на который переходит терминал, если купюроприемник находится в рабочем состоянии |
8 |
3 |
PRR Good Next State |
Номер стейта, на который переходит терминал, если чековый принтер находится в рабочем состоянии |
9 |
3 |
Nothing Good Next State |
Номер стейта, на который переходит терминал, если ни диспенсер, ни купюроприемник ни чековый принтер не находятся в рабочем состоянии |
f-025 (шаг перехода в РОП терминала)¶
Существует возможность перейти в РОП терминала непосредственно из NDC-сценария. Может применяться при использовании Банком карт оператора с авторизацией в процессинговой системе. Данный стейт делает возврат карты (если она присутствует в ридере), устанавливает права оператора и переходит в локальный режим оператора терминала.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Take Card Screen Number |
Номер экрана с приглашением забрать карту. |
3 |
3 |
Card Captured Screen Number |
Номер экрана, который будет показан, если карта захвачена по таймауту или застряла в ридере. |
4 |
3 |
Operator rights Byte 1 ( Reserved ) |
4-й (верхний) байт значения устанавливаемых прав оператора( не используется в ПроАТМ ) |
5 |
3 |
Operator rights Byte 2 ( Reserved ) |
3-й байт значения устанавливаемых прав оператора ( не используется в ПроАТМ ) |
6 |
3 |
Operator rights Byte 3 |
2-й байт значения устанавливаемых прав оператора В ПроАТМ для входа в РОП под ролью «Администратор» используются значения 001-127 |
7 |
3 |
Operator rights Byte 4 |
1-й (нижний) байт значения устанавливаемых прав оператора В ПроАТМ для входа в РОП под ролью «Инкассатор» используются значения 001-007 |
8 |
3 |
Reserved |
|
9 |
3 |
Exit State Subtype |
025 вместе с п. 1 определяет назначение данного стейта |
f-033 (шаг ввода фиксированных сумм)¶
Данный стейт задает фиксированные суммы в зависимости от ранее нажатой FDK-клавиши.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«f» |
2 |
3 |
Next State |
Номер стейта, на который нужно перейти после окончания выполнения стейта |
3 |
3 |
Amount Buffer Mask |
000 – сохранить сумму в Amount Buffer, 001 – сохранить сумму в Buffer B, 002 – сохранить сумму в Buffer C |
4 |
3 |
Extension State Number |
Номер расширенного стейта, содержащего дополнительную информацию по суммам FAST CASH |
5 |
3 |
Reserved |
|
6 |
3 |
Reserved |
|
7 |
3 |
Reserved |
|
8 |
3 |
Reserved |
|
9 |
3 |
Exit State Subtype |
033 вместе с п. 1 определяет назначение данного стейта |
f-033. Расширенный стейт¶
Данный стейт содержит дополнительные данные для стейта f-033.
Table Entry |
Number of characters |
Comment |
Description |
---|---|---|---|
1 |
1 |
State Type |
«Z» |
2 |
3 |
FDK A «Fast Cash» Amount |
Первые 2 цифры определяют мантиссу «быстрой суммы», последняя – экспоненту. Например, значение 253 задает сумму 25000. Значение 000 означает, что модифицировать буфер при данной нажатой кнопке не следует. Чтобы задать сумму 0 нужно установить значение 00X, где X 1..9 |
3 |
3 |
FDK B «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
4 |
3 |
FDK C «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
5 |
3 |
FDK D «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
6 |
3 |
FDK F «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
7 |
3 |
FDK G «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
8 |
3 |
FDK H «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |
9 |
3 |
FDK I «Fast Cash» Amount |
См. FDK A «Fast Cash» Amount |