:: Visual Foxpro, Foxpro for DOS
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Alsim
...
Я не с кассами работаю, а создаю для ККТ ШТРИХ-ON-LINE файл чеки, которая программа Штрихопечать подхватывает, отправляет на печать, OFD и так далее.
...

Любопытная идея кстати, эти файлы в JSON ?
Можно и самому такое сделать, например торгуют там где нет ККМ, но отправляются файлы туда где она есть.
Софтинка их мониторит и печатает чеки.


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
PavlikPavlikovich
Столкнулся с проблемой. При запуске программы на windows 7 возникает ошибка при отправке send()
"Ошибка поддержки безопасных каналов."
Налетал на подобное на наших семёрках, когда возился с AQSI.
Насколько помню, решил через реестр
olegon.ru
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
PavlikPavlikovich
...
WinHttp.Eval('WinHttp.Option(9)=0') && тут выдаёт ошибку. Синтаксис не верный что-ли? Я переделывал от 1С.


Покажите строку в 1С - возможно там нужен строковый "0"


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Любопытная идея кстати, эти файлы в JSON ?
Обычный txt с разделителями.
Цитата:
head;0;0;;0;;;0;0;1;0;*********;3;****@yandex.ru;****ева В.В.;
str;Вода "Тассай" газированная 0,25л;1;200.00;4;0;0;200.00;4870071002830;4;1;;0104870071002830215,*****UasJv93Tfgv;0;
str;Вода "Тассай" негазированная;1;200.00;4;0;0;200.00;4870071002878;4;1;;0104870071002878215/JXr*****LrJ93V7oD;0;
end;0;0.00;400.00;0;0;1;1;
ps ИНН и т.п. зазведил, чтобы не светить
***
Минус всего этого в таксебешной поддержке. Долго переходили на отсылку в ЧЗнак, спецы поувольнялись.
Ну и надеялся, что Штрих это на своём уровне внедрит разрешительный, увы... Так понятно, что на их уровне не реально.
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Можно и самому такое сделать, например торгуют там где нет ККМ, но отправляются файлы туда где она есть.
Софтинка их мониторит и печатает чеки.
У нас почти так и сделано. Торгуют на бортах самолётов где нет интернета через эквайринговые терминалы.
Сдают инфу нам на склад, где уже чеки и печатают.
Осталось допилить импорт продаж товара из облака AQSI в возвратные накладные, но это "на сладкое". Много хотелок у начальников.
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
PavlikPavlikovich
Подскажите!
А если код не прошёл проверку. Товар не продаём. Убираем из чека.
А если нет интернета? То просто не передаём эти теги в чек? Или нужно что-то другое передавать?
...

Тут пишут, если я правильно понял, что мы сами в своем ПО должны принимать решение о запрете.

markirovka.ru

Цитата:
.. Разрешительный режим использует другой механизм (ППР 1944 от 21.11.23)
— верхнеуровневое кассовое ПО (не касса) отправляет запрос на проверку напрямую в систему маркировки «Честный знак»,
получает ответ и его интерпретирует: запрещает продажу при наличии случаев запрета.
..


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Alsim

У нас почти так и сделано. Торгуют на бортах самолётов где нет интернета через эквайринговые терминалы.
Сдают инфу нам на склад, где уже чеки и печатают.
Осталось допилить импорт продаж товара из облака AQSI в возвратные накладные, но это "на сладкое". Много хотелок у начальников.


Александр, а то что продали в самолете как фиксируется, у них планшеты (нуоты) ?
и почему возвратные накладные не могу понять ... ))


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Это используется ?

aqsi.ru


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
а то что продали в самолете как фиксируется, у них планшеты (нуоты) ?
Терминалы от Сбера на Андроиде. Вся инфа сбрасывается в облако.
***
Возвратные, потому что в филиалах на складах принимают товар, делают расходные накладные и отправляют с товаром, терминалами на борт.
БортПроводники торгуют, отбивают фискальные чеки, ставят пометки в бумажной накладной какая бригада (туда и обратно же летят) сколько и как (нал-безнал) продали.
Возвращаются на землю, сдают товар, накладные, наличку на склад.
Кладовщики оформляют возврат-продажи, отбивают чеки. Вот именно в этот момент инфа уходит в ОФД и ЧЗ.
***
Осталось мне дорисовать интерфейс, вставить в хвост кодмарке полученный результат и потренироваться на самой смелой кладовщице )))
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Это используется ?
aqsi.ru
Да! Хорошая, кстати поддержка. У нас терминалов около сотни. Конечно дохнут, как без этого. Глючат бывает.
Но плюс - оперативно через облако обновляется список кассиров, товары. Снимаются итоги.
Минус, что нет накладной в самом терминале. Делали так с другой фирмой, не взлетело.
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Правда тут очень грубое допущение, что 91, 92 или 93 не могут быть еще где-то, например в криптохвосте ..
попробовал на платках, с твоей обработкой вернул код ошибки 5.
без обработки возвращает 8.
Возьму на карандаш, платки к разрешительному пока не относятся, буду так их отправлять.
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Alsim
Равиль
Правда тут очень грубое допущение, что 91, 92 или 93 не могут быть еще где-то, например в криптохвосте ..
попробовал на платках, с твоей обработкой вернул код ошибки 5.
без обработки возвращает 8.
Возьму на карандаш, платки к разрешительному пока не относятся, буду так их отправлять.

