17.09.2019
Для тестирования ККТ (при использовании МГМ-ФН-1) в случае невозможности получения регномера можно воспользоваться алгоритмом расчета, приведенным в описании ФФД
Регистрационный номер ККТ состоит из 16 цифровых символов (10 + 6 символов), пример XXXXXXXXXXYYYYYY
где X это строка, состоящая из 10 цифр (от 0 до 9), отведенных под порядковый номер зарегистрированного ККТ;
где Y это строка, состоящая из 6 цифр (от 0 до 9), отведенных под контрольное число для проверки регистрационного номера ККТ.
Алгоритмы:
1. Формирование порядкового номера, зарегистрированного ККТ происходит на стороне ФНС России, дополняется лидирующими нулями до длины строки в 10 символов.
2. Вычисление контрольного числа происходит по алгоритму расчета контрольной суммы CRC16-CCITT, дополняется лидирующими нулями до длины строки в 6 символов.
Параметры CRC16-CCITT
Width = 16 bits
Truncated polynomial = 0x1021
Initial value = 0xFFFF
No XOR is performed on the output CRC
ВХОД
1) порядковый номер зарегистрированного ККТ (дополняется лидирующими нулями до длины в 10 символов, используется ascii-коды в кодировке CP866);
2) ИНН пользователя ККТ (дополняется лидирующими нулями до длины в 12 символов, используется ascii-коды в кодировке CP866);
3) заводской номер ККТ (дополняется лидирующими нулями до длины в 20 символов, используется ascii-коды в кодировке CP866);
ВЫХОД
1) вычисляется значение по алгоритму расчета контрольной суммы CRC16-CCITT
2) значение переводится в десятичную систему счислений
3) дополняется лидирующими нулями до длины строки в 6 символов
Пример:
порядковый номер зарегистрированного ККТ 0000000001
ИНН пользователя ККТ 770123456789
заводской номер ККТ 00000000000123456789
Вычисления:
1) CRC16-CCITT(000000000177012345678900000000000123456789) = 492D (hex)
000000224500780454845600106305214455
2) 492D (hex) = 18733 (dec)
3) 018733
РНМ ККТ равен 0000000001018733
Для расчета контрольной суммы можно использовать любые онлайн-ресуры
Пример:
http://www.tahapaksu.com/crc/
https://www.lammertbies.nl/comm/info/crc-calculation.html
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
Регистрационный номер ККТ состоит из 16 цифровых символов (10 + 6 символов), пример XXXXXXXXXXYYYYYY
где X это строка, состоящая из 10 цифр (от 0 до 9), отведенных под порядковый номер зарегистрированного ККТ;
где Y это строка, состоящая из 6 цифр (от 0 до 9), отведенных под контрольное число для проверки регистрационного номера ККТ.
Алгоритмы:
1. Формирование порядкового номера, зарегистрированного ККТ происходит на стороне ФНС России, дополняется лидирующими нулями до длины строки в 10 символов.
2. Вычисление контрольного числа происходит по алгоритму расчета контрольной суммы CRC16-CCITT, дополняется лидирующими нулями до длины строки в 6 символов.
Параметры CRC16-CCITT
Width = 16 bits
Truncated polynomial = 0x1021
Initial value = 0xFFFF
No XOR is performed on the output CRC
ВХОД
1) порядковый номер зарегистрированного ККТ (дополняется лидирующими нулями до длины в 10 символов, используется ascii-коды в кодировке CP866);
2) ИНН пользователя ККТ (дополняется лидирующими нулями до длины в 12 символов, используется ascii-коды в кодировке CP866);
3) заводской номер ККТ (дополняется лидирующими нулями до длины в 20 символов, используется ascii-коды в кодировке CP866);
ВЫХОД
1) вычисляется значение по алгоритму расчета контрольной суммы CRC16-CCITT
2) значение переводится в десятичную систему счислений
3) дополняется лидирующими нулями до длины строки в 6 символов
Пример:
порядковый номер зарегистрированного ККТ 0000000001
ИНН пользователя ККТ 770123456789
заводской номер ККТ 00000000000123456789
Вычисления:
1) CRC16-CCITT(000000000177012345678900000000000123456789) = 492D (hex)
000000224500780454845600106305214455
2) 492D (hex) = 18733 (dec)
3) 018733
РНМ ККТ равен 0000000001018733
Для расчета контрольной суммы можно использовать любые онлайн-ресуры
Пример:
http://www.tahapaksu.com/crc/
https://www.lammertbies.nl/comm/info/crc-calculation.html
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html