[ОТВЕТИТЬ]
Опции темы
26.05.2016 13:30  
SouthRegion
Привет Всем!

На стр.89 документации к УТМ версии 1.12 читаю описание данных квитанции, возвращаемой в кассу из УТМ при пробитии чека:

Цитата:
Пояснения полей:
Sign – отпечаток электронной подписи. Длина 128 символов.
Url – адрес страницы просмотра чека в сети интернет.
Ver – версия формата квитанции.
тут же приводится пример такой квитанции:

Цитата:
Пример xml-файла квитанции:

<?xml version="1.0" encoding="UTF-8"?>
<A>
<url>https://check.egais.ru?id=a9e56cb9-21d6-4404-9f24-668020fadf6a&dt=0910141104&cn=Magazin2014</url>
<sign>418E6A105B60250CEB20F9F9A556FA4A9575B0C07EC536DE89CA868C884E296E56BA7EC776
2C9BEC285CB4D8CD90EEE9F9FC16F92CCF324829E70862F0DFEC1B418E6A105B60250CEB20F9F9A5
56FA4A9575B0C07EC536DE89CA868C884E296E56BA7EC7762C9BEC285CB4D8CD90EEE9F9FC16F92C
CF324829E70862F0DFEC1B</sign>
<ver>1</ver>
</A>
Но если посмотреть на количество знаков от первого символа тега sign и до </sign>, то явно тут не 128, а больше...
Что является верным в данном "руководстве"?

И тогда сколько символов мы обязаны выводить на слипе к чеку - только первые 128 или все-таки весь sign?
 
26.05.2016 13:36  
student
Цитата:
Сообщение от SouthRegion
то явно тут не 128, а больше...
да там 256 - т.е. 2 знака это один HEX :) итого 128 hex-ов
 
26.05.2016 13:48  
декларант
в xsd схеме на стр.94 описания УТМ 1.013 <xs:maxLength value="256"/>
 
26.05.2016 14:01  
SouthRegion
Но в чеке мы ведь должны выводить не в UTF-8, а в Ascii или OEM?
 
07.06.2016 06:08  
Droid
Да, тоже вот голову ломаю... Это довольно типичная ситуация для данного "руководства" - вроде технический документ, но чтобы разобраться приходится продираться сквозь противоречия, не полную информацию, отвратительные примеры и прочую ерунду.

В документации есть еще пример чека - там точно видно, что выводится 4 строки по 16 групп из двух шестнадцатеричных цифр, т.е. 4*16*2=128 символов (хотя, если уж быть точным, там выводится еще 60 пробелов ).
Я думаю, что скорее всего в чеке печатаются 128 символов из 256, которые возвращает система. По какому принципу их выбирать - в документе не указано. Поэтому, сейчас выбрал наиболее "тупой" вариант - печатать первые 128 символов. Потом, при необходимости, можно переделать. В случае возникновения проблем всегда можно сослаться на утвержденный формат документа, раз указаний нет, значит способ выбора символов из последовательности тоже, теоретически, может быть любая. Хоть случайная перестановка . Хотя вообще говоря, это гадство - выпустить столько версий одного документа и не убрать все недоработки, неопределенности и не понятные места.

Идея перевести пары цифр из 256-байтной подписи в 128 символов ASCII конечно красивая, но не реализуемая. Например, возникает вопрос, как отобразить символ с кодом 127 (7F) или возврат каретки
И в данном случае нет разницы, в какой кодировке печатать - цифры и латинские буквы будут выглядеть совершенно одинаково, что в UTF-8, что в ASCII, что в OEM (не считая экзотических вариантов).
 
07.06.2016 13:36  
SaSMuS
Я что-то так целиком подпись и печатаю... даже не посмотрел на количество символов, уже привык, что пишут одно, а по факту другое %)
 
 
Опции темы



Часовой пояс GMT +3, время: 00:18.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.