Да, у меня тоже ответ 5, но ругается на криптохвост :
{"code":0,"description":"ok","codes":[{"cis":"0104627166390613215*bjWDK/2oI\u001D91EE10\u001D92+Ska7uGa2UI/CsM2TnMTZXNi5CRbIJ6RjmqG","valid":true,"printView":"0104627166390613215*bjWDK/2oI","gtin":"04627166390613","groupIds":[1],"verified":false,"message":"Code is invalid (cryptoEnd missing or incorrect)","found":true,"realizable":true,"utilised":true,"isBlocked":false,"isOwner":false,"errorCode":5,"isTracking":true,"sold":false,"packageType":"UNIT","producerInn":"6658291670","grayZone":false}],"reqId":"cfb53dcd-6679-4a02-8a99-e7f7e2d77e09","reqTimestamp":1731562024338}


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Александр! тебе тоже спасибо за наводку про m.in93
Прогнал таблицу что наши "напикали" и частично отправили, искал два 93 в коде.
Вот какой вариант к примеру попался:
0104601501261080215'jUYJY9393e8
логично его так подготовить для чека и он прокатывает
0104601501261080215'jUYJY9393e8
у меня же по m.in93 = Rat("93",m.MatrixCode) получается так ;) и конечно не идёт.
0104601501261080215'jUYJY9393e8
и таких вариантов 93 в хвосте с десяток за полгода.
Пока задвину, в "книжечку" себе заметку сделал, чтобы умно обрабатывать такие марки
***
картинку кодов делаю в генераторе и проверяю в смартфоне программой ЧЗнак
ecoprint.spb.ru
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
PavlikPavlikovich
Автор

Сообщений: 190
Дата регистрации: 21.07.2010
Равиль
PavlikPavlikovich
...
WinHttp.Eval('WinHttp.Option(9)=0') && тут выдаёт ошибку. Синтаксис не верный что-ли? Я переделывал от 1С.


Покажите строку в 1С - возможно там нужен строковый "0"

разные варианты находил. Вот например.
Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Скрипт.AddObject("WinHttp", Скрипт);
Скрипт.Eval("WinHttp.Option(9)=512") && смысл один и тот же. На этой строке ошибка.



Исправлено 1 раз(а). Последнее : PavlikPavlikovich, 14.11.24 17:41
Ratings: 0 negative/0 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Alsim
Равиль
Александр! тебе тоже спасибо за наводку про m.in93
Прогнал таблицу что наши "напикали" и частично отправили, искал два 93 в коде.
Вот какой вариант к примеру попался:
0104601501261080215'jUYJY9393e8
логично его так подготовить для чека и он прокатывает
0104601501261080215'jUYJY9393e8
у меня же по m.in93 = Rat("93",m.MatrixCode) получается так ;) и конечно не идёт.
0104601501261080215'jUYJY9393e8
и таких вариантов 93 в хвосте с десяток за полгода.
Пока задвину, в "книжечку" себе заметку сделал, чтобы умно обрабатывать такие марки
***
картинку кодов делаю в генераторе и проверяю в смартфоне программой ЧЗнак
ecoprint.spb.ru

Мда ... замена в лоб не прокатывает ... похоже придется учитывать положение разделителя в каждой товарной группе,
или как писали выше - настраивать сканеры, чтобы передавали строку с разделителями chr(29) - но за этим тоже не уследишь, если клиенты удаленные.


