Re: Разрешительный режим Честного знака | |
---|---|
Евгений Банщиков Сообщений: 235 Откуда: Kurgan Дата регистрации: 09.04.2004 |
Токен можно получить двумя способами- через запрос и в лк честного знака .На каждое рабочее место токен один и тот же , если работа идет от одной организации. Для рабочего и тестового контура токены разные. В настоящее время применяется статический токен , с 15 февраля 2024 будет использоваться динамический токен. то есть у токена будет некий срок актуальности , после которого его нужно будет заново перезапрашивать. ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
В ЛК и получал. У нас одна организация, три филиала. Проверка токена curl -X GET "https://markirovka.crpt.ru/api/v4/true-api/cdn/info" -H "Content-Type: application/json" -H "X-API-KEY:0e****d8" выдаёт "Токен не действителен. Необходимо получить новый токен аутентификации" На компе ГлавБуха тоже. Повторял генерацию токена - дают тоже. Делал тест товара - ошибка 7 что на моём рабочем месте, что у ГлавБуха где есть подпись и всё прочее. ** Через запрос не получается вставить подписанное содержимое. Делал с удалением строк переноса и как есть. Через загрузку в переменную из файлы, фокс посылает в баню ))) *** Продолжаю биться ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
PavlikPavlikovich Автор Сообщений: 190 Дата регистрации: 21.07.2010 |
Спасибо! Отличная идея. Сейчас уже сделал выбор сервера перед включением программы. Надо дописать про вычисление времени запроса марки и перезапуска процедуры вычисления сервера. P.S. мне вообще кажется что у меня от силы будет сервера 2. Т.к. время отклика как мне кажется зависит от "удалённости" сервера. А не его загрузки. Но хотя всё только начинается. Может скоро дойдёт до того что сервера будут перегружаться.
Я просто уверен что вы лучше меня соображаете в этом. Но вдруг. У меня была ошибка 7. Пока я не подготовил код маркировки перед отправкой. *Для передачи кода маркировки,его нужно немножно подготовить m.kod_markir=SUBSTR(m.kod_markir,1,31)+CHR(29)+SUBSTR(m.kod_markir,32,6)+CHR(29)+SUBSTR(m.kod_markir,38) && . обязательно передавать символ разделитель GS (ASC 29) Я хочу вести логирование ответов проверки марок. Не знаю зачем. Пусть будет ![]() Хочу писать в таблицу. Подскажите кто знает. Строки ответа главные "reqId" и "reqTimestamp" (ИД запроса и время запроса) имеют всегда одну длину символов? ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
PavlikPavlikovich Автор Сообщений: 190 Дата регистрации: 21.07.2010 |
У вас немного неправильно выдираются данные. Ну или не так как я хочу. У символьных значений выдирается с кавычками. Я у себя переделал, что бы их не было. Покажу на примере одной строки
Соответственно это только у символьных данных. Числовые и логические у вас сделаны верно. Исправлено 1 раз(а). Последнее : PavlikPavlikovich, 11.11.24 19:04 ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
Этот вариант обработки кода у меня используется для вставки кодмарки в файл-чек. Только в Вашем варианте не учитывается, что 93 может располагаться не только на 31 позиции. На других товарах как на пиве, газировке, молочке и воде она может быть и на 24 и 38 позиции. А может, как у нас на платках совсем не быть.
У меня запрос в ЧЗ с GS возвращает 400 {"code":400,"description":"400 BAD_REQUEST \"Failed to read HTTP message\"","codes":[]} потому режу до 93 кода. Пока буду делать так, пока не разберусь с ошибкой 7 ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
Тоже буду писать логи, только скорее всего буду просто вставлять тело ответа json как есть, лишь бы влезло ну на крайняк мемо поле сделаю. ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
Всем привет ! Спасибо за тему первопроходцам !
![]() У меня пока общие вопросы : 1) Эта проверка универсальная, и в итоге заменит проверку КМ в самой кассе ? 2) Это будет работать без сертификатов и всяких там крипто на компе с кассой ? ------------------ Тяжело согнать курсором муху с монитора ... ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Евгений Банщиков Сообщений: 235 Откуда: Kurgan Дата регистрации: 09.04.2004 |
Если вы через curl работаете , то такая ошибка возникает , если не задвоили кавычки в json строке с данными марки Выше я приводил пример ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
Думаю не нужно резать марку. Понял так, что CHR(29) нужны в строке марки только для проверки средствами ККМ (например перед beginMarkingCodeValidation()), а для проверки в ЧЗ их нужно заменять (экранировать) символами \u001d то есть можно говорить как бы о трех состояниях марки :
------------------ Тяжело согнать курсором муху с монитора ... ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
я через "WinHttp.WinHttpRequest.5.1" работаю.
У меня случай не совсем Ваш. Я не с кассами работаю, а создаю для ККТ ШТРИХ-ON-LINE файл чеки, которая программа Штрихопечать подхватывает, отправляет на печать, OFD и так далее. Потому и формат кода отличается. ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
Left(m.lcMark, 31) этот вариант в своё время меня спас! Спасибо, Равиль! Только работало на мороженом, а на воде или пиве налетел и сделал как выше, с поиском 93 справа. *** [\u001d] - не жрёт ЧЗ такое! ;) Только обрезанное до 93 кода. А ошибка 7 из-за непоняток с токеном думаю. *** Сегодня утром снова сделал через запрос curl -X POST "https://markirovka.crpt.ru/api/v4/true-api/auth/permissive-access" -d "{""data"":""MIINww**** ответ тот же. {"error_message":"Токен не действителен. Необходимо получить новый токен аутентификации"} Текст получал подписывая произвольный текст "1" директором ну и так далее с убиранием переносов. Видимо у нас в кабинете что-то не добавлено, пока отложил, пишу рабочий вариант для тестов. А с утра ищу по форумам, пока башка не опухнет. ![]() ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
по п. 1) - увы, пишут что надо делать обе проверки ... хотя надо бы проверить ------------------ Тяжело согнать курсором муху с монитора ... ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Евгений Банщиков Сообщений: 235 Откуда: Kurgan Дата регистрации: 09.04.2004 |
Возможно в будущем полностью заменит , но сейчас обе проверки пока что необходимы На данный момент на кассе ничего , кроме строки с токеном не нужно. С марта 2025 все будет сложнее Цитата:Либо на кассе , либо где на выделом компьютере нужно будет запускать периодически ПО (раз в несколько часов) , которое будет генерить токен и передавать его далее модулю проверки . Там уже нужно наличие флешки с ЭЦП и крипто ПО. Исправлено 1 раз(а). Последнее : Евгений Банщиков, 12.11.24 11:03 ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
ЗАРАБОТАЛО БЛИН! ![]() ![]() Снова выручил! ![]() фуф... ps только m.lcMark_KKM = Left(m.lcMark, 31) + Chr(29) ****** доработал, вычисляю позицию 93 справа проверил на чем-то у него не 31 а 26 позиция, налетал в своё время
Исправлено 1 раз(а). Последнее : Alsim, 12.11.24 14:44 ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
Александр! тебе тоже спасибо за наводку про m.in93 ![]() ------------------ Тяжело согнать курсором муху с монитора ... ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
PavlikPavlikovich Автор Сообщений: 190 Дата регистрации: 21.07.2010 |
Подскажите!
А если код не прошёл проверку. Товар не продаём. Убираем из чека. А если нет интернета? То просто не передаём эти теги в чек? Или нужно что-то другое передавать? Вот нашёл по штриху. На другом языке. FR.TagNumber=1262; //«идентификатор ФОИВ» FR.TagType=7; //строка FR.TagValueStr="030"; //Министерство промышленности и торговли Российской Федерации FR.FNSendTagOperation(); FR.TagNumber=1263; //«дата документа основания» FR.TagType=7; //строка FR.TagValueStr="21.11.2023"; FR.FNSendTagOperation(); FR.TagNumber=1264; //«номер документа основания» FR.TagType=7; //строка FR.TagValueStr="1944"; FR.FNSendTagOperation(); FR.TagNumber=1265; //«значение отраслевого реквизита FR.TagType=7; //строка FR.TagValueStr="UUID=2ce10bdb-6510-4d37-be04-dd473b98c728&Time=1692691702065" FR.FNSendTagOperation(); ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
Да, у меня тоже получилось с криптохвостом !
При этом у многих товарных групп разделителями являются не 93, а 92, 91
------------------ Тяжело согнать курсором муху с монитора ... Исправлено 1 раз(а). Последнее : Равиль, 14.11.24 06:52 ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Равиль Сообщений: 6692 Откуда: Уфа Дата регистрации: 01.08.2003 |
Правда тут очень грубое допущение, что 91, 92 или 93 не могут быть еще где-то, например в криптохвосте ..
------------------ Тяжело согнать курсором муху с монитора ... ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
Alsim Сообщений: 3682 Откуда: Екатеринбург Дата регистрации: 17.11.2004 |
Отлично! Надо будет попробовать на наших платках. Один продали позавчера, прошёл как [М-]. ![]() |
Re: Разрешительный режим Честного знака | |
---|---|
PavlikPavlikovich Автор Сообщений: 190 Дата регистрации: 21.07.2010 |
Всем доброе утро!
Столкнулся с проблемой. При запуске программы на windows 7 возникает ошибка при отправке send() "Ошибка поддержки безопасных каналов." Нашёл совет отключить проверку SSL на уровне winhttp
![]() |
© 2000-2025 Fox Club  |