------------------
Тяжело согнать курсором муху с монитора ...
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Мда ... замена в лоб не прокатывает ... похоже придется учитывать положение разделителя в каждой товарной группе,
Допилил перекодировщик, вставляющий GS коды для файл-чеков.
Проверку через генератор проходят и с двумя 93 и платки с 91 кодом
для запроса в разрешительный обработать полученное
m.lcMark_CHZ = Strtran(m.lcMark_KKM, Chr(29), [\u001d])
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Alsim
..
Допилил перекодировщик, вставляющий GS коды для файл-чеков.
Проверку через генератор проходят и с двумя 93 и платки с 91 кодом
для запроса в разрешительный обработать полученное
m.lcMark_CHZ = Strtran(m.lcMark_KKM, Chr(29), [\u001d])

Компактный код получился, не то что у меня !

Но к сожалению могут встречаться и 91 и 92 несколько раз (не только 2 раза) в марке.
Вот я и пробую учесть такое, проверял и на своих сапогах и на твоих платках ))
Погонять бы еще на других марках, а то у меня только обувь и шины.



------------------
Тяжело согнать курсором муху с монитора ...




Исправлено 2 раз(а). Последнее : Равиль, 15.11.24 11:00
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
Alsim

Сообщений: 3682
Откуда: Екатеринбург
Дата регистрации: 17.11.2004
Равиль
Компактный код получился, не то что у меня !
У меня товар проще: вода, пиво, молочка, газировка. Остальное допиливать буду по мере поступления проблем.
***
Запрос площадок сделал так.
Один раз вызываю при первом открытии возврата, и беру адрес площадки из свойства cdn_host.Host
при следующем проверяю, не меньше ли время отклика среднего по площадками и если меньше, снова делаю запрос.
ps может кому пригодится или покритиковать захочется )))
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
ssa

Сообщений: 13085
Откуда: Москва
Дата регистрации: 23.03.2005
Alsim
If http.Status <> 200
=Messagebox(Str(http.Status),64,"Ошибка запроса")
Strtofile(http.ResponseText,"ChZn\cdn_err.json")
Else
Strtofile(http.ResponseText,"ChZn\cdn_serv.json")
Endif
[/spoiler]
ps может кому пригодится или покритиковать захочется )))
Агась!
If http.Status <> 200
Messagebox(Str(http.Status),64,"Ошибка запроса")
Endif
Strtofile(http.ResponseText,"ChZn\cdn_"+iif(http.Status <> 200, "err", "serv")+".json")


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Разрешительный режим Честного знака
Равиль

Сообщений: 6692
Откуда: Уфа
Дата регистрации: 01.08.2003
Евгений Банщиков
...
В марке нужно экранировать символы '\' '"' '/' . Так же обязательно передавать символ разделитель GS (ASC 29) и он так же должен быть экранирован.
m.cRight=Strtran(m.cRight,'\','\u005C')
m.cRight=Strtran(m.cRight,'"','\u0022')
m.cRight=Strtran(m.cRight,'/','\u002F')
m.cRight=Strtran(m.cRight,Chr(29),'\u001d')
...

Можете поздравить - я нарвался на кавычку
lcMark = [0104660124159259215"wMg6v:qTLB19180BF92NiNDfiBJyauqlQ8ziTm/rzF/xw0bzBGqEnbbWbVZt0L0rxdU+vLJhi1x1JoUiNQg5Fljd/jFu90G/ojfZN7Vcw==]

и получил :
{"code":400,"description":"400 BAD_REQUEST \"Failed to read HTTP message\"","codes":[]}

потом экранировал ее
lcMark = Strtran(m.lcMark,'"','\u0022') && 15.11.2024 14:32

и получил :
{"code":0,"description":"ok","codes":[{"cis":"0104660124159259215\"wMg6v:qTLB1\u001D9180BF\u001D92NiNDfiBJyauqlQ8ziTm/rzF/xw0bzBGqEnbbWbVZt0L0rxdU+vLJhi1x1JoUiNQg5Fljd/jFu90G/ojfZN7Vcw==","valid":true,"printView":"0104660124159259215\"wMg6v:qTLB1","gtin":"04660124159259","groupIds":[2],"verified":true,"found":true,"realizable":true,"utilised":true,"isBlocked":false,"isOwner":true,"errorCode":0,"isTracking":true,"sold":false,"packageType":"UNIT","producerInn":"7810610504","grayZone":false}],"reqId":"16261ee2-6739-4f5b-9176-3bacf5290361","reqTimestamp":1731664788385}

вот сижу и думаю ... вроде : "valid":true
но смущает что в коде теперь слеш отображается - или так и должно быть ?


------------------
Тяжело согнать курсором муху с монитора ...




Исправлено 2 раз(а). Последнее : Равиль, 15.11.24 13:02
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 18 (Гостей: 18)

© 2000-2025 Fox Club 
Яндекс.Метрика